ここは 「どのインターフェースで AnyConnect(WebVPN)を受け付けるか」 を有効化するステップです。
外から見た「VPNの入り口」を ASA のどの口(outside など)にするか決めます。
Contents
1. 基本イメージ
- ①で:
webvpn配下に AnyConnect の .pkg を登録 - ④⑤で:トンネルグループ、グループポリシーを作成
- ⑥で:outside インターフェースで WebVPN を “受け付け可能” にする
外側インターフェース名が outside だとすると、最小構成はこれです:
conf t
webvpn
enable outside
! anyconnect enable は①で済んでいれば不要(なければここでもOK)
anyconnect enable
exit
write memory
enable outside
→ outside インターフェースの IP アドレス宛に HTTPS でアクセスしたとき、
WebVPN ポータル / AnyConnect 接続を受け付けるようにするスイッチです。
2. ポート番号の設定(通常は443のままでOK)
デフォルトでは TCP 443番 で待ち受けます。
もし「443は他の用途で使っている」「8443で受けたい」などあれば、webvpn 配下でポートを変更できます。
conf t
webvpn
port 443 ! デフォルト(明示してもOK)
! 例:8443に変えたい場合
! port 8443
exit
write memory
- クライアント接続時の URL はポートと合わせて
https://<outside IP or FQDN>:8443/のようになります。
注意:ASA の「管理用 HTTPS(ASDM)」のポートとバッティングしないように設計します。
(管理用 HTTPS はhttp server enable/http 0.0.0.0 0.0.0.0 insideなど別設定)
3. 証明書(サーバ証明書)の関連付け(超重要)
実運用では、外部公開する FQDN 例:vpn.example.com に対して
正しい証明書 を割り当てるのがベストです(自己署名でも動作はしますが警告が出る)。
- 事前に証明書(trustpoint)を ASA にインポート or 作成
- 今回は
ssl-trustpoint-VPNという名前で作成済みとする - どのインターフェースでその証明書を使うか指定:
conf t
ssl trust-point ssl-trustpoint-VPN outside
exit
write memory
これで:
- クライアントが
https://vpn.example.com/にアクセス - outside の IP アドレスに来た HTTPS を、
ssl-trustpoint-VPNの証明書で応答
という流れになります。
FQDN(CN / SAN)と実際にアクセスするホスト名が一致していないと、
ブラウザや AnyConnect で「証明書の名前が一致しない」警告が出ます。
4. WebVPN 全体の典型設定例(ここまでの総まとめ)
conf t
webvpn
enable outside ! outside インターフェースで WebVPN 有効化
port 443 ! 待ち受けポート(必要なら変更)
anyconnect enable ! AnyConnect機能を有効化(①で設定済みなら省略可)
! (任意)ポータルバナー
svc keepalive ! キープアライブ(バージョンにより表現差あり)
exit
! 証明書を outside に関連付け
ssl trust-point ssl-trustpoint-VPN outside
exit
write memory
5. 外側から本当に届くか?ネットワーク側の確認ポイント
⑥で WebVPN 自体は ASA 上で有効になりますが、
外のクライアントから実際に到達できるか はネットワーク設計次第です。
確認ポイント:
outside にグローバルIPが付いているか / もしくはFWでNATされているか
show run interface outside
例:
interface outside
nameif outside
security-level 0
ip address 203.0.113.1 255.255.255.0
外側の上位FW/ルータで
203.0.113.1宛のルートが正しく通っているか- TCP 443(もしくは設定したポート)が通されているか(フィルタにブロックされていないか)
ASA の ACL で outside からの 443 を塞いでいないか
- outside側で明示的にアクセスリストを掛けている場合は、
permit tcp any host 203.0.113.1 eq 443相当が必要になるケースがあります。
6. 動作確認の流れ
ASA側での確認
! WebVPN/AnyConnect 設定の確認
show run webvpn
show webvpn
! SSL証明書の割り当て確認
show run ssl
! セッション確認(接続後)
show vpn-sessiondb anyconnect
show webvpn session
クライアント側からの確認
- ブラウザで
https://<outside IP or FQDN>/
にアクセスして、Webポータルや AnyConnect ダウンロード画面が出るか確認 - AnyConnect クライアントで同じホストへ接続
- 接続後、クライアント側で
- IPアドレス:
ipconfig(Windows) - 経路:AnyConnect の「ルート」画面 or
route print
- IPアドレス:
7. よくあるハマりどころ
- ブラウザに「サイトに接続できません」
→ outside IP までそもそも到達していない(ルート or FW or NAT 問題) - 「セキュリティ証明書が信頼されていない」
→ 自己署名 or FQDN不一致。運用上問題なければテスト用としては可。 - AnyConnect クライアントだけ繋がらない
→anyconnect enableを忘れている / pkg 登録(①)がされていない - ASDM とポートが被っておかしい
→ 管理用 HTTPS のポートと WebVPN のポート設計を見直し
(片方を 4443 や 8443 に逃がす、など)
まとめ
- ⑥では 「どのインターフェース&ポートで WebVPN/AnyConnect を受けるか」 を決めて有効化します。
webvpn配下でenable outsideとport、
別途ssl trust-point <name> outsideで証明書を紐付けるのがポイント。- ここまで終わると、外部クライアントから
https://<outside IP or FQDN>/へアクセスして AnyConnect VPN の入口が見えるようになります。