前回の記事で、ローカルルータ環境は出来ました。
これで、本番で利用しているネットワークに影響をあたえることなくAmazon VPC VPNを構築できます。
ではさっそく見てみましょう。
目次
構成
前回の内容そのままです。
概要
配下のサブネット192.168.100.0/24
は、グローバルIP11.11.11.2/32
にIPマスカレード変換します。
- GWであるリモートルータのLAN側IPアドレスは
192.168.100.2/24
今回の対象となるRTX810は、192.168.100.30/24
でWAN側を受け付けて、LAN側プライベートIPは192.168.101.0/24
としています。
- GWであるRTX810のLAN側IPアドレスは
192.168.101.1/24
ローカルルータ配下の192.168.101.0/24
は、RTX810が192.168.100.0/24
とNAT変換しています。
リモートルータ側の設定
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 |
ip filter も上記は解放しておきます。
Amazon 側設定
前回同様です。
今回も Static Routing となります。
投入後のconfig全体
ipfilter など一部マスクしていますが、前回のipsec に関するip filter
と、上記に気を付けて設定すればipsecがつながります。
ip routing on 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.30/24 ip lan2 proxyarp on ip lan2 nat descriptor 200 provider lan1 name LAN: provider lan2 name PRV/0/1/0/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.30 ipsec ike pfs 1 on ipsec ike pre-shared-key 1 text AWSに与えられたkey ipsec ike remote address 1 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 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.30 ipsec ike pfs 2 on ipsec ike pre-shared-key 2 text AWSに与えられたkey ipsec ike remote address 2 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 2 nat descriptor type 200 masquerade nat descriptor address outer 200 192.168.100.30 nat descriptor address inner 200 auto nat descriptor masquerade static 200 2 192.168.101.1 udp 500 nat descriptor masquerade static 200 3 192.168.101.1 esp ipsec auto refresh on syslog notice on syslog debug on dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.101.50-192.168.101.100/24 gateway 192.168.101.1 expire 48:00 dns service recursive dns server 192.168.100.2 10.0.0.2 dns server select 1 10.0.0.2 any amazonaws.com dns private address spoof off dns notice order msext me server httpd host lan1
ポイント
dns server select 1 10.0.0.2 any amazonaws.com
この設定をするこで、aws側のhostnameを見ようとした時でも、きっちりaws側のdnsサーバーである10.0.0.2 に問い合わせてくれます。
注意点としてFQDNでの指定なため、通常のWindows Host名ではDNSが指定できないという。 ADがあれば別なんですが。
上位ルータのprivate addressも参照させたいので、dns private address spoof off
としています。
設定確認 (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