пересылка пакетов между двумя туннельными сетями openvpn на одном хосте

У меня есть два туннеля p2p для двух разных серверов на хосте, tun1 и tun2: (хост - это сервер Ubuntu 18.04)

(Сервер 1: IP1) <--> (Хост: IP0) ​​<- > (Сервер 2: IP2)

Для tun1 на сервер 1 у меня есть:

proto       udp
mode        p2p
remote      IP1
rport       4856
local       IP0
lport       4856
dev-type    tun
tun-ipv6
resolv-retry infinite
dev  tun1
comp-lzo
persist-key
persist-tun
cipher aes-256-cbc
ifconfig 192.168.76.2  192.168.76.3
secret /etc/openvpn/key.key

для tun2 на сервер 2 у меня есть:

proto       udp
mode        p2p
remote      IP2
rport       4857
local       IP0
lport       4857
dev-type    tun
tun-ipv6
resolv-retry infinite
dev  tun2
comp-lzo
persist-key
persist-tun
cipher aes-256-cbc
ifconfig 192.168.77.2  192.168.77.3
secret /etc/openvpn/key.key

Я хочу пересылать пакеты, полученные на tun1 с dst = IP4, на tun2, поэтому я добавил статический маршрут:

ip route добавить IP4 / 32 через 192.168.77.3

Пересылка IP также включена.

sysctl -w net.ipv4.ip_forward = 1

Правил Iptables не существовало. Все цепочки имеют поведение ПРИНЯТЬ.

Все туннельные интерфейсы подключены к своим соответствующим серверам и выше. Когда я отправляю пакеты с Сервера 1 с dst = IP4 в туннель, пакеты принимаются на хосте, но они не пересылаются на tun2, и я не могу увидеть их на Сервере 2, используя tcpdump . Есть идеи?

0
задан 26 March 2021 в 22:05
1 ответ

Мне нужно явно включить пересылку на tun1 (входящий трафик):

sysctl -w net.ipv4.conf.tun1.forwarding = 1

sysctl -w net.ipv4.ip_forward = 1 недостаточно (на самом деле это не нужно).

0
ответ дан 24 April 2021 в 02:07

Теги

Похожие вопросы