[vpn] Probleme mit dem Routing

Bernd Kalbfuss-Zimmermann kalbfuss at gmx.net
Mi Aug 20 23:45:24 CEST 2014


Ok, Problem gelöst. Der entscheidende Tipp kam von tcatm: 
https://lists.quagga.net/pipermail/quagga-users/2009-February/010333.html. 
Mann muss Quagga in der zebra.conf die bevorzugte Quelladresse 
mitteilen. Danach funktioniert alles wie es soll. Und weiter geht es mit 
der Konfiguration der DNS-Server...

LG,

Bernd

Am 20.08.2014 um 23:02 schrieb Bernd Kalbfuss-Zimmermann:
> 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