O que o gateway 0.0.0.0 significa na tabela de roteamento?

12

Eu sou novo como administrador de sistemas Linux e estou aprendendo sobre tabelas de roteamento.

Atualmente, tenho duas interfaces na minha máquina virtual:

vagrant@vagrant-ubuntu-trusty-64:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:2e:8d:5d  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe2e:8d5d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3146 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2853 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:218526 (218.5 KB)  TX bytes:212044 (212.0 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:5b:5e:65  
          inet addr:172.28.128.3  Bcast:172.28.128.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe5b:5e65/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5080 (5.0 KB)  TX bytes:4622 (4.6 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Quando executo route -n, vejo as seguintes tabelas:

vagrant@vagrant-ubuntu-trusty-64:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.28.128.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Eu sei que a primeira entrada é a rota padrão. Basta saber o que o gateway de segunda e terceira entradas (0.0.0.0) significa aqui?

Kintarō
fonte
3
No Linux, prefira as mais modernas ip addre ip routeferramentas.
User1686

Respostas:

18

Onde o gateway é todo zerado, significa que não há gateway.

Isso ocorre porque as redes em questão estão diretamente conectadas à máquina, pois a máquina possui um endereço IP em uma interface que se enquadra nessa sub-rede da rede.

Quaisquer pacotes para essas redes não precisam ser roteados, pois estão conectados, para que os pacotes possam ser enviados diretamente para o destino na rede local.

Se a máquina tiver um pacote destinado a outro dispositivo nessas redes, ele fará uma solicitação ARP, para encontrar o endereço MAC associado ao IP e transmitir o pacote diretamente para esse endereço MAC.

Paulo
fonte
Obrigado pela sua resposta! Então, posso ter dois gateways diferentes na tabela de roteamento? Acho que posso, mas serão duas sub-redes diferentes?
Kintarō
Observe que um gateway é um endereço IP para o qual você envia pacotes para uma rede específica. O gateway padrão é um endereço IP para o qual você envia pacotes que não têm outras correspondências na tabela de roteamento. Portanto, sim, você pode ter muitos gateways, se tiver sub-redes diferentes acessíveis por roteadores diferentes. Você pode ter vários gateways padrão nos quais há vários caminhos para a Internet, por exemplo.
Paul
Você pode ter vários gateways - por sub-rede (sub-redes menores têm prioridade sobre os maiores) ou com vários gateways para a mesma sub-rede - nesse caso, 1 será preferido com base na métrica e posição na tabela de rotas ou com várias tabelas de rotas com gateways diferentes e use o roteamento baseado em diretivas para determinar qual tabela usar.
Davidgo 18/03
Muito obrigado por esta resposta
Jason Krs 15/03