Hálózati forgalom (kivéve VPN és DHCP) VPN-be való irányítása

Fórumok

Van egy mőködő VPN kapcsolatom (tcp 19000-es port) a tap0 interfészen keresztül, a címe 192.168.1.6. Az internetet wifi-n érem el, ami DHCP-n kapja a címet, az interfész neve ra0.

Szeretnék mindne forgalmat a VPN-en keresztül bonyolítani kivéve a DHCP-t és a VPN forgalmát. Mindezt azért, hogy nyugodtan internetezhessek nyilvános AP-n is.

Amíg jutottam:

Csináltam egy másolatot a main routing tábláról, ahol kicseréltem az alapértelmezett átjárót a VPN-en belülire, a követtkező paranccsal:

ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table 6 $ROUTE ; done
ip route add table 6 proto static default via 192.168.1.254

Majd megjelöltem minden átirányítandó csomagot:

iptables -t mangle -A OUTPUT -p udp --dport ! 67:68 -j MARK --set-mark 6
iptables -t mangle -A OUTPUT -p tcp --dport ! 19000 -j MARK --set-mark 6
iptables -t mangle -A OUTPUT -p icmp -j MARK --set-mark 6

Majd beállítottam a NAT-ot:

iptables -t nat -A POSTROUTING -o tap0 -j SNAT --to-source 192.168.1.6
iptables -t nat -A POSTROUTING -o ra0 -j SNAT --to-source `ifconfig ra0|grep 'inet addr'|cut -d':' -f2| cut -d' ' -f1`

És belőttem a második routing táblát:

ip rule add fwmark 6 table 6
ip route flush cache

A helyzet, az hogy a VPN kapcsolat fentmarad, és aminek kell az bemegy a VPN-be. A kapcsolatot monitorozva látom, hogy a válaszcsomagok is megjönnek, ping-re pong, TCP SYN-re SYN-ACK, de a programok nem kapják azokat meg. A ping 100% packet loss-t ad, és TCP kapcsolat sem épül fel.

Mi lehet, a hiba? Hol vesznek el a bejövö csomagjaim?