はじめに
<< 前回:第3回 AWSとIDCFをVPN接続する - VPN接続編(全4回)
IDCFクラウドにVyOSで仮想マシンを作成して、IDCFクラウドとAWSをVPNで接続する設定を説明します。
前回でIDCFのVPNゲートウェイにAWSで取得したコンフィグを流し込み、ついにIDCFとAWS間のVPN接続が完了しました。
とはいえ、このままではただVPN接続しただけで、サーバー間で通信を行うことはできません。
そこで仕上げとして、サーバー間で通信ができるようにルーティングとセキュリティグループの設定を行います。
ルーティング設定
AWS
ここで必要なのは「ルートテーブル」と「セキュリティグループ」の2点です。
ルートテーブル
・作成した「VPN接続」の「要約」タブの内容が表示されていることを確認し「VPC」をクリックします。
・対象の「VPC」の「概要」タブを表示し「ルートテーブル」をクリックします。
・対象の「ルートテーブル」の「ルート」の内容を「編集」してルーティングを追加します。
10.13.0.0/21 vgw-adsfad(仮想プライベートゲートウェイ)
※サブネットで別のルートテーブルも利用している場合はそちらを追加する必要があるかもしれないので注意が必要です。
セキュリティグループの設定
インスタンスに紐付いているセキュリティグループに対象となるIDCF側のNWを追加します。
タイプ プロトコル ポート範囲 送信元
すべてのトラフィック すべて すべて 10.13.0.0
IDCF
IDCFではAWSのようなルートテーブルなどのルーティングを一括管理するものがないので各サーバに対しスタティックルートの設定を行う必要があります。
スタティックルートの設定
・サーバへログインします。
$ ssh hogehoge@xxx.xxx.xxx.xxx
・ルーティングを追加します。
$ sudo route add -net 172.31.0.0 gw 10.13.0.2 netmask 255.255.0.0
今回はコマンドによる一時的な追加ですが、永久的に追加するのであればstatic-routesに直接記載します。(Ubuntuの場合)
# !/bin/sh
/sbin/route add -net 172.31.0.0 gw 10.13.0.2 netmask 255.255.0.0 dev eth0
また、実行権限が必要なのでお忘れなく。
$ sudo chmod +x /etc/network/if-up.d/static-routes
確認
それでは疎通ができたかpingで確認してみましょう。
AWS環境から確認
それではAWS環境にあるサーバにログインしてください。
まずは、ルーティングの確認です。
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.20.0.1 0.0.0.0 UG 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
とは言ってもAWSの場合はルートテーブルで管理してますのでnetstat
では確認できません。
ということでとりあえず疎通確認します。
$ ping xxx.xxx.xxx.xxx
PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=63 time=11.1 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=63 time=12.7 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=63 time=10.4 ms
無事、確認できました。
IDCF環境から確認
まずはルーティングの確認です。
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.13.0.1 0.0.0.0 UG 0 0 0 eth0
10.13.0.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
xxx.xxx.xxx.xxx <VyOSのIP> 255.255.0.0 UG 0 0 0 eth0
こちらはルーティングが確認できました。(まぁ、さっき追加したので当たり前ですねw)
ということで疎通確認しましょう。
$ ping xxx.xxx.xxx.xxx
PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=63 time=11.1 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=63 time=12.7 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=63 time=10.4 ms
こちらも無事、確認できました。
おわりに
以上で今回はAWSの対向の環境はIDCFですが、VPN接続するために利用しているのはVyOSです。
なので、その他の環境であっても同様の設定(ポート許可など)ができればVyOSを利用してVPN接続が可能です。