AWSへのVPN接続におけるサンプルコンフィグの注意点:Cisco IOS編
こんにちは、菊池です。
小ネタです。
AWS上のVPCへVPC接続する際、オンプレミス側のルータ(カスタマーゲートウェイ)に必要な設定は、マネジメントコンソールからダウンロードできます。
サポートされるカスタマーゲートウェイのベンダーと製品プラットフォーム、バージョンを指定すればダウンロードできます。
基本的には、そのまま設定を投入することでVPNコネクションを設定可能です。しかし、環境によって注意が必要な項目もあります。今回、Cisco社製ISR(IOS)のルータを触る機会がありましたので、注意点を説明します。
BGPでデフォルトルートがアドバタイズされる
動的ルーティング(BGP)が有効な環境でサンプルコンフィグをそのまま設定すると、ルータに設定されたデフォルトルートがVGWにアドバタイズされます。そのため、VPC側でインターネットなどの外部向けのルートがオンプレを経由するように設定されてしまう場合があります。
サンプルコンフィグではBGPが以下のように記述されています。
router bgp 65000 neighbor 169.254.27.xxx remote-as 10124 neighbor 169.254.27.xxx activate neighbor 169.254.27.xxx timers 10 30 30 address-family ipv4 unicast neighbor 169.254.27.xxx remote-as 10124 neighbor 169.254.27.xxx timers 10 30 30 neighbor 169.254.27.xxx default-originate neighbor 169.254.27.xxx activate neighbor 169.254.27.xxx soft-reconfiguration inbound ! To advertise additional prefixes to Amazon VPC, copy the 'network' statement ! and identify the prefix you wish to advertise. Make sure the prefix is present ! in the routing table of the device with a valid next-hop. network 0.0.0.0
default-originate
の設定により、ルータに設定されたデフォルトルートがアドバタイズされます。不要であれば、この設定を削除し、network
でアドバタイズするルートを設定しましょう。
router#conf t router(config)#router bgp 65000 router(config-router)#no neighbor 169.254.27.xxx default-originate router(config-router)#network 10.10.10.0 mask 255.255.255.0
NAT環境での設定
カスタマーゲートウェイが直接インターネットに接続しておらず、ファイアウォールなどを介してプライベートアドレスの環境に配置されている場合です。
この場合、NAT環境を越えてVPNを接続するため、NATトラバーサルの設定が必要です。
UDPポート4500の解放
インターネットに接しているファイヤーウォールなどで、通常のIPSec VPNで必要なUDP 500、IP 50(ESP)に加え、UDPポート4500がカスタマーゲートウェイに到達可能できるように設定しましょう。
ルータローカルアドレスの設定
サンプルコンフィグ上では、カスタマーゲートウェイのIPアドレスはパブリックIPで記述されています。ルータに投入する設定では、VPNセッションで使用するインターフェースに割り当てたプライベートIPを指定しましょう。
該当箇所は、VPNセッションごとに3つ(通常2セッションなので6箇所)あります。以下のxxx.xxx.xxx.xxx
をインターフェースのアドレスに変更しましょう。
~~~~~~~~省略~~~~~~~~ crypto keyring keyring-vpn-xxxxxxxx-0 local-address xxx.xxx.xxx.xxx pre-shared-key address yyy.yyy.yyy.yyy key xxxxxxxxxxxxxxxxxxxxxxxxxxx ~~~~~~~~省略~~~~~~~~ crypto isakmp profile isakmp-vpn-xxxxxxxx-0 local-address xxx.xxx.xxx.xxx match identity address yyy.yyy.yyy.yyy keyring keyring-vpn-xxxxxxxx ~~~~~~~~省略~~~~~~~~ interface Tunnel1 ip address 169.254.27.xxx 255.255.255.252 ip virtual-reassembly tunnel source xxx.xxx.xxx.xxx tunnel destination yyy.yyy.yyy.yyy tunnel mode ipsec ipv4 tunnel protection ipsec profile ipsec-vpn-xxxxxxxx-0 ! This option causes the router to reduce the Maximum Segment Size of ! TCP packets to prevent packet fragmentation. ip tcp adjust-mss 1379 no shutdo ~~~~~~~~省略~~~~~~~~
まとめ
いかがでしょうか。
今更感はありましたが、ネットワークに詳しい担当者が不在の状態で、VPN接続を設定しようとするとハマりそうなポイントを紹介しました。
特にBGPについては、新規構築の環境では問題になることは少ないですが、運用中環境で意図しないルートテーブルの変更が発生すると、重大なトラブルになることがあります。十分に注意して設定しましょう。