③ IPプール作成(詳細版)


1) まずは基本のコマンド

最小構成はこれでした:

ip local pool VPN_POOL 192.168.50.10-192.168.50.50 mask 255.255.255.0

意味:

  • VPN_POOL:プール名(あとでトンネルグループ④で参照)
  • 192.168.50.10-192.168.50.50:VPNクライアントに配るアドレス範囲
  • mask 255.255.255.0:サブネットマスク(/24)

この範囲の中から、接続してきたクライアントに IP が 1つずつ割り当てられます。

2) IPプール設計の考え方(ここが一番大事)

2-1. 既存LANとの関係

パターンはざっくり2つです。

パターンA:社内LANと別のセグメントをVPN用に割り当てる(おすすめ)

例)

  • 社内LAN:192.168.10.0/24
  • VPNクライアント:192.168.50.0/24
ip local pool VPN_POOL 192.168.50.10-192.168.50.50 mask 255.255.255.0

この場合:

  • 社内側ルータ/L3SW に
    192.168.50.0/24 宛の経路を「ASAに向ける」必要あり
    (デフォルトゲートウェイが ASA なら不要な場合もあります)

パターンB:社内LANと同じセグメントの一部をVPN用にする

例)

  • 社内LAN:192.168.10.0/24
  • VPN用:192.168.10.200-192.168.10.220
ip local pool VPN_POOL 192.168.10.200-192.168.10.220 mask 255.255.255.0

この場合:

  • 既存 DHCP サーバと アドレス競合しないように要調整
  • L2的に ASA がそのセグメントに直接ぶら下がっている前提
  • 少し設計をミスると IP 競合が起きやすいので、
    可能ならパターンA(別セグメント)の方が安全です。

2-2. 同時接続数から必要数を決める

  • 同時VPN接続を「最大20人」想定 → 余裕を見て 30〜40個程度
    例:192.168.50.10-192.168.50.50 なら 41個確保
  • 今後増やす可能性があるなら、/24 1本確保しておき
    はじめは一部のみ利用 → 後で拡張、というのもあり

2-3. NAT・ルーティングとの絡み(よくハマるポイント)

  1. 社内からVPNクライアントへの応答ルートがあるか?
    → パターンA(別セグメント)の場合、コア側に
    192.168.50.0/24 のルートを ASA に向けておく
  2. NAT免除が必要なことが多い
    ASA でポリシーNATを使っていると、
    VPNクライアント → 社内LAN のトラフィックが
    「インターネット向けNAT」に引っかかってしまう事があります。 その場合、
    「VPNプール ↔ 社内セグメント」の通信には NATを適用しない
    というルール(no-NAT / NAT免除)を作る必要があります。 これは ASA の NAT 方式(旧式/NAT ルールの書き方)によってコマンドが違うので、
    必要なら あなたの show run nat をもとに一緒に組み立てましょう。

3) 複数プールの使い分け例

社員用とベンダ用でプールを分ける構成も一般的です。

! 社員用
ip local pool EMP_POOL     192.168.50.10-192.168.50.100 mask 255.255.255.0

! ベンダ用
ip local pool VENDOR_POOL  192.168.60.10-192.168.60.50  mask 255.255.255.0

④のトンネルグループでそれぞれを紐付け:

tunnel-group EMP general-attributes
 address-pool EMP_POOL
 default-group-policy GP_EMP

tunnel-group VENDOR general-attributes
 address-pool VENDOR_POOL
 default-group-policy GP_VENDOR

4) IPv6プールの例(必要な場合だけ)

IPv6 も使う場合は ipv6 local pool を使います。

ipv6 local pool VPNV6_POOL 2001:db8:100::1 2001:db8:100::ffff prefix-length 64
  • 2001:db8:100::/64 内からアドレスを割り当て
  • これも④トンネルグループで紐づけ

5) 代わりに DHCP で配る方法もある(参考)

ASA ローカルプールではなく、社内の DHCP サーバで
アドレスを配ることもできます(DHCP リレー方式)。

ip local pool は定義しない

tunnel-group ANYCONNECT general-attributes
 address-pool none
 dhcp-server 192.168.10.10

ただし:

  • DHCP側のスコープ設計
  • Relay設定
  • 調査時に“どこで止まっているか”を追いにくい
    などの理由から、小規模では ローカルプールの方が分かりやすい です。

6) 設定後の確認コマンド

! プール定義の確認
show run ip local pool

! 実際にどのアドレスが払い出されているか
show vpn-sessiondb anyconnect

AnyConnect で接続後にクライアントで ipconfig を打ち、
「トンネルアダプタ」にプール範囲の IP がついていればOKです。