Назад | Перейти на главную страницу

Google Compute Engine: проблемы с доступом в Интернет из экземпляра без внешнего IP

Я пытаюсь установить некоторые библиотеки из некоторых экземпляров, у которых нет внешних IP-адресов в сети VPC. В этой сети есть один экземпляр, у которого есть внешний IP-адрес и, следовательно, доступ в Интернет, который я пытаюсь использовать в качестве шлюза переадресации IP.

В настоящее время я пытаюсь проверить, правильно ли настроил:

Однако я все еще не могу получить доступ к 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]

Даже если

  1. экземпляр шлюза может получить к нему доступ
  2. внутренний экземпляр может получить доступ к шлюзу

Я думаю, что это потенциально может иметь какое-то отношение к маршрутизации на уровне ОС, например, когда я ip route get на интернет-адрес, он дает мне шлюз по умолчанию (10.0.0.1), и я не уверен, должно ли добавление этого нового маршрута изменить это? (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 чтобы ваши экземпляры без IP-адресов могли подключаться к Интернету. Вы можете настроить Cloud NAT, следуя пошаговым инструкциям. Вот.

Для этой конкретной проблемы я выполнил приведенные здесь инструкции, чтобы настроить NAT на основе экземпляра: https://cloud.google.com/vpc/docs/special-configurations - настройка экземпляра в качестве шлюза NAT. Шаг, который я упустил, - это настройка IPTables; после добавления это устранило мою проблему.

Однако, как предполагали другие, использование Cloud NAT может быть лучшим / идиоматическим способом сделать это сейчас на GCP для типичного варианта использования.