[vpn] Probleme mit dem Routing
Bernd Kalbfuss-Zimmermann
kalbfuss at gmx.net
Mi Aug 20 23:02:18 CEST 2014
Hallo Ruben,
vielen Dank für deine Antwort. Das hat mich schon mal etwas
weitergebracht. Ich habe Quagga so konfiguriert, dass alle Routen in die
Tabelle 43 geladen werden. Wenn ich hinterher mittels "ip rule add from
all lookup 43 prio 1" einen Verweis mit hoher Priorität auf diese
Tabelle erzeugen, dann kommt sie auch tatsächlich zum Einsatz. Der
Befehl "ip route get 172.23.252.1" produziert z.B. die Ausgabe
"172.23.252.1 via 10.207.0.59 dev icvpn src 5.45.110.180". Das sieht
schon mal recht vielversprechend aus. Allerdings stimmt die Src-Adresse
noch nicht. Aus Gründen, die ich nicht verstehe, ist diese mit der
IP-Adresse der Schnittstelle eth0 und nicht der Adresse der
Schnittstelle icvpn identisch. Woran liegt das?
LG,
Bernd
Am 20.08.2014 um 13:51 schrieb Ruben Kelevra:
> ip rule add iif freifunk-wk lookup 42 prio 4200
> ip -6 rule add iif freifunk-wk lookup 42 prio 4200
> Hallo Bernd,
>
> wir betreiben es mit einer Tabelle fürs IC-VPN die mit Prio 1 hinter der
> local Liste geroutet wird:
>
> ip -6 rule add from all lookup 43 prio 1
> ip rule add from all lookup 43 prio 1
>
> Diese füllen via Bird/Bird6.
>
> Daneben haben wir eine 42iger die wir für den VPN nutzen und via
> iif-Rule für den Rest nutzen:
>
> ip rule add iif freifunk-x lookup 42 prio 4200
> ip -6 rule add iif freifunk-x lookup 42 prio 4200
>
> In 42 stehen ein paar IPs die uns gehören und wir ohne VPN raus jagen,
> alles andere wird vom OpenVPN via Up-Script eingefügt.
>
> Die Route über 42 Testen wir dann via Ping über das Tunnel-Interface,
> ansonsten schalten wir DHCP und Batman-adv-Server-Modus ab:
>
> ping -q -I $INTERFACE 8.8.8.8 -c 4 -i 1 -W 5 >/dev/null 2>&1
>
> if test $? -eq 0; then
> NEW_STATE=server
> else
> NEW_STATE=off
> fi
>
> Danach schaun wir uns noch den Traffic auf eth0 des Gateways an und
> geben die geschätze freie Bandbreite an Batman-adv weiter:
>
> MESH=mesh-x
>
> if [ -f /sys/class/net/$MESH/mesh/gw_mode ]; then
>
> OLD_STATE="$(cat /sys/class/net/$MESH/mesh/gw_mode)"
> if [ ! "$OLD_STATE" == "$NEW_STATE" ]; then
> echo $NEW_STATE > /sys/class/net/$MESH/mesh/gw_mode
> logger "$MESH: batman gateway mode changed to $NEW_STATE"
> fi
> echo ${bw}MBit/${bw}MBit > /sys/class/net/$MESH/mesh/gw_bandwidth
>
> fi
>
>
>
> LG Ruben
Mehr Informationen über die Mailingliste vpn