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

Связь сервера OpenVPN с сервером OpenVPN

У меня есть два облачных сервера в одном дата-центре Digital Ocean с включенной внутренней связью (они могут пинговать друг друга). На каждом облачном сервере установлен сервер OpenVPN.

Мой вопрос: как я могу передать данные от клиента A через vpn-сервер A через внутреннее ip-пространство через vpn-сервер B на клиент B и наоборот? Я использую Ubuntu Server 16.04 как на облачных серверах, так и на клиентах.

Спасибо draw.io

Я пытался:

1) Добавление маршрутов к каждому VPN-серверу[1]

Сервер А

sudo route add -net 172.16.200.0 netmask 255.255.255.0 gw 10.132.52.131 eth1

Сервер B

sudo route add -net 172.16.100.0 netmask 255.255.255.0 gw 10.132.27.6 eth1

Константы:

Переадресация IP включена на всех устройствах

У клиента A есть правило для отправки всех пакетов в подсети .200 на VPN-сервер A:

sudo route add -net 172.16.200.0 netmask 255.255.255.0 gw 172.16.100.254

У клиента B есть правило для отправки всех пакетов в подсети .100 на VPN-сервер B:

 sudo route add -net 172.16.100.0 netmask 255.255.255.0 gw 172.16.200.254

Если я сделаю tcpdump, я смогу увидеть, как клиенты отправляют пинг на свой соответствующий VPN-сервер. Однако, похоже, на этом все и заканчивается. То есть tcpdump на другом конце никогда не показывает активности, за исключением ответа arp.

Поскольку ваши два адреса «10/8» для частной сети находятся в разных подсетях, почти наверняка существует какое-то другое устройство, которое также необходимо изменить.

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

Итак, на вашем сервере 1 у вас будет ccd для клиента «server 2», который будет проталкивать адрес вроде 172.16.100.253 и настраивать маршруты и iroutes для сети 172.16.200.0/24.

По сути, это будет просто установка «сервера 1», как если бы он обрабатывал соединение типа «сеть-сеть» для клиента «сервер 2» и сетей.