VPN 接続を使用するトラフィック用に VPC CIDR で NAT を設定するには、どうすればよいですか?
最終更新日: 2018 年 7 月 17 日
簡単な説明
AWS VPN では、現在 VPN トラフィックに NAT を適用するマネージドオプションを提供していません。代わりに、ソフトウェアベースの VPN ソリューションを使用して手動で NAT を設定できます。この種のソリューションは AWS Marketplace で入手できます。また、ソフトウェアベースの VPN ソリューションを実行する Amazon Elastic Compute Cloud (EC2) Linux インスタンスで iptables を使用して NAT を手動で設定することもできます。
解決方法
次の設定例では 2 つの VPC を使用しています。最初のものは AWS マネージド VPN です。2 番目はソフトウェアベースの VPN ソリューションであり、カスタマーゲートウェイとして使用しています。
始める前に、AWS VPN 接続が設定されていることを確認してください。選択した VPN ソリューションを EC2 Linux インスタンスにインストールするには、必ずディストリビューションのパッケージマネージャーを使用してください。
VPN トラフィックを許可する
VPN トラフィックを許可するように VPC ルートテーブル、セキュリティグループ、および NACL を設定します。
- 送信先ネットワークへのルートをルートテーブルに入力します。ソフトウェア VPN EC2 インスタンスの Elastic Network Interface をターゲットとして設定します。
- ルートテーブルのデフォルトルートのターゲットがインターネットゲートウェイになっていることを確認します。
- インスタンスのセキュリティグループルールで、UDP ポート 500 (ISAKMP) および 4500 (IPsec NAT-Traversal) を通じた受信トラフィックを許可します。
- 送信元/送信先チェックを無効にし、IP パケットの転送をインスタンスに許可します。
VPN 接続を設定する
選択したソリューションに基づいて VPN 接続を設定します。AWS では、デバイスのベンダーおよびモデルに応じた複数の設定例のファイルをダウンロードできます。
iptables を設定する
実行する NAT のタイプに応じて iptables ルールを設定します。
送信元 NAT として、次の文字列を使用します。括弧の代わりに適切な値を入力してください。
sudo iptables -t nat -A POSTROUTING -d <Destination address or CIDR> -j SNAT --to-source <Your desired IP address>
送信先 NAT として、次の文字列を使用します。括弧の代わりに適切な値を入力してください。
sudo iptables -t nat -A PREROUTING -j DNAT --to-destination <Your desired IP address>
実行中の iptables 設定をファイルに保存するには、次のコマンドを使用します。
sudo iptables-save > /etc/iptables.conf
この設定を起動時にロードするには、次の行を /etc/rc.local に挿入します (exit 0 ステートメントの前)。
iptables-restore < /etc/iptables.conf
オプション: AWS VPN 接続をテストします。トラフィックが iptables 設定に基づいて適切に変換されていることを確認します。