Назад | Перейти на главную страницу

Site-to-Site VPN: доступность мостовых устройств в подсети

У меня следующая проблема.

Я установил соединение типа "сеть-сеть" через IPSec между виртуальной сетью в Azure и Raspberry Pi у себя дома.

Raspberry Pi подключен через кабель к моему маршрутизатору (интерфейс eth0) и действует как VPN-шлюз и дополнительный маршрутизатор для отдельной сети через интерфейс Wlan (wlan0).

Итак, у меня есть следующая структура:

Дома:

Public IP: 87.114.x.x
Router with first subnet: 192.168.2.0/24
  => Raspberry PI via eth0 Interface: 192.168.2.109
  => Starting from the Raspberry Pi:
    => Second subnet via wlan0 interface: 192.168.10.0/24
      => My mobile phone connected to RPI via WLAN: 192.168.10.185
      => Laptop connected to RPI via WLAN via en0: 192.168.10.177
        => Virtual machine on laptop with network bridge to en0: 192.168.10.137

В Azure:

Public IP. 104.122.x.x
  => Subnet: 10.3.0.0/24
    => Virtual machine: 10.3.0.5

Туннель IPSec:

10.3.0.0/24 === 192.168.10.0/24

Интерфейсы eth0 и wlan0 на RPI «подключены» в обоих направлениях через iptables (правило пересылки).

Связь между подсетями устанавливается без проблем. Я могу подключиться к виртуальным машинам в Azure со всех устройств в моей домашней сети (192.168.10.0/24), включая виртуальную машину на моем ноутбуке.

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

Если я подключаюсь к виртуальной машине Azure через SSH с локальной виртуальной машины, в netstat отображается IP-адрес моего ноутбука, а не IP-адрес виртуальной машины (что в принципе верно).

Подозреваю проблема с таблицами ARP.

Как вы думаете, в чем проблема?