Что означает 0.0.0.0 в столбце назначения и шлюза
Столбец "destination" вместе с "genmask" - это маска, которой должен соответствовать адрес получателя: (packet_destination & route_mask) == route_destination
. Таким образом, маршрут с пунктом назначения 0.0.0.0
и маской 0.0.0.0
соответствует всему - это маршрут по умолчанию.
В столбце "шлюз" 0.0.0.0
- это просто заполнитель, показывающий, что шлюза вообще нет, а все подходящие хосты доступны напрямую. Таким образом, второй маршрут является локальным .
Таблица маршрутизации может стать немного понятнее, если записать в формате ip route
:
$ ip -n route show
0.0.0.0/0 via 192.168.2.10 dev eth0
192.168.2.0/24 dev eth0
Если пакет отправляется с 192.168.2.36 ip, какой шлюз для этого. Используется 192.168.2.10 или 0.0.0.0
Ваша таблица маршрутизации не описывает источник, а только пункт назначения, поэтому на вопрос нельзя ответить только на основании этого.
Если пакет был отправлен на 192.168.2.36
, он соответствовал бы маршруту 192.168.2.0/24
и не использовал бы какой-либо шлюз.
И если вы действительно имели в виду входящие пакеты, то ваша таблица маршрутизации вообще не применяется к ним - только таблица маршрутизации отправителя определяет шлюз, а не получателя.
Давайте рассмотрим, у меня есть еще одна сеть с IP 192.168.1.0. Если пакет отправляется с какого-либо хоста из этой сети, то каким является шлюз для этого ip.
Если вы получаете пакеты, то ваша таблица маршрутизации не имеет значения. Таким образом, на вопрос можно ответить только на основе таблицы маршрутизации отправителя .
Если вы отправляете пакеты на 192.168.1.x
, они соответствуют только маршруту 0.0.0.0/0
, поэтому они будут использовать 192.168.2.10
в качестве шлюза.
Что такое шлюз по умолчанию.
"Шлюз по умолчанию" - это шлюз, который имеет маршрут по умолчанию .
"Маршрут по умолчанию" - 0.0.0.0/0
(маска назначения 0.0.0.0
0.0.0.0
).
Таким образом, ваш "шлюз по умолчанию" - 192.168.2.10
.