[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