В чем разница между route add xxxx через gatewayip и route add dev interface?

В чем разница между route add xxxx через gatewayip и route add dev interface?

Я был так запутан в своей конфигурации.

На моем сервере есть 2 интерфейса:

eth0: 192.168.1.22  gw 192.168.1.1
eth2: 10.2.1.6 gw 10.2.1.1

Я написал статический маршрут:

ip r a 8.8.8.8 via 192.168.1.1
 worked great!!

then I deleted it and
ip r a 8.8.8.8 dev eth0
 From 192.168.1.22 icmp_seq=1 Destination Host Unreachable

Почему?????

решение1

Во второй форме ( ip r a 8.8.8.8 dev eth0) вы не указали шлюз, так на какой маршрутизатор следует перенаправить пакет? Не зная никаких шлюзов, ваш сервер просто отвечает "Destination Host Unreachable".

Указание интерфейса может быть полезно по двум причинам:

  • если удаленный хост маршрутизируется через тот же шлюз, сам по себе доступен надваразличные интерфейсы, вы можете создать два разных маршрута с разными devдля одного и того же шлюза. Затем вы можете установить приоритет между двумя маршрутами через metricили использоватьМаршрутизация ECMPдля достижения некоторой балансировки нагрузки;
  • для интерфейсов «точка-точка» (например, интерфейсы VPN или tun), где весь трафик «перехватывается» указанным интерфейсом (шлюз не важен)

решение2

ip r a 8.8.8.8 dev eth0означает "8.8.8.8 напрямую подключен к интерфейсу eth0". Ядро Linux пытается разрешить MAC-адрес 8.8.8.8 с помощью запроса ARP, не получает ответа и сообщает об ошибке "Destination Host Unreachable"

Связанный контент