Я всегда думал, что шлюзы по умолчанию должны находиться в той же сети, что и сервер / клиент, пытающийся подключиться к Интернету. Однако сегодня я арендовал сервер у Hetzner, и сервер может подключаться к Интернету, хотя, как мне кажется, шлюз по умолчанию определенно не подключен к той же сети. Также сетевая маска, похоже, установлена на /32.[1240 visible. Спасибо !
Если быть точным, то шлюз должен находиться в той же физической сети, что и компьютер, так как для его достижения (или достижения любого компьютера в сети, на самом деле) требуется отправка ARP-пакетов. Для этого любая локальная сеть требует маршрутного элемента, который определяет "подключенные" компьютеры. Вот как будет выглядеть маршрутный элемент для более распространенной сетевой установки:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.193.254 0.0.0.0 UG 0 0 0 enp0s3
192.168.193.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
Как вы видите из второй строки, хорошо определено, как достичь шлюзового сервера. Если бы не этот элемент, то gw был бы недоступен, даже если он находится в одной сети.
В вашем случае, вторая строка маршрутного элемента служит этой цели, хотя она предназначена для одного узла, а не для сети:
172.31.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
Таким образом, решение заключается в том, что ваш компьютер и шлюз, вероятно, находятся в одной физической сети, и вашему серверу сказано, как связаться со шлюзом. С этого момента не имеет значения, находятся ли они в одной логической сети или нет.
Кроме того, не имеет значения, что такое сетевая маска, если таблица маршрутизации содержит записи о компьютерах. Установка сетевой маски только определяет, как заполнить таблицу маршрутизации, но если у вас есть /24
запись подсети в таблице маршрутизации (как в моем первом примере), и установите сетевую маску в /32
, то сервер с радостью свяжется с каждым компьютером, определенным в таблице маршрутизации.
Это работает и в обратном направлении: если у вас есть /24
сетевая маска, но нет записей маршрутизации "on-link", то локальная сеть будет недоступна.