Posts router status mathematics

bestimmte Pakete routen

Ich benutze Tor um meinen traffic zu anonymisieren. Allerdings ist es noch nicht möglich udp-Pakete durch das Tor-Netzwerk zu routen. Deshalb habe ich mir einen openvpn proxy zugelegt. Dieser hat allerdings nur begrenztes monatliches Datenvolumen. Die Aufgabe besteht also darin, nur udp-Pakete durch den openvpn-proxy zu leiten und den Rest weiterhin durch den transparenten Proxy von Tor zu schicken.

Sei folgende Konfiguration gegeben : auf 192.168.0.230 läuft der openvpn-client im subnet 10.8.0.0/24
auf 192.168.0.220 soll der udp-traffic abgetrennt werden

zuerst markiere ich über iptables alle betreffenden Pakete :

iptables -t mangle -A OUTPUT -p udp -j MARK --set-mark 10
iptables -A OUTPUT -p udp -j ACCEPT

dann erstelle ich eine neue routing-Tabelle in /etc/iproute2/rt_tables
Dazu fügt man einfach die Zeile
10 vpn_table ein.

Nun muss man für die markierten Pakete nur noch diese Tabelle als lookup setzen.
ip rule add fwmark 10 table vpn_table
Zum Schluss setzte ich für diese Tabelle noch einen default-gateway, und das routing für die Pakete steht.
ip route add default via 192.168.0.230 dev eth0 table vpn_table

Auf dem openvpn-Rechner, musste ich dann noch source-nat einrichten
iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE

Diese Änderungen sind nicht permanent, sondern müssen durch ein script in /etc/local.d/ bei jedem boot aufgerufen werden. Weiterhin sollte man in /proc/sys/net/ipv4/ip_forward überprüfen, das paket-forwarding aktiviert ist.

Posted by .