①AnyConnect パッケージの登録(詳細版)


AnyConnect パッケージ登録の目的

ASA に AnyConnect(Cisco Secure Client)の インストーラ .pkg を置いて

  • ブラウザで https://ASAのIP/ にアクセスしたときに
    → クライアントが自動ダウンロードできる(WebDeploy)
  • AnyConnect クライアントが初回接続したときに
    → 必要なら自動でインストール・アップグレードできる

ようにするのが①のゴールです。

Step 0. 事前チェック

CLIで、次を確認しておきます。

show version          ! ASA/ASDM バージョン
dir disk0:            ! フラッシュの空き容量
  • .pkg は数十〜100MBクラスなので、disk0: の空き容量が足りるか確認
  • ASA/ASDM が古すぎると、新しい Secure Client の pkg を受け付けないことがあるので、
    可能ならバージョンはある程度新しめが望ましいです。

Step 1. 用意するファイル(.pkg)

Cisco からダウンロードした AnyConnect(Cisco Secure Client)の WebDeploy.pkg を準備します。

例(古い名前のまま例示):

  • anyconnect-win-4.x.xxxxx-k9.pkg … Windows 用
  • anyconnect-macos-4.x.xxxxx-k9.pkg … macOS 用
  • anyconnect-linux64-4.x.xxxxx-k9.pkg … Linux 用

※実際は「Cisco Secure Client」表記ですが、ASA上では still “anyconnect image … pkg” というコマンドで扱います。

Step 2. ASA の flash(disk0:)へファイルをアップロード

ASDM(GUI)の場合

  1. ASDM で ASA にログイン
  2. メニュー:Tools > File Management
  3. 左側で disk0: を選択
  4. Upload File from Local PC をクリックし、
    PC 上の anyconnect-win-....pkg を選んでアップロード

アップロード後に、anyconnect-win-4.x.xxxxx-k9.pkgdisk0: に見えていればOK。

CLI(TFTP)の場合

copy tftp://10.0.0.10/anyconnect-win-4.x.xxxxx-k9.pkg disk0:

Step 3. webvpn 配下に AnyConnect のイメージを登録

アップロードした .pkg を「AnyConnect のイメージ」として ASA に認識させます。

conf t
 webvpn
  anyconnect image disk0:/anyconnect-win-4.x.xxxxx-k9.pkg 1
  ! macOS や Linux もあるなら追加で:
  ! anyconnect image disk0:/anyconnect-macos-4.x.xxxxx-k9.pkg 2
  ! anyconnect image disk0:/anyconnect-linux64-4.x.xxxxx-k9.pkg 3

  anyconnect enable   ! AnyConnect 機能を有効化
 exit
write memory

ポイント:

  • anyconnect image disk0:/ファイル名.pkg <番号>
    • <番号> は識別用。1,2,3…でOK(OSごとに違う番号)
  • 複数 OS の pkg を登録しておけば、
    クライアントの OS に応じて 自動的に適切な pkg が配布されます。
  • anyconnect enable を忘れると、WebVPN は動いてもクライアント配布が有効化されません。

Step 4. (任意)AnyConnect クライアントプロファイル(XML)の配布設定

クライアント側の「接続先一覧」や動作を定義した XML プロファイル を配ることもできます。

  1. まず XML を disk0: にアップロード:
copy scp://admin@10.0.0.10/AnyConnectClientProfile.xml disk0:
dir disk0:
  1. webvpn でプロファイルを登録:
conf t
 webvpn
  anyconnect profiles AC_Profile disk0:/AnyConnectClientProfile.xml
 exit
write memory
  • AC_Profile は ASA 上での論理名(好きな名前でOK)
  • XML 内に HostEntry を定義しておくと、
    クライアント側で「接続先として vpn.example.com が最初から登録されている」状態にできます。

入口(トンネルグループ)ごとに別プロファイルを配りたい場合は、
tunnel-group ANYCONNECT webvpn-attributes の中で指定する運用もありです。

tunnel-group ANYCONNECT webvpn-attributes
 anyconnect profiles AC_Profile disk0:/AnyConnectClientProfile.xml

Step 5. 設定確認 & ありがちなエラー

設定確認コマンド

show run webvpn
show webvpn anyconnect
dir disk0:
  • show webvpn anyconnect で登録済み pkg 一覧が表示されればOK。

よくあるハマりどころ

  • クライアント画面に「No AnyConnect image available on the secure gateway」などと出る
    • webvpn 配下に anyconnect image ... が設定されていない
    • もしくは anyconnect enable を忘れている
  • 容量不足で upload エラー
    • dir disk0: を見て不要な古い .pkg やバックアップを delete する
  • 新しい pkg を受け付けない
    • ASA/ASDM がかなり古い → 先に ASA ソフトウェアのアップデートが必要な場合あり

ここまでで①完了

①のゴールは:

  • ASA の disk0: に AnyConnect(Secure Client)の .pkg がある
  • webvpn 配下で anyconnect image ...anyconnect enable が設定されている

この状態になっていれば、
⑥・⑦で outside インターフェース側を有効化したときに、

  • ブラウザで https://外側IP/ にアクセス → AnyConnect ダウンロード
  • 既にクライアントが入っているPC → 接続時に必要なら自動アップデート

という動作ができるようになります。