Erweiterte Konfiguration

Aus Freifunk Kiel
Zur Navigation springen Zur Suche springen

Erste Schritte nach dem Flashen

Du hast also deinen Freifunkrouter grade frisch geflashed und rudimentär konfiguriert. Glückwunsch!

Nun willst du wahrscheinlich wieder darauf zugreifen. Vielleicht einen Parameter ändern oder allgemein nur mal gucken.

Aus Platzgründen hat das Standard-Image leider keine weitergehende Weboberfläche. Die viele der kleinen Router haben nicht genögend Flash-Ram, daher ist das Image möglichst klein gehalten. Konfiguration ist also nur über die SSH möglich.


Wo ist er denn?

Wenn der Router das erste mal konfiguriert wurde, deaktiviert er den Einrichtungsassistenten auf 192.168.1.1 auf dem LAN-Interface und auch die IP auf dem Interface.

Im normalen Betrieb ist der Freifunk-Router mit dem WAN-Interface (blau bei TP-Link Routern) am Uplink angeschlossen.

Dein Freifunkrouter ist dann auf folgende Art und Weise zu erreichen:


WAN IPv6

Die IPv6 Adresse für das WAN-Interface bekommt man raus, wenn man sich per SSH auf dem Freifunk-Router anmeldet. Also ein klassisches Henne-Ei Problem. Es gibt glücklicherweise aber andere Möglichkeiten sich auf den Router anzumelden, als über die IPv6 Adresse des WAN-Interfaces. Das Interface heisst br-wan.

WAN IPv4

Der Freifunkrouter bezieht seine IPv4-Adresse per DHCP. Du wirfst also einen Blick in die Liste der IP, die dein Router/DHCP-Server verteilt hat.

Dort solltest du dann deinen Freifunk-Router finden und hast somit seine aktuelle IP-Adressse mit der du dich auf dem Gerät per SSH anmelden kannst.

Mit der dort gelisteten MAC-Adresse solltest du deinen Router/DHCP-Server dazu bringen können, dem Freifunk-Router immer dieselbe IP zu geben. Wie genau das geht, ist von Router zu Router und DHCP zu DHCP-Server unterschiedlich. Hier hilft ein Blick in entsprechende Tutorials.

WLAN

Als local-node ist jeder Freifunk-Router auf diesen beiden IPs zu erreichen:

IPv4:   10.116.254.254
IPv6:   fda1:384a:74de:4242::ffff

Zusätzlich hat er aber noch weitere IPs. Du bekommst sie über die Alfred JSON Status Knotenliste heraus. Schau nach deinem Node-namen, wenn du über ihn angemeldet bist. Es ist hier egal ob per WLAN oder LAN (gelbe Ports am TP-Link). Klickst du den Link des Freifunk-Routers an, bekommst du dann die Statusseite deines Routers angezeigt.

LAN

Die IPv6 Adresse bekommst du über Alfred JSON Status Knotenliste heraus. Oder per ssh und dann mit dem Befehl ifconfig. br-client heisst das Interface, nach dem du suchst.

IPv4 gibt es nur über die local-node Konfiguration.

SSH ?

Als du per Webinterface unter 192.168.1.1 deinen Freifunk-Router eingerichtet hast, konntest du unter "Erweitert" ein Passwort oder einen SSH-Key hinterlegen.

Hast du das nicht gemacht mußt du deinen Router wieder in den Configmodus versetzen.

Details findest du dazu hier: Configmode

Wie man SSH-Keys unter Linux/Unix/MacOS erstellt beschreibt etwas dieses Tutorial: - Secure SSH Tutorial Part 2: Identity/Pubkey Authentifizierung

Und hier wie man es unter Windows mit dem Putty-Paket macht: PuTTY key-basierte SSH Login

Solltest du ein Passwort verwenden, nutze keins, was du auch woanders benutzt.

Statusseite auch auf dem WAN Interface

Ich möchte die Statusseite meines Freifunk-Routers auch über dessen WAN-Interface (blau bei TP-Link) erreichen können.

Dafür muß man eigentlich nur der Firewall eine zusätzliche Regel verpassen:

cd /etc/config
vi firewall

Dort dann diese weitere Regel einfügen:

config rule 'wan_http'
        option dest_port '80'
        option src 'wan'
        option name 'wan_http'
        option target 'ACCEPT'
        option proto 'tcp'

Wie man in der Config des uhttpd sehen kann, muß man hier nichts mehr machen:

less /etc/config/uhttpd
        [...]
        list listen_http '0.0.0.0:80'
        list listen_http '[::]:80'
        [...]

Die Adresse 0.0.0.0 bindet den uhttpd-Daemon auf alle IPv4-Adressen. 80 steht für den Port. Die Adresse [::] ist das IPv6 Gegenstück zum 0.0.0.0 vom IPv4.

Und noch die Regeln neu laden:

/etc/init.d/firewall restart

Andere Pakete einspielen

Basis deines Freifunk-Routers ist die OpenWRT-Distribution. Diese enthält auch ein Paket-Management-Tool.

opkg

Dummerweise ist im Moment (02.01.2015) aber das Freifunk-Repository offline.

Hier kann man sich aber glücklicherweise mit dem OpenWRT-Repository behelfen.

cd /etc
vi opkg.conf

Dort dann das alte Repository auskommentieren und das von OpenWRT einfügen.

# src/gz attitude_adjustment http://opkg.services.ffki/attitude_adjustment/12.09/ar71xx/generic/packages
src/gz attitude_adjustment http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

Nun noch das Repository aktualisieren:

opkg update

Suchen von Paketen mittels:

 
opkg find PacketName


Installieren von Paketen mittels:

 
opkg install PacketName

WICHTIG: Das ist nur eine Notlösung! Sowie das Freifunk-Repository wieder online ist, sollte man dieses Setting wieder ändern.


Der Editor joe

Dies ist mein Lieblingseditor auf der Konsole. Er kann deutlich mehr als nano, ist nicht so kryptisch wie vi (and in the middle of evil there is vi) und nicht so groß und komplex wie emacs (eight megabytes and continuously swapping).

opkg install joe

Zur Konfiguration braucht es noch zwei Dateien, die sich aber nicht im OpenWRT-Repository befinden.

Bedauerlicherweise kann man in dieses Wiki nur Icons und PDFs hochladen und nicht diese beiden Dateien. Daher hab ich dafuer eigene Wiki-Seiten erstellt.

Entweder als /root/.joerc als /etc/joe/joerc

Entweder als /root/.ftyperc oder als /etc/joe/ftyperc

Die beiden Dateien entstammen ursprünglich aus einer Linux-Ubuntu. In der Datei joerc muß man den Ort der ftyperc anpassen, wenn man die beiden Dateien ins Verzeichnis "/etc/joe/" legt. Ich hab sie unter /root liegen.

In der ftyperc habe ich für allgemeine Dateien folgende Anpassungen vorgenommen:

*
--wordwrap
-nobackups
-asis

* Der Stern steht als Platzhalter, für jede Datei, deren Endung nicht weiter unten in der Datei ftyperc angegeben wird.

--wordwrap Verhindert den automatischen Wordwarp. Bei Texten hilfreich. Bei Configdateien eher nicht.

-nobackups Verhindert die automatischen Backups. Speziell in Verzeichnissen mit init-Skripten kann das sonst gruselig werden.

-asis Sorgt dafür das die Charaktercodes über 127 genauso behandelt werden, wie sie sind und nicht irgendwie interpretiert werden. Andernfalls kann man eine Menge Spass mit Backticks und anderen Sonderzeichen haben.