Как настроена сеть на виртуальных машинах Google Cloud linux

У меня есть виртуальная машина Ubuntu 16.04LTS с двумя сетевыми адаптерами (каждая имеет общедоступный IP-адрес) в Google Cloud. Мне нужно настроить его таким образом, чтобы весь трафик на порт 2000 проходил через interface1, а весь трафик на порт 2001 через interface2. Я уже настроил брандмауэр через gcloud, и он работает нормально.

У меня также есть 2 правила IP и 2 маршрута IP для проталкивания трафика через правильные сетевые карты.

echo 300 guest >> /etc/iproute2/rt_tables
ip route add 10.2.0.2/32 dev interface2 table guest
ip route add default via 10.2.0.1 dev interface2 table guest
ip rule add from 10.2.0.2/32 table guest
ip rule add to 10.2.0.2/32 table guest

Я борюсь с тем, как применить эти изменения при загрузке. Я подумал, что могу просто добавить вышеуказанное в / etc / network / interfaces или в любые файлы, на которые есть ссылки в этом файле, расположенном в /etc/network/interfaces.d с исходным кодом . Но, похоже, это не имеет никакого значения.

Ниже показано, что я добавил в / etc / network / interfaces

auto interface2
iface interface2 inet dhcp
         post-up ip route add 10.2.0.2/32 dev interface2 table guest
         post-up ip route add default via 10.2.0.1 dev interface2 table guest
         post-up ip rule add from 10.2.0.2/32 table guest
         post-up ip rule add to 10.2.0.2/32 table guest

Это работает, только если я использую ifdown interface2 && ifup interface2 .

Я также следовал приведенному ниже

# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

Итак, со всем вышеперечисленным, когда виртуальная машина запускается, она каким-то образом настраивает сеть с двумя сетевыми адаптерами и игнорирует вышесказанное. Может кто-нибудь объяснить мне, как это нужно сделать.

Заранее очень благодарен

0
задан 20 September 2019 в 18:14
1 ответ

Если вы хотите выполнять это с помощью сценария при каждом запуске экземпляра виртуальной машины, используйте сценарии запуска.

Проверьте их документацию на https://cloud.google. com / compute / docs / startupscript

1
ответ дан 4 December 2019 в 15:37

Теги

Похожие вопросы