Anti Loop Script

Tom Green koe_fue at gmx.de
Mi Mär 16 20:14:22 CET 2016


Hi,

also spontan kommt bei mir Unbehagen bei der Funktion auf. Aber das ist
nur so'n Gefühl.
Das ganze schützt auch nicht gegen Fehlkonfiguration ala "den Router
stell ich später woanders auf".

WAN läuft sicher, wenn fastd läuft.  fastdstart.sh prüft ob du
-> keyserver.freifunk-franken.de
-> 8.8.8.8 (Google DNS)
-> heise.de (ipv6)
anpingen kannst.

Wird einer der 3 erreicht wird, wird fastd gestartet. Das könnte man
(momentan noch) über "pgrep fastd" (Ausgabe ungleich leer) abfragen.

Hardcodierte Abfragen des Wifi-Interfaces sind so ne Sache. Wer weiß
denn, ob Interface 0 in /etc/wireless immer batman ist?

Ansonsten lässt sich die Existenz eines Eintrags so überprüfen
(Beispiel):                     
uci show network.wwan >> /dev/null                           
if [[ $? != 0 ]];
then                                                           
  uci set network.wwan=interface >> /dev/null   # Blablabla
                        
fi

"Zeige mir den Eintrag für network.wwan. Wenn der Exit-Code ungleich 0
(Fehler, nicht gefunden), führe blablabla aus. "


Gruß
Torben


On 16.03.2016 19:58, Mister Crumble wrote:
> Hallo Tom,
>
> Die Bedingung zur verhinderung von Meshing in Default Hood wären (nach
> meiner Überlegung:
>
> Am Router ist WAN mit VPN vorhanden, und er hat weder Ortsangabe noch
> Kontaktdaten ( Also unkonfiguriert und daher in Default Hood)
>
> dann würde der Router nach 30 Min das meshen über WLAN und damit einen
> Loop selber beenden, wenn der Router kein WAN und VPN hat, dann ist
> das ja auch kein Router der eine Loop erzeugen würde
>
> MFG MisterCrumble
>
> P.S. einfacher wäre es natürlich, wenn die jeder die Anleitung lesen
> würde und seine Router konfiguriert und nicht irgendwo wild in fremde
> Hoods pakt,
> Und ich hatte mir schon mal überlegt ob es nicht sinnvoll wäre das
> Router erst einen VPN aufbauen können, wenn eine Email Adresse
> eingegeben worden ist an die ein Code gesendet worden ist, und dann
> der Code in den Router eingegeben worden ist ( sicherstellen der
> kontaktmöglichkeit an den Nutzer)
>
>
> Am 16. März 2016 um 19:46 schrieb Tom Green <koe_fue at gmx.de>:
>> Hi,
>>
>> Ich überlege mir gerade ob es dann noch gelingt, dann noch neue Router übers
>> mesh ans Freifunk Netz anzubinden.
>>
>> Könnte klappen, kommst ohne Verbindung zum FF-Netz an den Router, kannst ihn
>> konfigurieren, und dann baut er die Verbindung auf.
>>
>> Der gewählte Weg klingt ein bisschen kompliziert...
>>
>> VG
>> Torben
>>
>>
>>
>>
>> On 16.03.2016 19:40, Mister Crumble wrote:
>>
>> Hallo liebe Entwickler,
>>
>> ich wollte mich an einem Anti-Loop Script versuchen, das loops zwischen
>> Default und einer Hood verhindert.
>>
>> Meine Idee war folgendes:
>>
>> Wenn Der Router an WAN Netz hat und gleichzeitig aber in
>>
>> uci get system. at system[0].hostname=OpenWRT  oder
>> uci get system. at system[0].latitude=    nicht vorhanden  ,00.000000 oder
>>
>> uci get system at system[0].longitude= nicht vorhanden, 00.00000 oder
>> uci get system. at system[0].contact= nicht vorhanden,  user at test.xyz
>>
>> (also nicht konfiguriert ist)
>>
>> hat
>>
>> würde ich über
>>
>> uci set wireless. at wifi-iface[0].disabled=1
>> uci commit
>> wifi
>>
>> das meshing ausschalten,
>>
>> sollte das nicht mehr der fall sein über
>>
>> uci set wireless. at wifi-iface[0].disabled=0
>> uci commit
>> wifi
>>
>> das meshen wieder einschalten.
>>
>> Meine Probleme dabei sind noch folgende:
>>
>> uci get system. at system[0].latitude=    nicht vorhanden  ,00.000000 oder
>>
>> uci get system at system[0].longitude= nicht vorhanden, 00.00000 oder
>> uci get system. at system[0].contact= nicht vorhanden,  user at test.xyz
>>
>> sind erst vorhanden wenn im webUi gesetzt,
>>
>> Erkennung für Internet an WAN habe ich bisher nur
>>
>> "
>> wanif=$(uci -q get network.wan.ifname)
>> if [ -n "$(default_gw 4 $wanif)" -o  -n "$(default_gw 6 $wanif)" ]; then
>>     internet_active="Ja"
>> else
>>     internet_active="Nein"
>>
>> " aus dem WebUI
>>
>> Meine Idee war jetzt unter anderem, das man die Werte die Fehlen mit
>> 00.0000 oder user at router.xyz belegt, damit man sauber erkennen kann das
>> der router noch keine eigene config hat.
>>
>> Das ganze sollte dann über einen cronjob alle 30 Minuten  und bei reboot
>> laufen.
>>
>>
>> Für ander Ideen oder Vorschläge bin ich gerne offen.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>





Mehr Informationen über die Mailingliste franken-dev