Проблема SNAT в iptables

Я пытаюсь перенаправить трафик с определенных устройств в моем доме над openvpn. Для этого я создал туннель OpenVPN между моим домашним Wi-Fi-маршрутизатором и моим сервером.

Вот моя настройка:

Wifi router's outgoing interface IP: 192.168.1.102 Wifi router's openvpn tun0: 10.8.0.2 Server's openvpn tun0: 10.8.0.1 My PC WiFi Server ,- 10.8.0.2(tun0) 10.8.0.1(tun0) --. | | _ __ _ ' .-,( ),-. ' |-| [__]|=| wireless ___|_ VPN .-( )-. VPN |=| /::/|_| <- - - - - > [__...] < - - - > ( internet ) < - > |=| . '-( ).-' "^" | '-.( ).-' `-- 192.168.1.102 

Конфигурация iptable сервера:

 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED, ESTABLISHED -j ACCEPT iptables -A FORWARD -i tun0 -o eth2 -j ACCEPT 

Конфигурация маршрутизатора Wi-Fi (с новой таблицей маршрутизации openvpn-route):

 ip route add default via 10.8.0.1 dev tun0 table openvpn-route ip rule add fwmark 0x1 table openvpn-route iptables -t mangle -A PREROUTING -m mac --mac-source aa:aa:aa:aa:aa:aa -j MARK --set-mark 1 iptables -A POSTROUTING -t nat -o tun0 -p tcp --dport 80 -j SNAT --to 10.8.0.2 

Теперь, когда я обращаюсь к сайтам с моего ноутбука, я вижу, что трафик идет на устройство туннеля Wi-Fi маршрутизатора и оттуда на сервер. Однако IP-адрес SRC трафика – 192.168.1.102 (IP-адрес исходящего IP-маршрутизатора). Из-за этого, я думаю, сервер игнорирует этот трафик.

Когда я смотрю, сколько пакетов соответствует правилу SNATing для изменения IP-адреса SRC до 10.8.0.2, я вижу, что число равно нулю. Таким образом, это правило не подходит для любого пакета.

Как я могу это исправить?

Linux и Unix - лучшая ОС в мире.