У меня есть виртуальная машина в Azure с Ubuntu 19.04 и 4 сетевых адаптера, к каждому из которых привязан публичный IP-адрес, например, это второй сетевой адаптер:
Как видите, у него публичный IP 191.234.186.19.
Моя цель - иметь доступ к Интернету с каждой сетевой карты с другим IP-адресом, но внутри виртуальной машины я могу получить к ней доступ только через первую сеть eth0
.
Глядя на # route -n
, я получаю этот вывод:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
168.63.129.16 10.0.0.1 255.255.255.255 UGH 100 0 0 eth0
169.254.169.254 10.0.0.1 255.255.255.255 UGH 100 0 0 eth0
Я попытался добавить маршруты для других сетевых карт с помощью следующих команд:
sudo ip route add default via 10.0.0.1 dev eth1 metric 101
sudo ip route add default via 10.0.0.1 dev eth2 metric 102
sudo ip route add default via 10.0.0.1 dev eth3 metric 103
Но опять же, я все еще не могу подключиться к Интернету с этими сетевыми картами, только eth0
.
Я что-то упускаю? Должен ли я изменить/настроить что-либо еще, чтобы это работало?
Для полноты я использую эту команду для проверки подключения:
curl --interface eth1 api.ipify.org?format=json -w "\n"
И моя виртуальная машина такая же, как в этой статье: статья