Всем привет!
Есть клиент и сервер Openvpn, между ними есть связность.
Я бы хотел отправлять трафик к некоторым хостам в Интернет, из сети сервера Openvpn, через сеть его клиента. Вот интерфейсы Openvpn.
Сервер:
tun1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.254.1 netmask 255.255.255.255 destination 192.168.254.2
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 49 bytes 3984 (3.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 135 bytes 11216 (11.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Клиент:
tun30: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.254.17 netmask 255.255.255.255 destination 192.168.254.18
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 1274 bytes 148424 (148.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1056 bytes 179790 (179.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
На клиенте включен форвардинг:
sysctl -p
net.ipv4.ip_forward = 1
Включен маскарадинг на внешнем интерфейсе клиента:
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
и на время отладки:
iptables -P FORWARD ACCEPT
На сервере добавлены маршруты:
ip route add 192.168.254.17 dev tun1 scope link
ip route add 8.8.8.8 via 192.168.254.17 dev tun1
Но пинги к 8.8.8.8 не идут через 192.168.254.17.
tcpdump -ni any icmp
На клиенте не показывает никаких icmp пакетов, при запущенном пинге 8.8.8.8 с сервера.
Помогите пожалуйста разобраться, что не так с моей конфигурацией.
Из сети клиента 8.8.8.8 пингуется как по дефолтному маршруту (когда весь трафик через openvpn сервер), так и по выделенному маршруту для 8.8.8.8 (когда весь трафик через Интернет локального провайдера). Проще говоря "схема наоборот" работает.