Как включить IP-пересылку для интерфейса, если правило пересылки уже создано

Как включить IP-пересылку для интерфейса, если правило пересылки уже создано

Я пытаюсь включить IP-переадресацию для интерфейса экземпляра, размещенного в Google Cloud.

  1. У меня есть экземпляр виртуальной машины f1 micro на Google Compute Engine.
  2. Я успешно создал правило переадресации IP с помощью gcloudздесь.
    Команда compute forwarding-rules describe myrulenamehereвыдает описание правила.
  3. Когда я открываю страницу сведений об экземпляре виртуальной машины, переадресация IP отмечена как ВЫКЛ, и я не могу изменить ее с помощью кнопки ИЗМЕНИТЬ.

Как включить IP-переадресацию для интерфейса, если правило переадресации уже создано?

решение1

Вы не можете изменить это значение, так как онотолько для чтениязначение для уже созданных экземпляров. Из официальной документации Google, которую вы можете проверитьздесь:

Поле canIpForward можно задать только во время создания экземпляра. После создания экземпляра поле становится доступным только для чтения.

Поэтому я думаю, что единственный вариант, который у вас есть сейчас, это заново создать виртуальную машину, целевой экземпляр и правило переадресации. Вы можете включить ip-переадресацию во время создания с помощью флага --can-ip-forward, например:

gcloud compute instances create instance-name --can-ip-forward

Вы также можете включить его из консоли, в меню «Сетевой интерфейс», при создании экземпляра.

Вы также можете сохранить то же самое правило переадресации иобновить целевой экземплярработает только:

gcloud compute forwarding-rules set-target ...

решение2

GCP добавил возможность обновления IP_FORWARDING без повторного создания экземпляра виртуальной машины.

gcloud compute instances update-from-file INSTANCE_NAME

Для более подробной информации проверьте обновление-экземпляр-свойств.

решение3

Как сказал @Ivan, GCP теперь позволяет устанавливать canIpForward после создания. Но если вы новичок в GCP, то не интуитивно понятно, как это сделать из облачной оболочки/терминала.

Откройте консоль и введите следующую команду:

gcloud compute instances export $myInstanceName --project $myProjectId --zone $instanceZone --destination=config_old.txt

Файл конфигурации заканчивается в хранилище вашего экземпляра оболочки, а не вашей локальной рабочей станции (независимо от того, чтодокументацияговорит).

Нажмите на 3 вертикальные точки прямо над терминалом и нажмите «загрузить». Распакуйте zip-файл и найдите config_old.txt. Отредактируйте атрибуты, которые вы хотите изменить (canIpForward: true), сохраните файл как config_new.txt. Нажмите на 3 вертикальные точки, а затем загрузите -> файл -> браузер -> загрузите.

После загрузки выполните следующую команду:

gcloud compute instances update-from-file $myInstanceName --project $myProjectId --zone $instanceZone --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH

Проверьте сетевые интерфейсы для экземпляра: IP-пересылка теперь включена.

Пример со значениями:

gcloud compute instances export server1-example-com --project example-project --zone us-west4-c --destination=config_old.txt

gcloud compute instances update-from-file server1-example-com --project example-project --zone us-west4-c --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH

Связанный контент