Qual é a diferença entre route add xxxx via gatewayip e route add dev interface?

Qual é a diferença entre route add xxxx via gatewayip e route add dev interface?

Fiquei tão confuso com minha configuração.

No meu servidor tenho 2 interfaces:

eth0: 192.168.1.22  gw 192.168.1.1
eth2: 10.2.1.6 gw 10.2.1.1

Eu escrevi uma rota estática:

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

Por que?????

Responder1

Na segunda forma ( ip r a 8.8.8.8 dev eth0) você não especificou um gateway, então para qual roteador o pacote deve ser encaminhado? Não conhecendo nenhum gateway, seu servidor simplesmente responde com "Host de destino inacessível".

Especificar uma interface pode ser útil por dois motivos:

  • se um host remoto for roteado através do mesmo gateway, acessível emdoisinterfaces diferentes, você pode criar duas rotas diferentes com distintas devpara o mesmo gateway. Você pode então priorizar entre as duas rotas metricou usarRoteamento ECMPpara conseguir algum tipo de balanceamento de carga;
  • para interfaces ponto a ponto (pense em interfaces VPN ou tun), onde todo o tráfego é "capturado" pela interface especificada (o gateway não é importante)

Responder2

ip r a 8.8.8.8 dev eth0significa "8.8.8.8 está diretamente conectado à interface eth0". O kernel do Linux tenta resolver o endereço MAC de 8.8.8.8 com solicitação arp, não recebe resposta e relata o erro "Host de destino inacessível"

informação relacionada