Ich möchte je nach Herkunft meines LAN-Netzwerkverkehrs (br-lan) entscheiden, ob dieser normal über DSL (eth0) oder über VPN (tun0) geroutet wird.
Wie differenziere ich den Verkehr anhand von IPs? Wie route ich über verschiedene Gateways?
Mein Ansatz (testweise nur für ICMP und ohne Quell-IPs):
1 2 3 4 5 6 7 8 9 10 | echo "1" > /proc/sys/net/ipv4/ip_forward echo "201 gw1" >> /etc/iproute2/rt_tables iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark iptables -A PREROUTING -i br-lan -t mangle -p icmp -j MARK --set-mark 1 ip rule add fwmark 1 table gw1 ip route add default via $VPN_GATEWAY dev tun0 table gw1 iptables -A FORWARD -i br-lan -o tun0 -j ACCEPT iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE |
ICMP-Pakete werden über VPN gesendet, die Antwort wird nur nicht wieder in LAN zurückübertragen.
Vielen Dank im Voraus.