わたしもAWSにEC2(AmazonLinux)を使ってOpenVPNを構築しました。
その際に、こちらのサイトがすごく参考になったのですが、以下の点が分かりづらかったので画面付きで解説します。
※2018年3月30日追記
Amazon Linux 2が選択可能となっていますが、Amazon Linux 2ではOpenVPNパッケージがありませんので、これまで通りAmazon Linuxを選択するようにしてください。
参考にしたサイト▼
分かりづらかった点▼
- Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定
- OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled
設定する内容
順番が逆です。
- OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled
- Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定
の順番となります。
OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled
本日の時点では、AWSマネージメントコンソールの日本語化に伴い、「送信元/送信先の変更チェック」となっています。
OpenVPNをインストールしたサーバを選択し、「アクション」-「ネットワーキング」-「送信元/送信先の変更チェック」をクリックします。
「はい、無効化する」をクリックします。
同じオペレーションで、すぐに有効化することもできます。
Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定
「VPC」-「ルートテーブル」をクリックします。
プライベートネットワークのルートテーブルを選択し、「ルート」タブをクリックし、「編集」をクリックします。
「別のルートを追加」をクリックします。
送信先に「10.8.0.0/24」を入力し、ターゲットにOpenVPNがインストールされたインスタンスを選択し、「保存」をクリックします。
この状態になれば設定完了です。
プライベートサブネットへのアクセスは、10.8.0.0/24からになりますので、あわせてセキュリティグループの設定が必要です。
10.8.0.0/24からのアクセスではなく、NATを利用してOpenVPNサーバからのアクセスにすることも可能です。
その時はiptablesの設定が必要です。
iptables -t nat -A POSTROUTING -s 10.8.0.0/255.255.255.0 -o eth0 -j MASQUERADE