Co oznacza brama 0.0.0.0 w tabeli routingu?

12

Jestem nowym administratorem systemu Linux i uczę się o tablicach routingu.

Obecnie mam dwa interfejsy na mojej maszynie wirtualnej:

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)

Kiedy wykonuję route -n, widzę następujące tabele:

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

Wiem, że pierwszy wpis to domyślna trasa. Zastanawiam się, co oznacza tutaj druga i trzecia bramka (0.0.0.0)?

Kintarō
źródło
3
W systemie Linux preferuj bardziej nowoczesne ip addri ip routenarzędzia.
user1686

Odpowiedzi:

18

Jeśli brama ma wszystkie zera, oznacza to, że nie ma bramy.

Wynika to z faktu, że sieci, o których mowa, są bezpośrednio podłączone do komputera, ponieważ urządzenie ma adres IP na interfejsie należącym do tej podsieci sieciowej.

Wszelkie pakiety dla tych sieci nie muszą być kierowane, ponieważ są połączone, więc pakiety mogą być wysyłane bezpośrednio do miejsca docelowego w sieci lokalnej.

Jeśli urządzenie ma pakiet przeznaczony dla innego urządzenia w tych sieciach, wykona żądanie ARP, aby znaleźć adres MAC powiązany z adresem IP i przesłać pakiet bezpośrednio na ten adres MAC.

Paweł
źródło
Dzięki za odpowiedź! Czy mogę mieć dwie różne bramy w tablicy routingu? Chyba mogę, ale będą to dwie różne podsieci?
Kintarō
Zauważ, że brama to adres IP, na który wysyłasz pakiety dla określonej sieci. Brama domyślna to adres IP, na który wysyłane są pakiety, które nie mają innych dopasowań w tabeli routingu. Tak, możesz mieć wiele bram, jeśli masz różne podsieci dostępne za pośrednictwem różnych routerów. Możesz mieć wiele domyślnych bram, na przykład wiele ścieżek do Internetu.
Paul
Możesz mieć wiele bram - albo na podsieć (mniejsze podsieci mają pierwszeństwo przed większymi) lub przez posiadanie wielu bram dla tej samej podsieci - w takim przypadku 1 będzie preferowany na podstawie metryki i pozycji w tablicy tras lub przez wiele tabel tras z różnymi bramami i routingiem opartym na zasadach, aby określić, której tabeli użyć.
davidgo
Dziękuję bardzo za tę odpowiedź
Jason Krs