Таблицы маршрутизации в двух маршрутизаторах, подключенных через VPN

У меня есть два маршрутизатора Asus, подключенных через VPN через Интернет.Home(VPN-клиент) сеть192.168.0.0/24иWork(VPN-сервер) сеть192.168.1.0/24. Более подробная информация там .

Компьютеры внутри каждой сети не видят другую сторону сети VPN. Попытка понять таблицы маршрутизации на каждом маршрутизаторе:

Работа:

      Destination     Gateway         Genmask         Flags    Metric Ref    Use Type Iface
10.8.0.2        *               255.255.255.255 UH       0      0        0      tun21
78.57.123.254   *               255.255.255.255 UH       0      0        0 WAN0 eth0
169.254.39.0    *               255.255.255.0   U        0      0        0 LAN  br0
10.8.0.0        10.8.0.2        255.255.255.0   UG       0      0        0      tun21
192.168.1.0     10.8.0.2        255.255.255.0   UG       0      0        0      tun21
192.168.0.0     *               255.255.255.0   U        0      0        0 LAN  br0
78.57.120.0     *               255.255.252.0   U        0      0        0 WAN0 eth0
default         78.57.123.254   0.0.0.0         UG       0      0        0 WAN0 eth0

Дом:

      Destination     Gateway         Genmask         Flags    Metric Ref    Use Type Iface
default         78.61.155.254   0.0.0.0         UG       0      0        0 WAN0 vlan2
10.8.0.0        10.8.0.5        255.255.255.0   UG       0      0        0      tun14
10.8.0.5        *               255.255.255.255 UH       0      0        0      tun14
78.61.152.0     *               255.255.252.0   U        0      0        0 WAN0 vlan2
78.61.155.254   *               255.255.255.255 UH       0      0        0 WAN0 vlan2
192.168.0.0     10.8.0.5        255.255.255.0   UG       0      0        0      tun14
192.168.1.0     *               255.255.255.0   U        0      0        0 LAN  br0
239.0.0.0       *               255.0.0.0       U        0      0        0 LAN  br0

Попытка подключиться к ПК в домашней сети из рабочей сети:

      Tracing route to 192.168.1.100 over a maximum of 30 hops

  1    <1 ms    <1 ms    <1 ms  router.asus.com [192.168.0.1]
  2     2 ms     1 ms     1 ms  10.8.0.6
  3     *        *        *     Request timed out.

Насколько я понимаю, первая строка означает, что пакет отправляется на рабочий маршрутизатор, и это нормально. Строка 2 означает, что пакет передается на интерфейс. Но я не вижу такого IP ни в одной из обеих таблиц? Какой роутер принадлежит10.8.0.6? Насколько я понимаю, это должно пройти10.8.0.2. Что не так с моим пониманием?

1 ответ

Строка 2 означает, что пакет передан на интерфейс 10.8.0.6. Но я не вижу такого IP ни в одной из обеих таблиц?

Не совсем. Это означает, что маршрутизатор 10.8.0.6 ответил на ваш пакет, но ничего не говорит о том, как этот пакет был ему первоначально доставлен.

Поскольку маршрутизаторы по своей природе имеют несколько IP-адресов, относительно часто маршрут имеет один адрес в качестве «шлюза», но фактический шлюз отправляет ответы об ошибках, используя другой. 1 Это всё тот ​​же шлюз.

В частности, в OpenVPN ранее конфигурация по умолчанию не использовала традиционную топологию «подсети», вместо этого по умолчанию использовалась имитация каналов «точка-точка» /30. Таким образом, первый клиент будет 10.8.0.1/30 (с VPN-сервером 10.8.0.2), второй клиент будет 10.8.0.5/30 (с VPN-сервером 10.8.0.6), третий клиент будет 10.8. 0.9/30 (с VPN-сервером 10.8.0.10)... и так далее.

Как вы можете видеть, у клиентов будут подсети и адреса «/30», представляющие один и тот же шлюз VPN, и любой из них потенциально может быть выбран для ответов об ошибках ICMP (что и показывает «traceroute»).

В большинстве случаев это не имеет значения; отсутствие подключения вызвано чем-то другим – возможно, правила брандмауэра «домашнего» маршрутизатора блокируют пакеты.

Но если вам конкретно нужна топология в стиле подсети (где все клиенты имеют один и тот же адрес шлюза), вы можете изменить режим топологии в конфигурации сервера OpenVPN, хотя нет никакой гарантии, что ASUS предоставит эту опцию (она может быть где-то в разделе "передовой").


1 (И, кстати, ваша VPN используетtunинтерфейс – это туннель «уровня 3», который не имеет адресации MAC-уровня, которая была бы необходима для того, чтобы параметр «шлюз» таблицы маршрутизации имел какой-либо эффект. Это означает, что ваш маршрут «192.168.1.0/24 через 10.8.0.2 dev tun21» не имеет возможности фактически запросить доставку пакета конкретно на 10.8.0.2 — он просто всегда будет идти к тому, что находится на другой конец tun21.)

Другие вопросы по тегам