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

Конечная точка OpenVPN к конечной точке с использованием реальных IP-адресов

Я хочу соединить два сервера друг с другом через Интернет. По разным причинам я не могу использовать для этого IPSec.

Я хочу, чтобы трафик был прозрачно зашифрован, как если бы я использовал транспортный режим IPSec. Я решил использовать для этого маршрутизацию (но я открыт для лучших альтернатив)

Мой туннель открыт 10.255.255.0/30, A использует .1, Автобусы .2. Допустим, сервер A находится в 192.168.0.100 и сервер B 172.16.0.200.

Хотя я мог добавить маршрут для шифрования всего трафика (используя на A ip route add 172.16.0.200/32 dev tun0 via 10.255.255.2), при этом туннель уничтожается, потому что трафик OpenVPN использует тот же удаленный IP-адрес для поддержания туннеля.

Мне нужен способ проложить фактический туннель OpenVPN через eth0 но в противном случае используйте tun0 для передачи всего трафика между серверами A и B. У меня включен ip_forward на обоих серверах и соответствующие правила брандмауэра, чтобы разрешить трафик, но я не уверен, с чего начать в iptables для этого.

Думаю, вам нужна дополнительная таблица маршрутизации для всего трафика между двумя хостами, кроме openvpn. Вы можете попробовать что-то вроде этого:

iptables -t mangle -A OUTPUT -d 172.16.0.200/32 -p <vpn_protocol> ! --dport <vpn_port> -j MARK --set-mark 2

ip route add default via 10.255.255.2 dev tun0 table 2

ip rule add fwmark 2 table 2

по обе стороны от туннеля

Вам следует добавить маршрут к удаленной сети через интерфейс туннелирования и более конкретный маршрут, гарантирующий, что ваш трафик на удаленный шлюз OpenVPN не будет отправляться через интерфейс туннеля. Пример:

ip route add 192.168.0.0/24 via 10.255.255.2 dev tun0
ip route add 192.168.0.100 via 172.16.0.1 dev eth0 

Первый ip route добавляет маршрут к сети назначения, а второй ip route добавляет маршрут хоста к шлюзу OpenVPN, расположенному в той же сети. 172.16.0.1 это шлюз с действующим маршрутом к 192.168.0.100 и eth0 это локальный интерфейс, подключающийся к той же сети, что и шлюз. Обратите внимание, что первый ip route будет ненужным, если вы настроили OpenVPN с route и push "route ..." операторы, так как они будут добавлены демоном OpenVPN при запуске / успешной установке соединения.