Що означає шлюз 0.0.0.0 в таблиці маршрутизації?


12

Я новачок в тому, щоб бути адміністратором системи Linux, і я дізнаюся про таблиці маршрутизації.

На даний момент у моїй віртуальній машині є два інтерфейси:

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)

Коли я виконую route -n, я бачу такі таблиці:

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

Я знаю, що перший запис - це маршрут за замовчуванням. Тільки цікаво, що тут означає 2-й та 3-й записи шлюзу (0.0.0.0)?


3
У Linux віддайте перевагу більш сучасним ip addrта ip routeінструментам.
користувач1686

Відповіді:


18

Там, де на шлюзі є всі нулі, це означає, що шлюзу немає.

Це пояснюється тим, що відповідні мережі безпосередньо приєднані до машини, оскільки машина має IP-адресу на інтерфейсі, який потрапляє в цю мережу.

Будь-які пакети для цих мереж не потрібно маршрутизувати, оскільки вони підключені, тому пакети можуть бути відправлені безпосередньо до місця призначення в локальній мережі.

Якщо машина має пакет, призначений для іншого пристрою в цих мережах, він зробить запит ARP, знайти MAC-адресу, пов'язану з IP-адресою, і передасть пакет безпосередньо на цю MAC-адресу.


Дякуємо за Ваш відповідь! Тож чи можу я мати два різних шлюзи в таблиці маршрутизації? Я думаю, що можу, але вони будуть двома різними підмережами?
Kintarō

Зауважте, що шлюз - це IP-адреса, на яку ви надсилаєте пакети для певної мережі. Шлюз за замовчуванням - це IP-адреса, на яку ви надсилаєте пакети, у яких немає інших збігів у таблиці маршрутизації. Так, так, ви можете мати багато шлюзів, якщо у вас є різні підмережі, доступні через різні маршрутизатори. Ви можете мати кілька шлюзів за замовчуванням, де, наприклад, є кілька шляхів до Інтернету.
Павло

Ви можете мати декілька шлюзів - або для кожної підмережі (менші підмережі отримують пріоритет над більшою), або мати декілька шлюзів для однієї підмережі. з різними шлюзами та маршрутами на основі політики, щоб визначити, яку таблицю використовувати.
Давидго

Дякую вам за цю відповідь
Джейсон Крс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.