LINUX.ORG.RU
ФорумAdmin

OpenVPN два сервера.


0

0

Возникла проблема при настройке "двойного впн" (то есть юзер коннектится к 1 ovpn серверу, потом весь трафик идет на второй ovpn сервер, а оттуда в мир - и в обратном порядке естесственно).

server1 - впн-сервер для юзера и впн-клиент для впн-сервера на server2, интерфейсы tun1 (туда коннектится юзер) и tun2 (коннект с server2) server2 - впн-сервер для server1, интерфейсы tun1 (коннект с server1) и eth0 (мир).

как бы все это разрулить в плане марщрутизации правильно?

anonymous
Ответ на: комментарий от true_admin

а маскарад на втором сервере не нужен?

anonymous
()

Ситуаций на самом деле надо рассматривать две. Для начала нарисуем схему:

Клиент:
ppp0 = 10.0.0.2/30 - "внешний" интерфейс клиента
tun0 = 192.168.0.2/30 - интерфейс клиента на OpenVPN

Сервер1:
eth0 = 10.0.1.1/24 - "внешний" интерфейс сервера1
tun1 = 192.168.0.1/30 - интерфейс сервера на OpenVPN к клиенту
tun2 = 192.168.1.1/30 - интерфейс сервера1 на OpenVPN к серверу2

Сервер2:
eth0 = 10.0.2.1/24 - "внешний" интерфейс сервера2
tun0 = 192.168.1.2/30 - интерфейс сервера2 на OpenVPN к серверу1

-----------------------

Если на первом сервере нет выхода в Интернет, тогда:

на клиенте должна быть такая таблица маршрутизации:
10.0.1.0/255.255.255.0 gw 10.0.0.1 dev ppp0
default gw 192.168.0.1 dev tun0 (маршрут по умолчанию через OpenVPN)

На сервере1 должна быть такая таблица:
10.0.2.0/255.255.255.0 gw 10.0.1.254 dev eth0 (маршрут на внешний интерфейс сервера2 через внешний интерфейс)
10.0.0.0/255.255.255.0 gw 10.0.1.254 dev eth0 (маршрут на внешний интерфейс клиента через внешний интерфейс)
default gw 192.168.1.2 dev tun2 (маршрут по умолчанию через OpenVPN на сервер2)

На сервере2 должна быть такая таблица:
default gw 10.0.2.254 dev eth0 (маршрут по умолчанию через внешний интерфейс)
192.168.0.0/255.255.255.252 gw 192.168.1.1 dev tun0 (маршрут на клиента через OpenVPN на сервер1)

Это самый простой случай, тривиально реализуемый

---------------------------------------------------------

Сложный случай, когда и сервер1, и сервер2 имеют выходы в Интернет:

Конфигурация клиента не меняется.

Конфигурация сервера1 включает policy routing, пакеты пришедшие через OpenVPN от клиента помечаются специальной меткой (man iptables на предмет -j MARK). Схема маршрутизации выглядит следующим образом:
default gw 10.0.2.254 dev eth0 (маршрут по умолчанию через внешний интерфейс)
if {MARK} default gw 192.168.1.1 dev tun0 (для помеченных пакетов машрут по умолчанию через OpenVPN на сервер2)

Конфигурация сервера2 не меняется.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

а чем в вашем случае является 10.0.0.1 - шлюзом провайдера?

anonymous
()
Ответ на: комментарий от no-dashi

>На сервере2 должна быть такая таблица: default gw 10.0.2.254 dev eth0 (маршрут по умолчанию через внешний интерфейс) 192.168.0.0/255.255.255.252 gw 192.168.1.1 dev tun0 (маршрут на клиента через OpenVPN на сервер1)

Каким же образом будет такая таблица, если на втором сервере нет интерфейса с 192.168.0.0 ?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.