что означает 0.0.0.0 в качестве шлюза?

58

Кто-нибудь может уточнить назначение шлюза для меня?

В чем разница между добавлением шлюза в качестве 0.0.0.0и назначением определенного IP-адреса в качестве шлюза?

user2720323
источник
Вы говорите о 0.0.0.0 в качестве шлюза назначения? Или 0.0.0.0 в качестве сети для шлюза по умолчанию? Я никогда не видел 0.0.0.0 в качестве фактического пункта назначения ранее, но видел его как сеть, указанную в таблице маршрутизации.
Куртм
@kurtm: я спрашиваю о назначении 0.0.0.0 в качестве шлюза и назначении определенного IP-адреса в качестве шлюза.
user2720323
Да уж. Я получил это с ответом СЛМ. Мои системы не печатают 0.0.0.0, они заменяют что-то более значимое. Ответы ниже должны объяснить это.
Куртм

Ответы:

44

0.0.0.0имеет конкретное значение «не указано». Это примерно переводится как «нет ничего» в контексте шлюза. Конечно, это предполагает, что сеть локально подключена, так как промежуточный переход отсутствует.

В качестве пункта назначения 0.0.0.0/0он особенный: если нет сетевых битов, в сетевом номере также не может быть ничего. Итак, это естественно не определено.

Однако, придерживаясь вашего вопроса, да, он имеет особое значение. Это означает, что сеть локально подключена к этому интерфейсу, и для перехода к ней больше не требуется.

Сокол Момот
источник
26

Со страницы Википедии 0.0.0.0

выдержка

В версии 4 интернет-протокола адрес 0.0.0.0 - это не маршрутизируемый мета-адрес, используемый для обозначения недопустимой, неизвестной или неприменимой цели. Чтобы придать особое значение недопустимому фрагменту данных, это применение внутриполосной сигнализации.

Со страницы Википедии, Маршрут по умолчанию .

выдержка

Маршрут по умолчанию в версии 4 интернет-протокола (IPv4) обозначается как нулевой адрес 0.0.0.0/0 в нотации CIDR, 1 часто называемый четырехугольным маршрутом. Маска подсети задается как / 0, что эффективно определяет все сети и является кратчайшим возможным соответствием. Поиск маршрута, который не совпадает ни с одним другим маршрутом, возвращается к этому маршруту. Аналогично, в IPv6 маршрут по умолчанию указывается с помощью :: / 0.

В сегменте самого высокого уровня сети администраторы обычно указывают маршрут по умолчанию для данного хоста в направлении маршрутизатора, который имеет соединение с поставщиком сетевых услуг. Следовательно, пакеты с адресатами за пределами локальной сети организации, как правило, адресатами в Интернете или глобальной сети, пересылаются на маршрутизатор с подключением к этому провайдеру.

Устройство, на которое указывает маршрут по умолчанию, часто называют шлюзом по умолчанию, и оно часто выполняет другие функции, такие как фильтрация пакетов, межсетевой экран или операции прокси-сервера.

пример

В ваших вопросах я буду предполагать, что у вас есть что-то вроде этого:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

Это говорит о том, что для каждого из сетевых назначений (192.168.1.0 или 169.254.0.0) этим шлюзом по умолчанию является адресат 0.0.0.0, если пакет НЕ предназначен для какого-либо адреса в этой конкретной сети. Для пункта назначения 0.0.0.0 используйте IP-адрес 192.168.1.254.

Эти правила действуют для направления всего трафика, который не соответствует ни одному из известных нам маршрутов, на маршрут по умолчанию.

Пара образцов

Допустим, у нас есть пакет с IP 192.168.1.110. Первое правило проверяется, и этот IP-адрес соответствует этой сети, поэтому он доставляется.

Если бы у нас был пакет 150.12.13.1, 3-е правило было бы в силе, и пакет был бы направлен к 192.168.1.254.

SLM
источник
Таким образом, в этом примере весь трафик будет идти к 192.168.1.254
Тимоти Пулиам
4

Посмотрите, 0.0.0.0 используется только в таблицах маршрутизации - НЕ для назначения хосту.

Хосты (компьютеры с IP-адресом) поддерживают таблицу маршрутизации, чтобы решить, как отправлять свои сообщения в правильное место.

Сценарий 1: ПК-А хочет отправить сообщение на ПК-Б в той же сети:

1) PC-A проверяет свою таблицу маршрутизации, чтобы определить, соответствует ли IP-адрес назначения. 2) Таблица маршрутизации показывает, что пункт назначения находится в той же сети, находит интерфейс, который подключен к этой сети, а затем пересылает сообщение из этого интерфейса непосредственно в пункт назначения.

Сценарий 2: ПК-А хочет отправить сообщение на Server-Z в ДИСТАНЦИОННОЙ СЕТИ (НЕ в той же сети):

1) PC-A проверяет свою таблицу маршрутизации и не может найти соответствие (конечно, потому что хосты не отслеживают хосты в удаленных сетях - это задания маршрутизаторов).

2) Однако на ПК настроены IP-адрес с четырьмя нулями и маска подсети, сопоставленная с вашим маршрутизатором (шлюз по умолчанию для ДРУГИХ, УДАЛЕННЫХ, РАЗНЫХ сетей), например:

(0.0.0.0 0.0.0.0 192.168.0.1 интерфейс)

Что означает ноль? Это означает, что нет. Итак, если ваш компьютер не отслеживает, где находятся удаленные хосты, и он проверяет свою таблицу маршрутизации каждый раз, когда хочет отправить сообщение, чтобы узнать, нужно ли ему отправлять его в ту же (локальную) сеть или если ему нужно чтобы отправить его в УДАЛЕННУЮ сеть, тогда как оно получает сообщение для удаленной сети?

Он отправляет его на маршрутизатор и позволяет маршрутизатору выполнять свою работу по маршрутизации пакета по наилучшему пути. Итак, хост / ПК / компьютер должен знать, что если он не может найти в своей таблице маршрутизации запись о том, куда отправлять сообщение (также известное как 0.0.0.0), то он знает, что нужно отправить его маршрутизатору, который является IP-адресом. адрес, связанный с записью (0.0.0.0 0.0.0.0 192.168.0.1 interface), и использует связанный интерфейс / NIC / сетевой адаптер, подключенный к нему.

Поэтому 0.0.0.0 используется таблицами маршрутизации на хостах и ​​маршрутизаторах, чтобы знать, куда отправлять что-либо, когда он находит нулевые совпадения для того, как достичь пункта назначения, и должен быть сопоставлен с IP-адресом маршрутизатора и интерфейсом для достижения этого маршрутизатора.

McGavel
источник