GWs: Interaktion OpenVPN Start/Stop Automatik mit Gateway Selection

Tom Green koe_fue at gmx.de
Sa Jan 23 18:36:13 CET 2016


mmh. Dank Dir. Etwas klarer.

Also 10.50.1.1 sollte bei mir in den Rules sein, sogar mehrfach:
root at KleeV2:/etc/dhcp# ip rule sh
0:    from all lookup local
32736:    from all to 10.0.0.0/8 lookup fff
32737:    from 10.0.0.0/8 lookup fff
32738:    from all iif bat2 lookup fff
32739:    from all to 10.0.0.0/8 lookup fff
32740:    from 10.0.0.0/8 lookup fff
32741:    from all iif bat2 lookup fff
32742:    from all to 10.50.0.0/16 lookup fff
32743:    from 10.50.0.0/16 lookup fff
32744:    from all iif has2 lookup fff
32745:    from all to 10.0.0.0/8 lookup fff
32746:    from 10.0.0.0/8 lookup fff
32747:    from all to 10.0.0.0/8 lookup fff
32748:    from 10.0.0.0/8 lookup fff
32749:    from all iif bat0 lookup fff
32750:    from all iif bat1 lookup fff
32751:    from all to 10.50.0.0/16 lookup fff
32752:    from 10.50.0.0/16 lookup fff
32753:    from all iif fra1 lookup fff
32754:    from all to 10.50.0.0/16 lookup fff
32755:    from 10.50.0.0/16 lookup fff
32756:    from all iif bbg lookup fff
32757:    from all to 10.50.0.0/16 lookup fff
32758:    from 10.50.0.0/16 lookup fff
32759:    from all iif cdfue1 lookup fff
32760:    from all to 10.50.0.0/16 lookup fff
32761:    from 10.50.0.0/16 lookup fff
32762:    from all iif ro1 lookup fff
32763:    from all to 10.50.0.0/16 lookup fff
32764:    from 10.50.0.0/16 lookup fff
32765:    from all iif nue1 lookup fff
32766:    from all lookup main
32767:    from all lookup default

Trotzdem liefert:
root at KleeV2:/etc/dhcp# ip ro get 8.8.8.8 from 10.50.1.1 iif bat0
RTNETLINK answers: Invalid cross-device link

Aber:
root at KleeV2:/etc/dhcp# ip ro get 8.8.8.8 from 10.50.32.6 iif bat0
8.8.8.8 from 10.50.32.6 via 10.114.0.1 dev tun0
    cache  iif *

root at KleeV2:/etc/dhcp# ip ro get 8.8.8.8 from 10.50.32.7 iif bat0
RTNETLINK answers: Invalid argument

root at KleeV2:/etc/dhcp# ip ro get 8.8.8.8 from 10.50.32.1 iif bat0
8.8.8.8 from 10.50.32.1 via 10.114.0.1 dev tun0
    cache  iif *

root at KleeV2:/etc/dhcp# ip ro get 8.8.8.8 from 10.50.32.2 iif bat0
RTNETLINK answers: Invalid cross-device link


10.50.32.7 bin ich selber. 32.6 ist Christian, 32.2 gibbet nicht.

Gruß
Torben



On 23.01.2016 18:22, Tim Niemeyer wrote:
> Am Samstag, den 23.01.2016, 18:16 +0100 schrieb Tom Green:
>> Hi,
>>
>> On 23.01.2016 17:27, Tim Niemeyer wrote:
>>>
>>> Ich hatte das auf nue1 über die Routing Tabelle gelöst, damit muss man
>>> am VPN nichts weiter einstellen:
>>>
>>>         # Remaining bandwidth available; cut-off negative values
>>>         if ip ro get 8.8.8.8 from 10.50.1.1 iif bat0 | grep tun0; then
>>>                 Tavail_kbitPS=$(echo "scale=0; if (($3 * 1024 - $TkbitPS) >0) ($3 * 1024 - $TkbitPS) else 0" | bc -l)
>>>                 Ravail_kbitPS=$(echo "scale=0; if (($4 * 1024 - $RkbitPS) >0) ($4 * 1024 - $RkbitPS) else 0" | bc -l)
>>>         else
>>>                 Tavail_kbitPS=0
>>>                 Ravail_kbitPS=0
>>>         fi
>>>
>>>
>> ja, ist
>> * kompakter
>> * Integration in nur ein Skript
>> * reagiert schneller
>> * muss aber konfiguriert werden
> Bedingt. Wenn das ip ru deutlich anders ist, ja.
>
>> Und da ist noch ein bisschen der Knackpunkt: Ich kapier es nicht
>> wirklich. Er versucht eine Route von 10.50.1.1. nach 8.8.8.8 über bat0
>> zu erreichen und selektiert die Ausgabezeile mit tun0 vor?
> Er versucht eine Route für das Ziel 8.8.8.8 zu finden. Dazu würde er
> normalerweise einfach in seine Standard Routing-Tabelle gucken. Wir
> wollen ja aber die Freifunk Routing-Tabelle angucken, daher geben wir
> die Parameter from und InInterFace an. Jetzt wird eine Route gesucht,
> die das Ziel 8.8.8.8 erreicht, unter der Bedingung (ip rule), dass das
> Paket von 10.50.1.1 kommt und über das bat0 Interface eingedrungen ist.
>
> Danach wird nur noch geschaut, ob da irgendwo der String vom
> VPN-Interface drin auftaucht. Wenn ja, ist anzunehmen, dass die
> Default-Router über das VPN geht. Wenn nein, eben nicht.
>
>> Was ich nicht verstehe:
>> *  Wer oder was ist 10.50.1.1 und wieso klappt das bei mir nicht?
> Irgendeine IP aus dem Bereich, der mit "ip ru .." zugewiesen wurde.
>
>> * "ip ro get 8.8.8.8 from 10.50.32.6 iif bat0" klappt, auch mit  einer
>> beliebigen IP statt 10.50.32.6 aus der "bat0-Hood", die aber nicht die
>> eigene sein darf.
> Das hängt, wie gesagt, davon ab, welcher Netzbereich bei der ip "rule"
> angegeben wurde.
>
> Tim
>> Gruß
>> Torben
>>
>>  
>>




Mehr Informationen über die Mailingliste franken-dev