Automatische Registrierung: Unterschied zwischen den Versionen
K |
K (→Registrierung absenden: +beispieldatei) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 28: | Zeile 28: | ||
Anzeige der registrierten Knoten: http://www.weimarnetz.de/registrator/bot.php?SHOWNODES=1 | Anzeige der registrierten Knoten: http://www.weimarnetz.de/registrator/bot.php?SHOWNODES=1 | ||
+ | |||
+ | =Spezialfälle, Manuelles Registrieren= | ||
+ | |||
+ | Es gibt Geräte, die manuell registriert werden müssen, da evtl. die nötige Intelligenz (fehlende Software) fehlt. | ||
+ | Benötigt werden die (WLAN-)Mac-Adresse und der öffentliche SSH-Fingerabdruck. | ||
+ | |||
+ | ==Registrierung absenden== | ||
+ | <pre> | ||
+ | benutzer@rechner:~# mac=<ausfuellen> | ||
+ | benutzer@rechner:~# key=<ausfuellen> | ||
+ | benutzer@rechner:~# wget -qO - "http://www.weimarnetz.de/registrator/bot.php?WIFIMAC=${mac}&SSHPUBKEY=${key}" | ||
+ | 567 | ||
+ | </pre> | ||
+ | Die Nummer 567 ist die Knotennummer, die man sich dann nehmen darf. | ||
+ | (Mit dem OLSR-Wizard im Werkzeug jedes Freifunk-Geraets rechnet man sich die IP's daraus aus) | ||
+ | |||
+ | ===dauerhaft einrichten=== | ||
+ | Damit bei jeden Reboot eine auffrischung erfolgt, einfach folgende Datei erzeugen: | ||
+ | <pre> | ||
+ | benutzer@rechner:~# cat /etc/init.d/weimarnetz_registrator | ||
+ | #!/bin/sh | ||
+ | START=98 | ||
+ | |||
+ | url="http://www.weimarnetz.de/registrator/bot.php" | ||
+ | mac=001e58828f83 | ||
+ | key=8a11a14df2344850347bdd274b75a0b3eb43cb61 | ||
+ | node=7 | ||
+ | |||
+ | wget -qO - "${url}?WIFIMAC=${mac}&SSHPUBKEY=${key}&NODE=${node}" | ||
+ | </pre> | ||
+ | |||
+ | ==MAC-Adresse rausfinden== | ||
+ | <pre> | ||
+ | benutzer@rechner:~# cat /proc/net/wireless | ||
+ | Inter-| sta-| Quality | Discarded packets | Missed | WE | ||
+ | face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 | ||
+ | ath0: 0004 40. -56. -96. 16 0 0 0 0 0 | ||
+ | </pre> | ||
+ | |||
+ | *Das Interface ist also "ath0". | ||
+ | *Nun noch nach der MAC-Adresse schauen: | ||
+ | |||
+ | <pre> | ||
+ | benutzer@rechner:~# ip link show dev ath0 | ||
+ | 6: ath0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN | ||
+ | link/ether 00:1e:58:82:8f:83 brd ff:ff:ff:ff:ff:ff | ||
+ | </pre> | ||
+ | |||
+ | *Mac-Adresse ist also die "00:1e:58:82:8f:83". | ||
+ | *Einfacher geht das ganze mit kopieren&einfuegen: | ||
+ | |||
+ | <pre> | ||
+ | benutzer@rechner:~# ip -o link show | sed -n "s#^.* $(sed -n 's/^[ ]*\(.*\):.*/\1/p' /proc/net/wireless): .*link/ether \([0-9a-z:]*\) .*#\1#p" | se | ||
+ | d 's/://g' | ||
+ | 001e58828f83 | ||
+ | </pre> | ||
+ | |||
+ | ==SSH-Fingerabdruck herausfinden== | ||
+ | Einfach beim ersten einloggen auf das zu registrierende Geraet darauf achten: | ||
+ | <pre> | ||
+ | benutzer@rechner:~# ssh 10.63.7.1 | ||
+ | Host '10.63.7.1' is not in the trusted hosts file. | ||
+ | (fingerprint sha1 8a:11:a1:4d:f2:34:48:50:34:7b:dd:27:4b:75:a0:b3:eb:43:cb:61) | ||
+ | Do you want to continue connecting? (y/n) y | ||
+ | </pre> | ||
+ | |||
+ | *Der Fingerabdruck ist entsprechend: "8a11a14df2344850347bdd274b75a0b3eb43cb61" | ||
+ | *Durch kopieren&einfuegen so zu erzeugen: | ||
+ | |||
+ | <pre> | ||
+ | benutzer@rechner:~# echo "8a:11:a1:4d:f2:34:48:50:34:7b:dd:27:4b:75:a0:b3:eb:43:cb:61" | sed 's/://g' | ||
+ | 8a11a14df2344850347bdd274b75a0b3eb43cb61 | ||
+ | </pre> | ||
+ | ===Ohne SSH-Fingerabruck=== | ||
+ | Evtl. hat man ein Geraet ohne SSH-Server, dann kann man sich auch einen eindeutigen String, der fuer die Lebenszeit erhalten bleibt generieren: | ||
+ | <pre> | ||
+ | muss ich mir noch was schoenes ausdenken, evtl. ein md5-hash ueber cpu+mac-adresse? | ||
+ | </pre> |
Aktuelle Version vom 25. Januar 2009, 16:49 Uhr
Über den Registrator 2.0
Dieses Werkzeug ermöglicht es Routern mit aktueller Weimarnetzfirmware, sich vollständig automatisch und ohne jedes Zutun des Besitzers zu registrieren und eine gültige Knotennummer zu erhalten. Namen und Emailadressen sind für die Registrierung nicht mehr notwendig und werden weder angefordert noch abgespeichert. Der alte Registrator wurde am 20.1.2009 in den Vorruhestand geschickt.
Arbeitsweise
neuer Knoten
- Firmware wird auf den neuen Router geflasht
- Router gibt sich vorläufige eine zufällige Knotennummer aus reserviertem Bereich von 970 bis 1020
- Sobald Internet verfügbar ist, versucht sich der Router alle 15 Minuten zu registrieren bis er Erfolg hat
- Router erhält Knotennummer aus gültigem Bereich, zu seiner Identifizierung werden Macadresse und der Fingerabdruck des öffentlichen SSH-Schlüssels abgelegt
- Knotennummern werden von 969 an absteigend vergeben, um nicht in den Nummernbereich bereits benutzter, aber im neuen Registrator noch nicht zurückgemeldeter Knoten zu kommen
vorhandene Knoten mit gültiger Knotennummer
- Router melden sich nach jedem Neustart beim Registrator und aktualisieren den Zeitstempel
- alte Knotennummern bleiben so gültig
- Falls am Router die Knotennummer manuell geändert wurde erfolgt eine Umregistrierung, solange die neue Knotennummer noch nicht vergeben wurde
Konfliktfälle
- bei Konflikten erfolgt eine Benachrichtigung über die Mailingliste
- mögliche Konflikte:
- eine Macadresse soll ein zweites Mal für eine andere Knotennummer und anderen Fingerabdruck registriert werden
- bei manueller Änderung der Knotennummer wird eine bereits vergebene Knotennummer benutzt
- es sind keine freien Knotennummer mehr verfügbar
Links
Dokumentation zum Registrator: http://www.weimarnetz.de/registrator/docs/html/index.html
Anzeige der registrierten Knoten: http://www.weimarnetz.de/registrator/bot.php?SHOWNODES=1
Spezialfälle, Manuelles Registrieren
Es gibt Geräte, die manuell registriert werden müssen, da evtl. die nötige Intelligenz (fehlende Software) fehlt. Benötigt werden die (WLAN-)Mac-Adresse und der öffentliche SSH-Fingerabdruck.
Registrierung absenden
benutzer@rechner:~# mac=<ausfuellen> benutzer@rechner:~# key=<ausfuellen> benutzer@rechner:~# wget -qO - "http://www.weimarnetz.de/registrator/bot.php?WIFIMAC=${mac}&SSHPUBKEY=${key}" 567
Die Nummer 567 ist die Knotennummer, die man sich dann nehmen darf. (Mit dem OLSR-Wizard im Werkzeug jedes Freifunk-Geraets rechnet man sich die IP's daraus aus)
dauerhaft einrichten
Damit bei jeden Reboot eine auffrischung erfolgt, einfach folgende Datei erzeugen:
benutzer@rechner:~# cat /etc/init.d/weimarnetz_registrator #!/bin/sh START=98 url="http://www.weimarnetz.de/registrator/bot.php" mac=001e58828f83 key=8a11a14df2344850347bdd274b75a0b3eb43cb61 node=7 wget -qO - "${url}?WIFIMAC=${mac}&SSHPUBKEY=${key}&NODE=${node}"
MAC-Adresse rausfinden
benutzer@rechner:~# cat /proc/net/wireless Inter-| sta-| Quality | Discarded packets | Missed | WE face | tus | link level noise | nwid crypt frag retry misc | beacon | 22 ath0: 0004 40. -56. -96. 16 0 0 0 0 0
- Das Interface ist also "ath0".
- Nun noch nach der MAC-Adresse schauen:
benutzer@rechner:~# ip link show dev ath0 6: ath0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 00:1e:58:82:8f:83 brd ff:ff:ff:ff:ff:ff
- Mac-Adresse ist also die "00:1e:58:82:8f:83".
- Einfacher geht das ganze mit kopieren&einfuegen:
benutzer@rechner:~# ip -o link show | sed -n "s#^.* $(sed -n 's/^[ ]*\(.*\):.*/\1/p' /proc/net/wireless): .*link/ether \([0-9a-z:]*\) .*#\1#p" | se d 's/://g' 001e58828f83
SSH-Fingerabdruck herausfinden
Einfach beim ersten einloggen auf das zu registrierende Geraet darauf achten:
benutzer@rechner:~# ssh 10.63.7.1 Host '10.63.7.1' is not in the trusted hosts file. (fingerprint sha1 8a:11:a1:4d:f2:34:48:50:34:7b:dd:27:4b:75:a0:b3:eb:43:cb:61) Do you want to continue connecting? (y/n) y
- Der Fingerabdruck ist entsprechend: "8a11a14df2344850347bdd274b75a0b3eb43cb61"
- Durch kopieren&einfuegen so zu erzeugen:
benutzer@rechner:~# echo "8a:11:a1:4d:f2:34:48:50:34:7b:dd:27:4b:75:a0:b3:eb:43:cb:61" | sed 's/://g' 8a11a14df2344850347bdd274b75a0b3eb43cb61
Ohne SSH-Fingerabruck
Evtl. hat man ein Geraet ohne SSH-Server, dann kann man sich auch einen eindeutigen String, der fuer die Lebenszeit erhalten bleibt generieren:
muss ich mir noch was schoenes ausdenken, evtl. ein md5-hash ueber cpu+mac-adresse?