Маршрутизация трафика между двумя серверами OpenVpn

Маршрутизация трафика между двумя серверами OpenVpn

Я пытаюсь направить трафик между двумя серверами OpenVPN; мне хотелось бы иметь следующее соединение:

Клиент --> OpenVpnServer1 --> OpenVpnServer2 --> Интернет

У меня оба сервера запущены и работают по отдельности, но я попытался настроить OpenVpnServer1 на пересылку всего трафика его клиентов на OpenVpnServer2 с помощью iptables, но это не удалось.

Интерфейсы и конфигурации OpenVpnServer1:

eth0 -- публичный интернет

tun0 -- для клиентов, подключающихся к этому серверу

tun1 -- интерфейс подключения ко второму серверу (активен при подключении с использованием клиента OpenVPN)

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.10.0.0/8 -o eth0 -j MASQUERADE
COMMIT

Интерфейсы и конфигурации OpenVpnServer2:

ens33 -- публичный интернет

tun0 -- для клиентов, подключающихся к этому серверу

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o ens33 -j MASQUERADE
COMMIT

Обновлять:

Я проверил соединения между server1 и sever2, и server1 может пинговать google со своего адаптера tun1. Проблема в том, что я не знаю, как перенаправить трафик, не меняя маршрут по умолчанию на server1. Если я изменю маршрут по умолчанию на tun1, то клиенты не смогут подключиться к server1.

решение1

Хорошо, сначала немного основ. Клиент открывает VPN-подключение к Server1. У сервера есть активное подключение к server2, и это подключение настроено как маршрут по умолчанию (вы это сделали, верно?)

Прежде всего, я бы настроил этот туннель между server1 и server2 как VPN типа «сеть-сеть», но это уже другая тема.

На сервере server1 ваше правило iptables неверное. Правильное правило будет:

iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE

Почему?

Если вы хотите, чтобы эта настройка работала, вам нужно сделать вид, что весь трафик, проходящий через vpn-туннель от server1 до server2, инициируется server1, в деталях имеет IP вашего интерфейса tun1, так что ответ достигает server1 и может быть правильно перенаправлен обратно клиенту. Это то, что делает правило. Ваше правило, напротив, будет маскировать весь трафик, выходящий в публичный интернет, а не через какой-либо VPN.

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