この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、菊池です。
小ネタです。
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については、新規構築の環境では問題になることは少ないですが、運用中環境で意図しないルートテーブルの変更が発生すると、重大なトラブルになることがあります。十分に注意して設定しましょう。