IPv6 Routing via Table 42?

Moin!

Wir benutzen einen Sixxs Tunnel um IPv6 Traffic in unserem Netz zu routen. Funktionierte auch ganz wunderbar allerdings mit einem kleinen Makel. Um IPv6 Traffic der Clients welches über das Mesh-VPN kommt in den Tunnel zu Routen habe ich ganz naiv nen Route gesetzt welches das Präfix 2000::/3 in den Sixxs Tunnel schickt. Nachteil war, das der Gateway Server ausgehende Verbindungen seinerseits auch immer durch den Sixxs Tunnel aufgebaut hat.

Jetzt hab ich mir gedacht, machste das wie beim IPv4 auch und routest Traffic via Table 42 in den Sixxs Tunnel.

Also folgendes gemacht.

In /etc/network/interface

post-up /sbin/ip -6 rule add from all fwmark 0x1 table 42

beim Interface bat0 hinzugefügt.

Wird auch schick gemacht:

sudo ip -6 rule show
0:	from all lookup local 
16383:	from all fwmark 0x1 lookup 42 
32766:	from all lookup main 

Dann natürlich auch eine Route in Table 42 angelegt

sudo ip -6 route show table 42
2000::/3 via 2001:6f8:900:ba1::1 dev sixxs  metric 1024

Soweit so gut. Leider gehen die IPv6 Anfragen die via MESH-VPN ankommen weiterhin beim Gateways auf eth0 raus.

Ich vermute mal mir fehlt noch ne iptables Rule die das dann entsprechend noch macht.

Hier mein /etc/iptables.up.rules

*filter # in wie weit ist das notwendig?
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Regeln zum markieren eingehender Pakete
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i br-ffue -j MARK --set-xmark 0x1/0xffffffff
-6 -A PREROUTING -i br-ffue -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -o eth0 -p udp --dport 53 -j MARK --set-xmark 0x1/0xffffffff
-A OUTPUT -o eth0 -p tcp --dport 53 -j MARK --set-xmark 0x1/0xffffffff
COMMIT
# Route an VPN per nat.
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o tun0 -j MASQUERADE
COMMIT

Kann mir jemand den entscheidenden Tipp geben damit IPv6 Traffic aus dem Freifunk Netz nur durch den Sixxs Tunnel geht und das Gateways seine eigenen IPv6 Verbindungen über eth0 abwickelt?

Ich habe das bei uns per Rule gelöst:

ip rule add iif bat0 table freifunk
ip rule add oif bat0 table freifunk

Danke dir. Hat geklappt.

1 Like