広まっている話は、AnyConnectが二つ目のゲートウェイを失った、あるいはクライアントが古すぎて二つのプロファイルを保持できない、というものです。どちらも起きていません。起きたのは、クライアントがこれまでに見たすべてのプロファイルを、サーバーが送ってきた名前のファイルとして保存するということで、あなたの二つのゲートウェイはどちらも同じ名前をそのファイルに付けています。ディスク上ではその名前の場所は一つしかないため、二回目のダウンロードが一回目の場所を奪います。

二つのフォルダー、そして自分のものは一つだけ

変化し続けるコピーは、自分のユーザープロファイルの下にある作業コピーで、通常は %LOCALAPPDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\preferences.xml です。このファイルは最後に行った接続と、それに使われたプロファイルを記録します。自分のフォルダーにあるため、クライアントは権限の昇格を求めずに接続のたびにこれを書き換えます。

ドロップダウンに表示される一覧は別のものです。マシンがこれまでに受け取ったすべてのプロファイルは %PROGRAMDATA%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile にコピーされ、クライアントはそこにあるファイルを一覧表示します。このフォルダーへの書き込みには管理者権限が必要で、それが人々が誤解する症状を説明します。通常ユーザーとして手動でプロファイルを追加すると成功したように見え、そのあと項目が消えるのです。

つまり、ユーザーごとのファイルはポインターであり、マシン全体のフォルダーがライブラリです。項目が消えるのはライブラリが変わったという意味で、ポインターが変わったのではありません。

クライアントはファイルを名前で照合し、ゲートウェイでは照合しない

このクライアントでは、プロファイルの同一性はファイル名です。どちらも company.xml を配信する二つのアプライアンスは、ローカルのプロファイルストアから見れば、同じプロファイルが二回公開されたものです。二回目のダウンロードが一回目を上書きし、ウィンドウの項目は、いまは別のサイトを記述している一つのファイルを指したままになります。

だから障害はとても奇妙に見えます。一覧の名前は期待する場所として読め、認証は実際に構成されているゲートウェイに対して成功し続け、何もエラーを報告しません。変わったのは、信頼していたラベルの背後にある内容です。

ラベルではなくHostAddressを読む

ファイルをテキストエディターで開き、サーバー一覧を見てください。プロファイルには HostName 要素があり、これは表示用のラベルです。また HostAddress 要素があり、これはクライアントが実際に接続するゲートウェイです。ラベルは誰でも編集できる自由なテキストで、どこに着地するかを決めるのはアドレスのほうです。

クライアントが壊れていると結論づける前に、その二つを到達したいゲートウェイと比べてください。

両方のゲートウェイを順番に残す

各サイトの受け入れ済みプロファイルを、サイトから、またはすでに接続しているマシンから入手します。二つの名前が異なるように各ファイルの名前を変えます。たとえば site-a.xml と site-b.xml です。管理者として両方をマシン全体のプロファイルフォルダーに置き、受け取った元のファイルは保管します。そのうえでクライアントを再起動し、二つの項目がドロップダウンに表示されることを確認します。

それぞれに接続したあと、preferences.xml を再度開き、最後に使用したものとして記録されているプロファイル名を確認します。名前がクリックした項目と一致していれば、ローカルの対応付けは正しく動作しています。一致していなければ、名前を変えたコピーの上にまだ何かがファイルを押し込んでいます。

名前を変えても直らないこと

新しいファイル名が変えるのはローカルのラベルだけで、それ以外は何も変わりません。ゲートウェイのアドレス、認証方式、サーバーが提示する証明書、プロファイル内のグループ選択はすべてそのままです。間違ったプロファイルのコピーは名前を変えても間違ったプロファイルであり、説得力のある名前の下であなたを間違ったサイトに接続します。

元のファイル名を対象にする管理側のプッシュにも耐えられません。

次のプッシュがそれを打ち消すとき

組織がプロファイルを名前で配布している場合、更新はその名前を共有するすべてのファイルを置き換えます。名前を変えたコピーはローカルの便宜とみなし、クライアントの更新のたびに接続テストをやり直して、ラベルではなくアドレスを確認してください。

恒久的な運用には、手作業でファイルを維持するのではなく、サポートされたマルチゲートウェイ構成を依頼してください。プログラムディレクトリ内の編集はアップグレードが最初に削除するものであり、ユーザーごとの設定ファイルは設計上書き換えられます。

ゲートウェイごとに一行を保ってください。ファイル名、HostAddress、そしてどのフォルダーにあるかです。そのメモは、次に間違ったサイトの報告が来たときに再インストールより速く答えを出します。

関連記事