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

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

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

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

Хотя я мог бы добавить маршрут для шифрования всего трафика (используя на 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 для достижения этой цели.

2 ответа

Я думаю, что вам нужна дополнительная таблица маршрутизации для всего трафика между 2 хостами, кроме 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 при запуске / успешной настройке соединения.

Другие вопросы по тегам