AWS Client VPNで、NATゲートウェイ経由でインターネットサイトへアクセスしたい

0

インターネット接続のWindows10から「AWS Client VPN」で「クライアントVPNエンドポイント」へVPN接続するところまでは、設定できました。 そこから、プライベートサブネット経由し、さらにパブリックサブネットに設置したNATゲートウェイ経由でインターネットサイトへアクセスする方法が知りたいです。

テスト環境

・[VPC]

 * IP:10.0.0.0/21

・[プライベートサブネット]

 * IP:10.0.2.0/24

 * ルートテーブル:送信先 10.0.0.0/21 Local と :送信先 0.0.0.0/0 Natゲートウェイ 

   以下、クライアントVPNエンドポイント作成時に自動作成されたENI2つ

  L [ENI①] *プライベートIP:10.0.2.123 パブリックIP:自動割り当て

  L [ENI②] *プライベートIP:10.0.2.205 パブリックIP:自動割り当て

・[パブリックサブネット]

 * IP:10.0.0.0/24

 *  ルートテーブル:送信先 10.0.0.0/21 Local

  L [NATゲートウェイ]

   *パブリックIP:Elastic IPで割りあて済み

   *プライベートIP:10.0.0.37

・[クライアントVPNエンドポイント]

 * クライアント CIDR:10.110.0.0/21

 * ターゲットネットワークの関連付け :プライベートサブネット:10.0.2.0/24

 * セキュリティグループ:インバウトとアウトバウンドともにALL許可

 * 承認ルール:0.0.0.0/0 すべてにアクセスをtrue と 送信先CIDR 10.0.0.0/21(追加)

 * ルートテーブル:送信先CIDR 10.0.0.0/21 と 送信先CIDR 0.0.0.0/0(追加)

 * 相互認証 AWS Certificate Managerへの証明書のインポート済み

・[Windows10] VPN接続マシン

 ・AWS Client VPNで接続

 ・証明書設定済みでVPN接続完了後、10.110.0.162が割り当てられた。

クライアントVPNエンドポイント画面の「接続」にも表示されている。

検証

①Widows10でipconfigすると

 インターネット接続のIP体系:192.168.xx.xx と

 AWS VPNのIP:10.110.0.162 サブネット255.255.255.224 デフォルトゲートウェイは無しと出る。

②Windows10でPing 8.8.8.8 NG

③Windows10でブラウザでインターネット接続はどこもできない

④route printコマンド結果は以下

route printコマンド結果

所感

①セキュリティグループはすべて許可にしているのでルーティングがおかしい?

②検証①のipconfigの結果でデフォルトゲートウェイが出てこないのがおかしいのかどうかもわからない。

アドバイスのほどよろしくお願いいたします。

y-om
質問済み 2ヶ月前534ビュー
4回答
0
承認された回答

Esetサイトのみアクセス制限できましたが、クライアントVPNエンドポイントの通信ログとNATゲートウェイの通信ログ を確認することはできますでしょうか?

VPCフローログを取得してみてはいかがでしょうか?
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html

profile picture
エキスパート
回答済み 2ヶ月前
0

実際の画面が見れていないので判断ができないのですが、以下のブログで紹介されているようにClientVPNルートテーブルで0.0.0.0/0をプライベートサブネットに向ける必要があります。
上記は設定済みでしょうか?
https://dev.classmethod.jp/articles/aws-client-vpn-with-static-ip/

profile picture
エキスパート
回答済み 2ヶ月前
  • 回答ありがとうございます。 0.0.0.0/0の設定漏れておりましたので追加しました。 また、承認ルールに10.0.0.0/21も漏れていたので追加しました。

     * 承認ルール:0.0.0.0/0 すべてにアクセスをtrue と 送信先CIDR 10.0.0.0/21(追加)

     * ルートテーブル:送信先CIDR 10.0.0.0/21 と 送信先CIDR 0.0.0.0/0(追加)

    追加しましたが検証結果に変化はありませんでした。

    route printコマンド結果を質問に追加いたしました。

    何かわかりますでしょうか? VPN接続しなおしたのでIPが10.110.0.162に変わっております。

  • 私のAWSアカウントで以下のブログで紹介されている手順で作成してみましたが正常にインターネット接続ができました。 https://qiita.com/Hi_Noguchi/items/63c185add376b8bc2931
    何かしら設定が抜けているような気がするのですが、文章だけだと判断が難しいです。 一度、上記のブログの手順で作成し直していただいてもよろしいでしょうか? ちなみに証明書作成に使用したコマンドは以下のようになっています。

        1  git clone https://github.com/OpenVPN/easy-rsa.git
        2  cd easy-rsa/easyrsa3
        3  ./easyrsa init-pki
        4  ./easyrsa build-ca nopass
        5  ./easyrsa --san=DNS:kobayashi-riku.net build-server-full kobayashi-riku.net nopass
        6  ./easyrsa build-client-full kobayashi-riku-client.net nopass
        7  mkdir ~/custom_folder/
        8  cp pki/ca.crt ~/custom_folder/
        9  cp pki/issued/kobayashi-riku.net.crt ~/custom_folder/
       10  cp pki/private/kobayashi-riku.net.key ~/custom_folder/
       11  cp pki/issued/kobayashi-riku-client.net.crt ~/custom_folder
       12  cp pki/private/kobayashi-riku-client.net.key ~/custom_folder/
       13  cd ~/custom_folder/
       14  aws acm import-certificate --certificate fileb://kobayashi-riku.net.crt --private-key fileb://kobayashi-riku.net.key --certificate-chain fileb://ca.crt
       15  aws acm import-certificate --certificate fileb://kobayashi-riku-client.net.crt --private-key fileb://kobayashi-riku-client.net.key --certificate-chain fileb://ca.crt
       16  cat ~/easy-rsa/easyrsa3/pki/issued/kobayashi-riku-client.net.crt 
       17  cat ~/easy-rsa/easyrsa3/pki/private/kobayashi-riku-client.net.key
    
0

ご回答ありがとうございます。 丸々ご紹介頂いたページのIPアドレス体系で実施したところVPNのNATゲートウェイ経由で接続できました。 https://qiita.com/Hi_Noguchi/items/63c185add376b8bc2931

ただ、自己作成した10.0.0.0/21のVPCでは何度も設定確認しましたが、接続できませんでした。 ちょっとこの点については、IPアドレス体系が悪いのかどうか次の課題として取り組みます。

まずは、VPNのNATゲートウェイ経由でインターネット接続できることが達成できましたことを感謝申し上げます。

y-om
回答済み 2ヶ月前
0

追加で質問がございます。

VPNのNATゲートウェイ経由でインターネット接続することはできたのですが、 インターネット接続するサイトを制限したいためいろいろ試行錯誤しました。

接続するサイトは「Eset定義ファイルダウンロードサイト」と「Esetアクティベーションサイト」のみです。

クライアントVPNエンドポイントか、NATゲートウェイのどちらかでセキュリティグループを作成して制御しようとしましたが、 NATゲートウェイにセキュリティグループを適用できないことに気づきました。

NATゲートウェイは、サブネットに関連付けできるだけで、関連付けしたサブネットにもセキュリティグループを紐づけできなかったためです。

サブネットで制御するとなるとネットワークACLで設定かと思いますが、セキュリティグループの方が簡単そうなので セキュリティグループで行えればと思い、クライアントVPNエンドポイントでセキュリティグループを 下記のように設定し、対象のサイトのみアクセスできるように出来ました。

[クライアントVPNエンドポイント]

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

元々の設定は、インバウトとアウトバウンドともにIPv4 すべてのトラフィック 0.0.0.0/0 でインターネット接続可状態

上記から下記に変更

・インバウンドはすべて削除 

・アウトバウンド IPv4ですべてのトラフィックをEset定義ファイルダウンロードサイトとアクティベーションサイト 20サイトほどを送信先で登録

IPv4ですべてのトラフィックを送信先でGoogleのDNSアドレスで登録

*なぜかDNSに通信許可しないとEsetサイトへアクセスできませんでした。

質問ですが、

Esetサイトのみアクセス制限できましたが、クライアントVPNエンドポイントの通信ログとNATゲートウェイの通信ログ を確認することはできますでしょうか?

理由:クライアントVPNエンドポイントのセキュリティグループで制限をしていますが、 例えばyahoo.co.jpなどのブラウザにアクセスしても当然アクセスできませんが、 NATゲートウェイに対して通信料がかかっていないか念のため確認したいためです。 WIndowsは特に意識していなくても外部サイトへアクセスしようとすると思いますので そちらも合せて確認もします。

y-om
回答済み 2ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ