У меня следующая установка:
10.0.1.0/24
с машиной, используемой как NAT, а также с клиентом OpenVPN192.168.1/24
с сервером OpenVPN (сюда подключается сервер в подсети 1)10.0.2.0/24
который использует NAT-машину (подсеть 1) для доступа в Интернет, поэтому весь нелокальный трафик направляется туда на eth0
интерфейсКлиент 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 исправления становятся гораздо более гибкими, дайте мне знать, если вам нравится решение в этом отношении.