Таблица маршрутизации со шлюзом в той же сети и интерфейсе, почему?

Таблица маршрутизации со шлюзом в той же сети и интерфейсе, почему?

Подключившись к VPN нашей компании и просматривая таблицу маршрутизации, я обнаружил следующее:

172.16.0.0      10.8.0.241      255.255.0.0     UG    0      0        0 tun0
10.8.0.241      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.241      255.255.255.0   UG    0      0        0 tun0

Думаю, я правильно понимаю первую строку: пакет в сеть 172.16 сбрасывается в интерфейс tun0, но адресован шлюзу 10.8.0.241, который позаботится обо всем остальном.

Во второй строке прямо говорится, что для перехода на 10.8.0.241 достаточно просто подключиться к tun0.

Чего я не понимаю, так это почему последние две строки нельзя просто объединить в

10.8.0.0        0.0.0.0      255.255.255.0   UG    0      0        0 tun0

сказать, что все, что касается 10.8, можно просто сбросить в туннель, и нужная машина его подхватит. Почему пакет до 10.8 должен быть сначала явно передан шлюзу той же сети? Может быть, 10.8.0.251 здесь используется как коммутатор, потому что это единственная машина, напрямую подключенная к другому концу tun0 и знающая способы, как пересылать пакеты дальше для 10.8?

решение1

Прежде чем ответить на этот вопрос, позвольте мне объяснить связанные между собой флаги.

  • U (маршрут вверх)
  • H (цель — хост)
  • G (использовать шлюз)

Маршрут 2и 3не могут быть объединены, поскольку вы сообщаете исходной машине, что нужно достичь ее 10.8.0.241напрямую ( metric 0), а для достижения любой машины с сетевым идентификатором 10.8.0.0/24используйте шлюз 10.8.0.241. Я не уверен, почему мы пересылаем пакеты на шлюз по умолчанию, но это может быть трюком для внедрения обратного маршрута на маршрутизаторе шлюза / брандмауэре.

решение2

Предположительно топология сети будет следующей:

Клиент => Интернет => 10.8.0.241 => 10.8.0.0/24

Когда VPN установлен, вы не можете напрямую подключиться ни к какому хосту, кроме конечной точки VPN через tun0. Чтобы отправить данные куда-либо еще в диапазоне 10.8.0.0/24, вам нужно отправить их на GW (10.8.0.241), который затем перенаправит их на нужный хост.

Это может быть сделано для того, чтобы предоставить вам IP-адрес в той же сети, что и серверы на удаленной конечной точке, или чтобы вы могли подключаться к другим VPN-клиентам.

Связанный контент