У меня есть тестовый сервер (ubuntu 16.04 xenial) на лазури. Я хочу связать несколько сетевых карт с этой виртуальной машиной. Я могу связать сетевые карты с лазурного портала. В виртуальной машине я вижу (ip a) эту сетевую карту и ip. попробуйте подключиться к Интернету через первую сетевую карту (eth0), это успешно. Но когда я пытаюсь сделать это:

пинг 8.8.8.8 -I eth1

Он не может подключиться к Интернету.

В документации сказано добавить статический маршрут для вас vm. Я пробовал с помощью следующей команды, но результат тот же:

ip route добавить по умолчанию через 192.168.1.1 dev eth1 metric 10

Также я не могу добавить маршрут без метрики Вот моя таблица маршрутов по умолчанию:

root@test:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
168.63.129.16   192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
169.254.169.254 192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

root@test:~# ip route add default via 192.168.1.1 dev eth1
RTNETLINK answers: File exists
root@test:~# ip route add default via 192.168.1.1 dev eth1 metric 10
root@test:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    10     0        0 eth1
168.63.129.16   192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
169.254.169.254 192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
root@test:~# ping 8.8.8.8 -I eth0
PING 8.8.8.8 (8.8.8.8) from 192.168.0.4 eth0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=2.51 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=2.10 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.102/2.308/2.514/0.206 ms
root@test:~# ping 8.8.8.8 -I eth1
PING 8.8.8.8 (8.8.8.8) from 192.168.1.4 eth1: 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
18 packets transmitted, 0 received, 100% packet loss, time 17410ms
-1
akuscu 7 Ноя 2019 в 15:29

1 ответ

Если вы хотите получить доступ к общедоступной сети со второго сетевого адаптера, попробуйте следующую команду:

ip route add default via 192.168.1.1 dev eth1 table 11
ip rule add from 192.168.1.4 table 11

11 здесь просто идентификатор, если вы добавите третий сетевой адаптер, вы можете добавить его маршрут в таблицу 12, 13....

Сделав это, вы должны использовать свой второй частный IP-адрес NIC для проверки связи с общедоступным сетевым адресом:

ping 8.8.8.8 -I 192.168.1.4

Надеюсь, это поможет .

1
Stanley Gong 13 Ноя 2019 в 05:22
Привет @akuscu, как дела? Ваша проблема решена?
 – 
Stanley Gong
15 Ноя 2019 в 06:02
Спасибо за ответ. Но на самом деле я хочу иметь возможность использовать обе мои сетевые карты. Я думаю, что в этом решении можно использовать только 2. nic.
 – 
akuscu
22 Ноя 2019 в 16:39
Это по-прежнему не работает, согласно моему тесту на Azure. Я подозреваю, что Azure блокирует трафик ICMP от второго сетевого адаптера?
 – 
Dexuan
17 Дек 2020 в 23:42