Как включить IP-пересылку для интерфейса, если правило пересылки уже создано
Я пытаюсь включить IP-пересылку для интерфейса экземпляра, размещенного в Google Cloud.
- У меня есть экземпляр микро-виртуальной машины f1 в Google Compute Engine.
- Я создал правило пересылки IP с помощью gcloud здесь.
командаcompute forwarding-rules describe myrulenamehere
выдает описание правила. - Когда я открываю страницу сведений об экземпляре виртуальной машины, IP-пересылка помечается как OFF, и я не могу изменить ее с помощью кнопки EDIT.
Как включить IP-пересылку для интерфейса, если правило переадресации уже было создано?
3 ответа
Вы не можете изменить это значение, поскольку оно доступно только для чтения для уже созданных экземпляров. Из официальной документации Google, которую вы можете проверить здесь:
Вы можете установить поле canIpForward только во время создания экземпляра. После создания экземпляра поле становится доступным только для чтения.
Поэтому я думаю, что единственный вариант, который у вас есть сейчас, - это снова создать виртуальную машину, целевой экземпляр и правило пересылки. Вы можете включить ip-forwarding во время создания с флагом --can-ip-forward
, например:
gcloud compute instances create instance-name --can-ip-forward
Вы также можете включить его из консоли, в меню сетевого интерфейса, при создании экземпляра.
Вы также можете сохранить то же правило пересылки и обновлять целевой экземпляр, только работая:
gcloud compute forwarding-rules set-target ...
В GCP добавлена возможность обновлять IP_FORWARDING без повторного создания экземпляра виртуальной машины.
gcloud compute instances update-from-file INSTANCE_NAME
Для получения более подробной информации проверьте свойства update-instance-properties.
Как заявил @Ivan, GCP теперь позволяет устанавливать canIpForward после создания. Но если вы новичок в GCP, вам непонятно, как это сделать из облачной оболочки/терминала.
откройте консоль и введите следующую команду:
gcloud compute instances export myInstanceName --project myProjectName --zone instanceZone --destination=instConfig.txt
Конфигурационный файл заканчивается в хранилище вашего экземпляра оболочки, а не на вашей локальной рабочей станции (независимо от того, что сказано в документации ).
Нажмите на три вертикальные точки над терминалом и нажмите «Загрузить». Распакуйте zip-файл и найдите instConfig.txt. Отредактируйте атрибуты, которые хотите изменить, сохраните файл. Нажмите три вертикальные точки, а затем загрузите -> файл -> браузер -> загрузить.
после загрузки введите следующую команду:
gcloud compute instances update-from-file myInstanceName --project myProjectName --zone instanceZone --source=instConfig.txt --most-disruptive-allowed-action=REFRESH
Проверьте сетевые интерфейсы экземпляра: переадресация IP теперь включена.