VPCネットワークに外部IPアドレスを持たないいくつかのインスタンスからいくつかのライブラリをインストールしようとしています。そのネットワーク上に外部IPアドレスを持っているインスタンスが1つあるため、IP転送ゲートウェイとして使用しようとしているインターネットアクセスがあります。
私は現在これを正しく設定したことを確認しようとしています:
nc -l <port>
およびnc -v <ip> <port>
シェナニガンを実行して、tcpを介してトンネルを開くことができることを確認します。Sudo sysctl -w net.ipv4.ip_forward=1
を使用してOSレベルで有効になっています。ただし、インターネットIPにはまだアクセスできません。コマンドSudo apt-get install default-jdk
は次のエラーで失敗します:
E: Failed to fetch http://europe-west1.gce.archive.ubuntu.com/ubuntu/pool/main/libx/libxt/libxt-dev_1.1.5-0ubuntu1_AMD64.deb Unable to connect to europe-west1.gce.archive.ubuntu.com:http: [IP: 35.205.79.146 80]
たとえ
インターネットアドレスにip route get
を実行すると、デフォルトゲートウェイ(10.0.0.1)が提供されますが、そうではないため、OSレベルでのルーティングと関係がある可能性があると思います。新しいルートを追加することでこれが変更されたはずかどうか確認してください。 (ゲートウェイインスタンスのIPは10.0.0.5、内部インスタンスは10.0.0.3です)。
ip route get 35.205.79.146
35.195.141.26 via 10.0.0.1 dev ens4 src 10.0.0.3
cache
さらにデバッグする方法についてのポインタをいただければ幸いです。
この特定の問題について、私はインスタンスベースのNATを設定するために、ここの指示に従ってしまいました: https://cloud.google.com/vpc/docs/special-configurations -インスタンスをa NATゲートウェイ。欠落していたステップはIPTables構成でした;これを追加した後、問題が修正されました。
他の人が示唆しているように、Cloud NAT=を使用することは、典型的なユースケースのGCPでこれを行うための最良/慣用的な方法であるかもしれません。