前回の記事で、ローカルルータ環境は出来ました。
これで、本番で利用しているネットワークに影響をあたえることなくAmazon VPC VPNを構築できます。
ではさっそく見てみましょう。
目次
- 目次
- 構成
- リモートルータ側の設定
- Amazon 側設定
- ローカルルータ(RTX810)側設定
- 投入後のconfig全体
- 設定確認 (RTX810編)
- AWS 側のRoute Tables 設定
- VPN Status
- IPsecがつながらなくて困ったときは
構成
前回の内容そのままです。
リモートルータでのIP変換対応表
WAN側グローバルIP | アドレス変換方式 | LAN側IPプライベートアドレス | 機器 |
---|---|---|---|
11.11.11.2 | IPマスカレード変換 | 192.168.100.2 | リモートルータ |
11.11.11.3 | 1対1NAT変換 | 192.168.100.3 | RTX810 |
11.11.11.4 | 1対1NAT変換 | 192.168.100.4 | サーバー1 |
11.11.11.5 | 1対1NAT変換 | 192.168.100.5 | サーバー2 |
11.11.11.6 | 1対1NAT変換 | 192.168.100.6 | サーバー3 |
11.11.11.7 | 1対1NAT変換 | 192.168.100.7 | サーバー4 |
概要
リモートルータは、固定IP8個11.11.11.1-8/29
から、実際に利用できる6個11.11.11.2-7
をアドレス変換しています。
配下のサブネット192.168.100.0/24
は、グローバルIP11.11.11.2
にIPマスカレード変換します。
- GWであるリモートルータのLAN側IPアドレスは
192.168.100.2/24
残りの5つは1対1NATで割り振っています。
今回の対象となるRTX810は、11.11.11.3
と1対1NATした192.168.100.3/24
でWAN側を受け付けて、LAN側プライベートIPは192.168.101.0/24
としています。
- GWであるRTX810のLAN側IPアドレスは
192.168.101.1/24
リモートルータ側の設定
Amazon VPCとのHardware VPNは IPsecです。
今回は、ローカルルータの上位にリモートルータが存在するので、リモートルータ192.168.100.2
でIPsecをローカルルータ192.168.100.3
にマスカレードしておきます。
IPsecなのでUDP 500
と ESP
が対象となります。
プロトコル | 先頭ポート | 終了ポート | 変換IPアドレス |
---|---|---|---|
ESP | 192.168.100.3 | ||
UDP | 500 | 500 | 192.168.100.3 |
Amazon 側設定
ほぼ前回同様です。
以下のみ異なります。
VPN Connectionsに気を付ける
今回の構成では、RTX810がエッジに存在しません。
ということはBGP情報を交換できないので、Yamaha RTX810 でAmazon VPC と Hardware VPN を構築してみようで紹介したような Use Dynamic Routing (requires BGP) は使えません。
よって、Amazon VPCでの VPN Connectionsは、Use Static Routing
となります。
作成した Customer Gateway と Virtual Private Gateway を紐づけます。
- VPN Connectionsへ
- Create VPN Connections
- 紐づける Customer Gateway と Virtual Private Gateway を選択
- Use Static Routing を選択します
- 今回のルーティング対象となるRTX810配下のサブネット
192.168.101.0/24
を入力しAddを選択します - Yes, Create で作成です
ローカルルータ(RTX810)側設定
後は、AWS VPCで作成した設定を RTX 810 に投入します。
ipsec ike local address の修正
今回はローカルルータに1対1NATしているので、リモートルータのアドレスや、NAT変換前のグローバルIPではIPsecトンネルは終わりません。
以下のipsec ike local address を、RTX810のWANに割り振ったアドレスにします。
ipsec ike local address 1 192.168.100.3
ipsec の切り替えを行う
また、AWS VPNは2本の冗長構成となります。
そこで、通常は1本利用遮断時に2を利用するようにします。
ip route 10.0.0.0/16 gateway tunnel 1 hide gateway tunnel 2 weight 0
投入後のconfig全体
ipfilter など一部マスクしていますが、前回のipsec に関するip filter
と、上記に気を付けて設定すればipsecがつながります。
ip route default gateway 192.168.100.2 ip route 10.0.0.0/16 gateway tunnel 1 hide gateway tunnel 2 weight 0 ip keepalive 1 icmp-echo 10 5 192.168.100.2 ip lan1 address 192.168.101.1/24 ip lan2 address 192.168.100.3/29 ip lan2 secure filter in 101003 101061 101062 ip lan2 secure filter out 101013 ip lan2 nat descriptor 200 provider lan1 name LAN: provider lan2 name PRV/0/1/3/0/0:固定IP tunnel select 1 ipsec tunnel 201 ipsec sa policy 201 1 esp aes-cbc sha-hmac ipsec ike duration ipsec-sa 1 3600 ipsec ike encryption 1 aes-cbc ipsec ike group 1 modp1024 ipsec ike hash 1 sha ipsec ike keepalive use 1 on dpd 10 3 ipsec ike local address 1 192.168.100.3 ipsec ike pfs 1 on ipsec ike pre-shared-key 1 text AWSで発行されたPresharedKey ipsec ike remote address 1 27.yy.yy.16 ipsec tunnel outer df-bit clear ip tunnel address 169.xxx.xxx.26/30 ip tunnel remote address 169.xxx.xxx.25 ip tunnel tcp mss limit 1387 tunnel enable 1 tunnel select 2 ipsec tunnel 202 ipsec sa policy 202 2 esp aes-cbc sha-hmac ipsec ike duration ipsec-sa 2 3600 ipsec ike encryption 2 aes-cbc ipsec ike group 2 modp1024 ipsec ike hash 2 sha ipsec ike keepalive use 2 on dpd 10 3 ipsec ike local address 2 192.168.100.3 ipsec ike pfs 2 on ipsec ike pre-shared-key 2 text AWSで発行されたPresharedKey ipsec ike remote address 2 27.yy.yy.144 ipsec tunnel outer df-bit clear ip tunnel address 169.xxx.xxx.30/30 ip tunnel remote address 169.xxx.xxx.29 ip tunnel tcp mss limit 1387 tunnel enable 2 ip filter 101003 reject 192.168.101.0/24 * * * * ip filter 101013 reject * 192.168.101.0/24 * * * ip filter 101061 pass * 192.168.100.3 esp * * ip filter 101062 pass * 192.168.100.3 udp * 500 nat descriptor type 200 masquerade nat descriptor address outer 200 192.168.100.3 nat descriptor address inner 200 auto ipsec auto refresh on dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.101.100-192.168.101.150/24 dns server 192.168.100.2 dns private address spoof on httpd host lan1 #
設定確認 (RTX810編)
まずは、手元で設定を確認します。
IPsecの動作確認
configにあった 接続先idが存在しています。
# show ipsec sa Total: isakmp:2 send:2 recv:2 sa sgw isakmp connection dir life[s] remote-id ----------------------------------------------------------------------------- 1 1 - isakmp - 24148 接続先id1 2 2 - isakmp - 24149 接続先id2 7 1 1 tun[001]esp send 1657 接続先id1 8 1 1 tun[001]esp recv 1657 接続先id1 9 2 2 tun[002]esp send 1658 接続先id2 10 2 2 tun[002]esp recv 1658 接続先id2
AWS 側のRoute Tables 設定
前回同様、ipsecでつながったパケットが、対象のVPC Subnetに届くようにroute tableに設定を追加してあげます。
- Virtual Private Cloud へ
- Route Tables へ
- 設定したいRoute Table idを選択 (VPC と Associate された VPC Subnetで確認します)
- Routes に 追加します
Destination : VPN 接続先の自分の Subnet (この例では 192.168.101.0/32) Target : 作成した vgw-hogehogehoge 今回の対象subnet : 10.0.3.0/24
これで、 手元の 192.168.101.0/24 から 対象の VPC Subnet (10.0.3.0/24) への ping がルーティングされたことを確認できます。
PS D:\> ping 10.0.3.100 Pinging 10.0.3.100 with 32 bytes of data: Reply from 10.0.3.100: bytes=32 time=12ms TTL=125 Reply from 10.0.3.100: bytes=32 time=12ms TTL=125 Reply from 10.0.3.100: bytes=32 time=11ms TTL=125 Reply from 10.0.3.100: bytes=32 time=12ms TTL=125 Ping statistics for 10.0.3.100: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 11ms, Maximum = 12ms, Average = 11ms
VPN Status
最後に、AWS側の VPN Statusを確認してください。
IPsecがつながらなくて困ったときは
Web Console でいいので、RTX810 のログで InfoとDebugをonにしてください。
おおよその場合は、たいした問題じゃないのですが、ヒント、ログって大事です。
syslog notice on syslog debug on