NAT配下からヤマハのRTX1200でVPCにVPN接続する

記事タイトルとURLをコピーする

こんにちは、技術2課の紅林です。年末は伊勢神宮に行ってきます。

さて、10月28日の以下の記事で、VPCのVPN ConnectionのNATトラバーサル対応が発表されました。

EC2 VPC VPN Update – NAT Traversal, Additional Encryption Options, and More

今回、ヤマハのRTX1200でNAT配下からのVPN接続を検証してみましたので、VPN接続までの手順をご紹介します。

はじめに

IPSecはNATとの相性が悪く、そのままではNATが介在するネットワーク環境では通信出来ません(※)。これを回避するためには、

  • 経路上のルータでIPSecパススルーを有効にする
  • VPN接続するデバイス同士でNATトラバーサルを利用する

等いずれかの対応が必要になります。上記のアップデートは、後者の方法により、NAT配下のルータ等からVPN接続を可能にするものです。

※IPSecとNATの関係については本記事では扱いません。こちらの記事等を確認頂ければと思います。

本記事で想定する構成

今回、NAT配下のヤマハのRTX1200からVPCにVPN接続する手順をご紹介します。以下の構成図の環境を想定します。

ただし、実際の環境では、RTX1200の配下にもセグメントを作成し、クライアント端末からVPCに接続すると思いますが、本記事の設定例ではRTX1200でVPN接続する部分までを扱っています。RTX1200配下の端末からVPCに接続するには、本記事の設定に加えて、RTX1200にルータとしての設定をしなければいけませんのでご注意ください。

NAT-Tブログ

前提条件

  • 構成図の通りVPCおよび拠点側のNWが構築済みであること
  • RTX1200のLAN2ポートに構成図中のアドレスが付与されていること
  • VPC内のインスタンスがPing応答すること

手順

VPN Connectionの作成

通常のVPN Connectionの作成手順と同じ手順で作成します。他に特別な設定等は必要ありません。

この時、カスタマーゲートウェイには接続するルータが使用するグローバルIPアドレスを指定する必要がありますのでご注意ください。(構成図中のx.x.x.xに該当)

ScreenClip

RTX1200の設定

VPN Connectionを作成すると、カスタマーゲートウェイ向けの設定をダウンロード出来るようになりますので、まずはRTX用の設定をダウンロードします。

ScreenClip

ダウンロードした設定ファイルをRTX1200に入力していきますが、一部変更/追加しなければいけない部分があります。

いずれも、2つのトンネル両方に対して設定が必要です。

ルータのIPアドレス

(変更前)ipsec ike local address 1 x.x.x.x

(変更後)ipsec ike local address 1 192.168.10.14

広告するルーティングテーブル

(変更前)bgp import filter 1 equal 0.0.0.0/0

(変更後)bgp import filter 1 equal 192.168.10.0/24

NATトラバーサルの有効化

ipsec ike nat-traversal 1 on

設定例

上記を踏まえた、今回の構成でのRTX1200の設定を以下に記します。上記、変更/追加した設定部分は青文字にしています。

(一部、グローバルIPや鍵情報はマスキングしています)

console character ascii
login timer 3000
ip lan2 address dhcp
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.10.14
  ipsec ike nat-traversal 1 on
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text xxxxxxxxxxx
  ipsec ike remote address 1 xxxxxxxx
  ipsec tunnel outer df-bit clear
 ip tunnel address xxxxxxxxxxxx
 ip tunnel remote address xxxxxxxxxxx
 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.10.14
  ipsec ike nat-traversal 2 on
  ipsec ike pfs 2 on
  ipsec ike pre-shared-key 2 text xxxxxxxxxxxxxxxxx
  ipsec ike remote address 2 xxxxxxxxxxxx
 ipsec tunnel outer df-bit clear
 ip tunnel address xxxxxxxxxxxxxxxx
 ip tunnel remote address xxxxxxxxxxxx
 ip tunnel tcp mss limit 1387
tunnel enable 2
bgp use on
bgp autonomous-system 65000
bgp neighbor 1 10124 xxxxxxxxxxx hold-time=30 local-address=xxxxxxxxx
bgp neighbor 2 10124 xxxxxxxxxxx hold-time=30 local-address=xxxxxxxxx
bgp import filter 1 equal 192.168.10.0/24
bgp import 10124 static filter 1
ipsec auto refresh on

動作確認

間違いなく設定が完了したら、VPN Connectionがアップします。

ScreenClip

実際に動作確認してみましょう。RTX1200から以下の通り、Ping応答があればVPN接続に成功しています。

# ping -sa 192.168.10.14 10.0.0.90
received from 10.0.0.90: icmp_seq=0 ttl=126 time=13.388ms
received from 10.0.0.90: icmp_seq=1 ttl=126 time=17.537ms
received from 10.0.0.90: icmp_seq=2 ttl=126 time=15.870ms

おわりに

今回、NAT配下のRTX1200からVPN接続する手順をご紹介しました。

年末は、伊勢うどんを食べてきたいと思います。