Help us understand the problem. What is going on with this article?

第4回 AWSとIDCFをVPN接続する - 最後の仕上げ編(全4回)

More than 3 years have passed since last update.

はじめに

<< 前回:第3回 AWSとIDCFをVPN接続する - VPN接続編(全4回)
IDCFクラウドにVyOSで仮想マシンを作成して、IDCFクラウドとAWSをVPNで接続する設定を説明します。
idcf-vpn-1.png

前回でIDCFのVPNゲートウェイにAWSで取得したコンフィグを流し込み、ついにIDCFとAWS間のVPN接続が完了しました。
idcf-vpn-7.png

とはいえ、このままではただVPN接続しただけで、サーバー間で通信を行うことはできません。

そこで仕上げとして、サーバー間で通信ができるようにルーティングとセキュリティグループの設定を行います。

ルーティング設定

AWS

idcf-vpn-5.png

ここで必要なのは「ルートテーブル」と「セキュリティグループ」の2点です。

ルートテーブル

・作成した「VPN接続」の「要約」タブの内容が表示されていることを確認し「VPC」をクリックします。
idcf-vpn_4_01.png

・対象の「VPC」の「概要」タブを表示し「ルートテーブル」をクリックします。
idcf-vpn_4_02.png

・対象の「ルートテーブル」の「ルート」の内容を「編集」してルーティングを追加します。

追加ルート
10.13.0.0/21     vgw-adsfad(仮想プライベートゲートウェイ)

※サブネットで別のルートテーブルも利用している場合はそちらを追加する必要があるかもしれないので注意が必要です。

idcf-vpn_4_03.png

セキュリティグループの設定

インスタンスに紐付いているセキュリティグループに対象となるIDCF側のNWを追加します。

ルートテーブル
    タイプ        プロトコル  ポート範囲   送信元
すべてのトラフィック    すべて    すべて   10.13.0.0 

IDCF

idcf-vpn-6.png

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の場合)

/etc/network/if-up.d/static-routes
#!/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接続が可能です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away