AWS

AWS環境にOpenVPNでVPNを構築(補足)

わたしもAWSにEC2(AmazonLinux)を使ってOpenVPNを構築しました。

 

その際に、こちらのサイトがすごく参考になったのですが、以下の点が分かりづらかったので画面付きで解説します。

 

※2018年3月30日追記

Amazon Linux 2が選択可能となっていますが、Amazon Linux 2ではOpenVPNパッケージがありませんので、これまで通りAmazon Linuxを選択するようにしてください。

 

参考にしたサイト

AWS環境にOpenVPNでVPNを構築 – Qiita

 

分かりづらかった点

  • Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定
  • OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled

 

 

 

設定する内容

順番が逆です。

  1. OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled
  2. Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定

の順番となります。

 

 

 

OpenVPNをインストールしたサーバに対し、Source/dest.checkをdisabled

本日の時点では、AWSマネージメントコンソールの日本語化に伴い、「送信元/送信先の変更チェック」となっています。

 

f:id:ishimotohiroaki:20170808092516p:plain

OpenVPNをインストールしたサーバを選択し、「アクション」-「ネットワーキング」-「送信元/送信先の変更チェック」をクリックします。

 

f:id:ishimotohiroaki:20170808092712p:plain

「はい、無効化する」をクリックします。

 

 

同じオペレーションで、すぐに有効化することもできます。

 

 

 

Routeテーブルに、VPNのクライアント側のセグメントから、OpenVPNをインストールしたサーバへのルーティングを設定

「VPC」-「ルートテーブル」をクリックします。

 

f:id:ishimotohiroaki:20170808095142p:plain

 

プライベートネットワークのルートテーブルを選択し、「ルート」タブをクリックし、「編集」をクリックします。

 

f:id:ishimotohiroaki:20170808095320p:plain

「別のルートを追加」をクリックします。

 

f:id:ishimotohiroaki:20170808095513p:plain

送信先に「10.8.0.0/24」を入力し、ターゲットにOpenVPNがインストールされたインスタンスを選択し、「保存」をクリックします。

 

f:id:ishimotohiroaki:20170808095640p:plain

 

この状態になれば設定完了です。

 

プライベートサブネットへのアクセスは、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