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

Мостовая сеть OpenVPN от маршрутизируемых клиентов

У меня следующая установка:

Клиент OpenVPN создает tun0 интерфейс и соответствующую маршрутизацию, чтобы я мог получить доступ к машинам из 192.168.1/24

[root@ip-10-0-1-208 ~]# telnet 192.168.1.186 8081
Trying 192.168.1.186...
Connected to 192.168.1.186.
Escape character is '^]'.

[root@ip-10-0-1-208 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.1        0.0.0.0         UG    0      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.0.0     10.8.0.5        255.255.0.0     UG    0      0        0 tun0

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

[root@ip-10-0-2-61 ~]# telnet 192.168.1.186 8081
Trying 192.168.1.186...

Я подозреваю, что это потому, что подсеть 3 направляется к eth0 на машине NAT в подсеть 1 и он не может перейти к tun0.

Какой самый простой способ решить эту проблему? Я не хочу использовать iptables. Я не могу изменить маршрутизацию с машин в подсеть 1 потому что это сделано в AWS и поэтому работает только с определенными интерфейсами. Кроме того, машина с NAT получает свой IP-адрес с помощью DHCP, поэтому создание мостов немного усложняется.

Переадресация IP настроена на машине NAT

[root@ip-10-0-1-208 ~]# cat /proc/sys/net/ipv4/ip_forward
1

Спасибо!

Поскольку вы не можете изменить маршрутизацию в подсети 1 и не хотите использовать iptables, одним из подходов будет создание туннеля vpn из подсети 3 в подсеть 2 напрямую.

Если ваши шлюзы для подсети 3 и подсети 2 являются серверами Linux, я бы также использовал openvpn. Если это устройство межсетевого экрана, создайте туннель vpn с помощью программного обеспечения межсетевого экрана для связи с межсетевым экраном подсети 2.

Конечно, с iptables и возможностью изменять маршрутизацию в подсети 1 исправления становятся гораздо более гибкими, дайте мне знать, если вам нравится решение в этом отношении.