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

Как настроена сеть на виртуальных машинах 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 с участием source. Но, похоже, это не имеет никакого значения.

Ниже я добавил к /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}

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

Очень ценится заранее

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

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