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 を設定します。 

  1. 送信先ネットワークへのルートをルートテーブルに入力します。ソフトウェア VPN EC2 インスタンスの Elastic Network Interface をターゲットとして設定します。
  2. ルートテーブルのデフォルトルートのターゲットがインターネットゲートウェイになっていることを確認します。
  3. インスタンスのセキュリティグループルールで、UDP ポート 500 (ISAKMP) および 4500 (IPsec NAT-Traversal) を通じた受信トラフィックを許可します。
  4. 送信元/送信先チェックを無効にし、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 設定に基づいて適切に変換されていることを確認します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?