|
|
(107 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
− | {{Hinweis
| + | [[Datei:Freifunk Antenne.jpeg|miniatur|rechts|Eine selbstgebastelte Richtfunkantenne zur Erhöhung der Reichweite. Für den Einstieg reichen aber auch die Stabantennen vom Hersteller.]] |
− | |Titel=Achtung
| + | =Anleitungen zur Teilnahme am Netz von Freifunk Mainz/Freifunk Wiesbaden= |
− | |Text=Diese Anleitung ist bei weitem noch nicht fertig. Sie wird gerade aus dem [http://www.freifunk-mainz.de/wiki/doku.php?id=howto:tinc_node_konfiguration_v2 alten Wiki] umgezogen.
| + | Der Teilnahme am Freifunk-Netz bist du nur noch 2 kleine Schritte entfernt: |
− | }}
| + | #Besorge dir einen Router. Hier findest du eine Liste der [http://wiki.freifunk.net/Freifunk_Firmware_Gluon/Hardware unterstützten Geräte]. Wir [[Welchen Router kaufe ich|empfehlen diese Geräte]] von TP-Link. |
| + | #Installiere darauf die Freifunk-Software. Folge '''[https://www.freifunk-mainz.de/GluonFlash.html dieser Anleitung]''' auf unserer Webseite, wenn du ein Neugerät mit Original-Software mit der Freifunk-Firmware bespielen willst. |
| | | |
− | Dies soll eine allgemeine Anleitung zur Router-Konfiguration auf OpenWRT-Basis für die Teilnahme am Netz von Freifunk Mainz werden.
| + | == Fortgeschrittene Anleitungen== |
− | | + | * Willst du die Konfiguration deines Freifunk-Routers nochmal ändern, so folge [[Howto/Gluon_Konfig_Aendern | dieser Anleitung]]. |
− | Dieser Prozess umfasst mehrere Schritte:
| + | *[[:Datei:Wohin mit den Freifunk-Router.pdf|Hier]] findest du außerdem eine Anleitung, wo du den Router am Besten aufstellst. |
− | __TOC__
| |
− | | |
− | = Router Flashen = | |
− | Eine grobe Übersicht, wie das flashen vor sich geht [[Howto/Flashen | findet man hier]].
| |
− | {{Todo|Link nach Domainumzug rausnehmen/anpassen.}}
| |
− | Wir verwenden als Grundlage für die Router das Betriebssystem [https://openwrt.org/ OpenWRT]. Um den Prozess einfacher zu machen, und da der Speicherplatz auf den Plasterouter sehr begrenzt ist, haben wir '''vorkompilierte Images''' im Angebot:
| |
− | Die jeweils aktuelle Version für deinen Router liegt unter [http://images.freifunk-mainz.de images.freifunk-mainz.de] (bzw. unter [http://images.freifunk.lacerta.uberspace.de images.freifunk.lacerta.uberspace.de] bis zum Domainumzug).
| |
− | | |
− | Alternativ kann dem Router auch ein "normales" OpenWRT verpasst werden, dann muss man jedoch die benötigten Pakete von Hand nachinstallieren:
| |
− | | |
− | $ opkg update
| |
− | $ opkg install kmod-batman-adv tinc
| |
− | | |
− | = Router einrichten = | |
− | | |
− | Nachdem OpenWRT erfolgreich auf den Router geflasht ist, bezieht dieser die IP-Adresse <code>192.168.1.1</code>. Da bereits ein DHCP Server initial auf den Kisten läuft musst du dir keine eigene IP-Adresse setzen
| |
− | | |
− | == Passwort setzen ==
| |
− | Wie bei OpenWRT üblich, sollte das erste Einloggen per Telnet erfolgen, um das Root-Passwort zu ändern.
| |
− | | |
− | $ telnet 192.168.1.1
| |
− | | |
− | $ passwd <enter>
| |
− | $ > Neues Passwort eingeben:
| |
− | $ > Neues Passwort wiederholen:
| |
− | | |
− | Danach ist Telnet aus und SSH an.
| |
− | Nach einem Reboot muss der Login per SSH erfolgen
| |
− | | |
− | $ reboot -f
| |
− | | |
− | Die weiteren Einlogvorgänge erfolgen dann über SSH als Benutzer root:
| |
− | | |
− | $ ssh root@192.168.1.1
| |
− | | |
− | oder von einem Windows-PC mittels PUTTY - Hier Login per IP Adresse und SSH (Port 22)
| |
− | | |
− | ==Empfehlung: Sicherung der wichtigsten Dateien==
| |
− | | |
− | Die Praxis zeigt, dass es gut ist, später nochmal einen Blick in die Original-Dateien werfen zu können, wenn es um definierte Hardware Eigenschaften geht. Wer mag legt Kopien an von:
| |
− | | |
− | $ mkdir -p /etc/config/originals
| |
− | $ cp /etc/config/* /etc/config/originals
| |
− | | |
− | Weiterhin gibt es im OpenWrt.org einen Artikel der beschreibt, wie man den Bootloader als Backup sichert und wieder zurück spielt. Zugegeben, versteht sicher nicht jeder.
| |
− | | |
− | Nachlesen: '''[http://wiki.openwrt.org/doc/howto/generic.backup Backup des Bootloaders]'''
| |
− | | |
− | ==Netzwerk konfigurieren==
| |
− | | |
− | Leider unterscheiden sich die Addressierungen der Netzwerkinterfaces der Router je nach Modell und Hardware-Revision.
| |
− | Im folgenden der Anleitung werden die Interfaces als <span style="background: #{{Color|Blau}}; " ><WAN-IF></span> und <span style="background: #{{Color|Gelb}};"><SWITCH-IF></span> bezeichnet.
| |
− | {{Todo|Tabelle mit allen Routermodellen auffüllen.}}
| |
− | {| class="wikitable sortable"
| |
− | ! Router-Modell
| |
− | ! HW-Revision
| |
− | ! style="background: #{{Color|Blau}}; " | WAN-Interface
| |
− | ! style="background: #{{Color|Gelb}};" | Switch-Interface
| |
− | ! 2,4 GHz
| |
− | ! 5 GHz
| |
− | |-
| |
− | | tl-wr741nd
| |
− | | v5
| |
− | | eth1
| |
− | | eth0
| |
− | | Ja
| |
− | | Nein
| |
− | |-
| |
− | | tl-wr841nd
| |
− | | v7 (v8.x nicht geeignet)
| |
− | | eth0
| |
− | | eth1
| |
− | | Ja
| |
− | | Nein
| |
− | |-
| |
− | | tl-wr1043nd
| |
− | | v 1.x
| |
− | | eth0.2
| |
− | | eth0.1
| |
− | | Ja
| |
− | | Nein
| |
− | |-
| |
− | | tl-wdr3500
| |
− | | v1
| |
− | | eth1
| |
− | | eth0
| |
− | | Ja
| |
− | | Ja
| |
− | |-
| |
− | | tl-wdr3600
| |
− | | v1
| |
− | | eth1
| |
− | | eth0
| |
− | | Ja
| |
− | | Ja
| |
− | |}
| |
− | | |
− | Laden der Datei ''network'' in den Editor. Eine Hilfe gibt es:
| |
− | [http://www.linux-fuer-alle.de/doc_show.php?docid=29 hier] | |
− | | |
− | $ vi /etc/config/network
| |
− | | |
− | Einige Teile der Datei müssen ausgetauscht, andere ergänzt werden.
| |
− | | |
− | Gehen wir die Blöcke einfach mal durch:
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config interface 'loopback'
| |
− | |Aktion=Der ganze Block bleibt erhalten
| |
− | |}}
| |
− |
| |
− | {{Config-Block
| |
− | |Zeile=config globals 'globals'
| |
− | |Aktion=Der ganze Block (2 Zeilen) fliegt raus!
| |
− | |strike=true
| |
− | |}} | |
− | | |
− | An dieser Stelle fügen wir ein:
| |
− | | |
− | config interface 'vpn'
| |
− | option ifname 'freifunk_vpn'
| |
− | option mtu '1500'
| |
− | option proto 'batadv'
| |
− | option mesh 'bat0'
| |
− |
| |
− | config interface 'mesh'
| |
− | option ifname 'adhoc0'
| |
− | option mtu '1528'
| |
− | option proto 'batadv'
| |
− | option mesh 'bat0'
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config interface 'lan'
| |
− | |Aktion=Dieser Block wird entfernt. Vorher die Zeile '''option ifname''' suchen und den Namen des Interfaces mit der Tabelle oben vergleichen. Dieser Name ist das <span style="background: #{{Color|Gelb}};"><SWITCH-IF></span>.'''Block danach löschen'''.
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | An dieser Stelle einsetzen:
| |
− | Für Router nur mit 2,4 GHz ...
| |
− | | |
− | config interface 'freifunk'
| |
− | option ifname '<span style="background: #{{Color|Gelb}};"><SWITCH-IF></span> bat0 freifunk_wlan'
| |
− | option type 'bridge'
| |
− | option proto 'static'
| |
− | # Eure IP-Addresse aus dem WIKI bei ipaddr ersetzen
| |
− | option ipaddr '10.37.X.X'
| |
− | option netmask '255.255.0.0'
| |
− | option dns '10.37.4.1'
| |
− | | |
− | Für Router mit 2,4 GHz '''und''' 5 GHz ...
| |
− | | |
− | config interface 'freifunk'
| |
− | option ifname '<span style="background: #{{Color|Gelb}};"><SWITCH-IF></span> bat0 freifunk_wlan freifunk_wlan2'
| |
− | option type 'bridge'
| |
− | option proto 'static'
| |
− | # Eure IP-Addresse aus dem WIKI bei ipaddr ersetzen
| |
− | option ipaddr '10.37.X.X'
| |
− | option netmask '255.255.0.0'
| |
− | option dns '10.37.4.1'
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config interface 'wan'
| |
− | |Aktion=Dieser Block bleibt erhalten
| |
− | |}}
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config interface 'wan6'
| |
− | |Aktion=Der ganze Block (3 Zeilen) fliegt raus!
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config switch...
| |
− | |Aktion=Diese (beiden) Blöcke bleiben erhalten
| |
− | |}}
| |
− | | |
− | Speichern und raus: Bei 'vi' mit ESC :wq
| |
− | | |
− | {{Todo|Kommandos des VI Editors sammeln/referenzieren.}}
| |
− | | |
− | ==DNS Ausschalten==
| |
− | | |
− | DNS abschalten durch einmaliges Absetzen des folgenden Befehls
| |
− | | |
− | $ /etc/init.d/dnsmasq disable
| |
− | | |
− | | |
− | ==WLAN konfigurieren==
| |
− | | |
− | Laden der Datei ''wireless'' in den Editor. Eine Hilfe für den vi-editor gibt es:
| |
− | [http://www.linux-fuer-alle.de/doc_show.php?docid=29 hier ]
| |
− | | |
− | $ vi /etc/config/wireless
| |
− | | |
− | Der Inhalt wird modifiziert und ergänzt. Gehen wir wieder die Blöcke durch
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config wifi-device radio0
| |
− | |Aktion=Dieser Block bleibt erhalten. Hier folgende Zeile korrigieren: '''option channel 11'''.
| |
− | |}}
| |
− | | |
− | Danach das WLAN einschalten (im selben Block '''config wifi-device radio0'''):
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=option disabled 1
| |
− | |Aktion=diese Zeile entfernen oder mit # vorne versehen.
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | In der Original-Datei gibt es dahinter nun einen Block:
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config wifi-iface
| |
− | |Aktion=Dieser ganze Block wird entfernt und statt dessen durch gleich zwei Blöcke ersetzt!
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | Einfügen an dieser Stelle:
| |
− | | |
− | config wifi-iface
| |
− | option device 'radio0'
| |
− | option encryption 'none'
| |
− | option ssid 'mesh'
| |
− | option ifname 'adhoc0'
| |
− | option mode 'adhoc'
| |
− | option bssid '02:ca:ff:ee:ba:be'
| |
− |
| |
− | config wifi-iface
| |
− | option device 'radio0'
| |
− | option mode 'ap'
| |
− | option encryption 'none'
| |
− | option ifname 'freifunk_wlan'
| |
− | option ssid 'Freifunk Mainz'
| |
− | option network 'freifunk'
| |
− | option isolate '1'
| |
− | | |
− | | |
− | Nur bei einem Dualband Router mit 2,4 und 5 GHz geht es in der Originaldatei weiter. Alle anderen speichern jetzt und sind fertig mit der Bearbeitung dieser Datei.
| |
− | | |
− | Bei Routern mit zusätzlichem 5 GHz-Band gibt es jetzt noch einmal die gleichen Blöcke für "radio1".
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config wifi-device radio1
| |
− | |Aktion=Dieser Block bleibt erhalten.
| |
− | |}}
| |
− | | |
− | Danach das WLAN einschalten (im selben Block '''config wifi-device radio1'''):
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=option disabled 1
| |
− | |Aktion=diese Zeile entfernen oder mit # vorne versehen.
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | In der Original-Datei gibt es dahinter wieder nur einen Block:
| |
− | | |
− | {{Config-Block
| |
− | |Zeile=config wifi-iface
| |
− | |Aktion=Dieser ganze Block wird entfernt und statt dessen durch gleich zwei Blöcke ersetzt!
| |
− | |strike=true
| |
− | |}}
| |
− | | |
− | Der letzte Block wird wieder entfernt und durch diese Blöcke ersetzt:
| |
− | | |
− | config wifi-iface
| |
− | option device 'radio1'
| |
− | option mode 'adhoc'
| |
− | option encryption 'none'
| |
− | option ifname 'adhoc0'
| |
− | option ssid 'mesh'
| |
− | option bssid '02:ca:ff:ee:ba:be'
| |
− | | |
− | config wifi-iface
| |
− | option device 'radio1'
| |
− | option mode 'ap'
| |
− | option encryption 'none'
| |
− | option ifname 'freifunk_wlan2'
| |
− | option ssid 'Freifunk Mainz'
| |
− | option network 'freifunk'
| |
− | option isolate '1'
| |
− | | |
− | Wir speichern wieder mit ESC :wq
| |
− | | |
− | ==Tinc konfigurieren==
| |
− | | |
− | Laden der Datei ''tinc'' in den Editor. Eine Hilfe gibt es:
| |
− | [http://www.linux-fuer-alle.de/doc_show.php?docid=29 hier]
| |
− | | |
− | $ vi /etc/config/tinc
| |
− | | |
− | Der komplette Inhalt wird gelöscht und mit folgendem Inhalt gefüllt (NODENAME bitte austauschen):
| |
− | | |
− | <small>
| |
− | Man kann vor dem öffnen komfortabel die Datei leeren
| |
− | echo > /etc/config/tinc
| |
− | Bitte '''vorher''' ein Backup machen!
| |
− | </small>
| |
− | | |
− | config tinc-net 'ffmz'
| |
− | option enabled '1'
| |
− | option generate_keys '1'
| |
− | # NODENAME ersetzen. Wird aus der IP im Wiki erstellt durch Entfernung der Punkte
| |
− | # z.B. 10.37.1.100 wird zu 10371100. Es kann zu Doppeldeutigkeiten kommen.
| |
− | option Name 'NODENAME'
| |
− | option key_size '2048'
| |
− | option logfile '/tmp/log/tinc.ffmz.log'
| |
− | option debug '0'
| |
− | # gate2 ist derzeit das einzig existierende Gateway
| |
− | list ConnectTo 'gate2'
| |
− | option DirectOnly '1'
| |
− | option Forwarding 'off'
| |
− | option Interface 'freifunk_vpn'
| |
− | option Mode 'switch'
| |
− | option Compression '10'
| |
− | | |
− | Speicher und verlassen des Editors wieder mit ESC :wq
| |
− | | |
− | Tinc neu starten damit einmalig die Schlüssel generiert werden (Achtung: das geht nur einmal)
| |
− | | |
− | /etc/init.d/tinc restart
| |
− | | |
− | Durch "......." wird eine Tätigkeit angezeigt. Danach finden wir ein neues Verzeichnis mit neuen Dateien.
| |
− | | |
− | cd /etc/tinc/ffmz
| |
− | | |
− | Zeigt eine '''rsa_key.priv''' und ein weiteres Unterverzeichnis '''hosts'''. Die '''rsa_key.priv''' beinhaltet den privaten Schlüssel der nicht herausgegeben, aber extern als Sicherheitskopie aufbewahrt werden sollte. Genau so verhält es sich mit dem öffentlichen Schlüssel den wir im hosts Unterverzeichnis finden.
| |
− | | |
− | cd /etc/tinc/ffmz/hosts
| |
− | | |
− | Der öffentliche Schlüssel hat den Namen den wir in der TINC Datei eben unter '''option Name 'NODENAME'''' eingetragen haben.
| |
− | | |
− | Dessen Inhalt auflisten (cat 1037.....) und per Mail an {{#show: Systeme/Mail | ?Mail-Keys }} zusammen mit dem NODENAMEN senden. Dieser Schlüssel muss im gate2 eingetragen werden.
| |
− | | |
− | Datei '''gate2''' im Verzeichnis hosts anlegen:
| |
− | | |
− | $vi /etc/tinc/ffmz/hosts/gate2
| |
− | | |
− | Befüllen mit dem Inhalt aus der unten angezeigten Tabelle - GATE2 - (Gate1 ist offline)
| |
− | | |
− | {{#ask: [[Freifunk-Gateway::+]]
| |
− | |?Node-Tinc-Key = Tinc-Key
| |
− | |?Node-Kommentar = Kommentar
| |
− | | mainlabel=Gateway
| |
− | | intro=In dieser Tabelle werden unsere Gateways mitsamt den dazugehörigen Tinc-Schlüsseln gelistet
| |
− | |}}
| |
− | | |
− | Wir speichern wieder mit ESC :wq
| |
− | | |
− | ==Firewall Datei befüllen ==
| |
− | | |
− | Die Firewall Datei muss neuen Inhalt bekommen.
| |
− | | |
− | $ vi /etc/config/firewall
| |
− | | |
− | Alles muss raus. Neu rein der folgende Inhalt:
| |
− | | |
− | <small>
| |
− | Man kann vor dem öffnen komfortabel die Datei leeren
| |
− | echo > /etc/config/firewall
| |
− | Bitte '''vorher''' ein Backup machen!
| |
− | </small>
| |
− | | |
− | config defaults
| |
− | option syn_flood 1
| |
− | option input ACCEPT
| |
− | option output ACCEPT
| |
− | option forward REJECT
| |
− |
| |
− | config zone
| |
− | option name wan
| |
− | option network 'wan'
| |
− | option input ACCEPT
| |
− | option output ACCEPT
| |
− | option forward REJECT
| |
− |
| |
− | config zone
| |
− | option name freifunk
| |
− | option network 'freifunk'
| |
− | option input ACCEPT
| |
− | option output ACCEPT
| |
− | option forward REJECT
| |
− |
| |
− | config rule
| |
− | option name Reject-Telnet
| |
− | option src freifunk
| |
− | option proto tcp
| |
− | option dest_port 23
| |
− | option target REJECT
| |
− | | |
− | Wir speichern wieder mit ESC :wq
| |
− | | |
− | ==Weitere Handgriffe==
| |
− | | |
− | Diesen Befehl noch absetzen. Für Nodename wieder den in der TINC Datei angegebenen verwenden:
| |
− | | |
− | $uci set system.@system[0].hostname=NODENAME
| |
− | | |
− | WOW - fast fertig: jetzt kommt ein Reboot. Dann heißt es "Daumen drücken" - Viel Glück
| |
− | | |
− | $reboot -f
| |
− | | |
− | PS: Am Freifunk-Router muss jetzt vom WAN Port aus ein Kabel zum privaten Router führen, damit TINC eine VPN Verbindung herstellen kann, oder ein anderer Freifunk-Router in Funkreichweite sein, damit das eben erzeugte Gerät sich damit vermeshen kann. Sonst gibt es nach dem Boot-Vorgang keine IP-Adresse vom neuen FF-Router. Ist eine VPN Verbindung notwendig, funktioniert die natürlich erst, wenn dein öffentlicher Schlüssel, den du über die E-Mail Adresse gesendet hast zusammen mit deinem NODENAME am Gateway von einem unserer Admins eingetragen ist. Geduld bitte.
| |
− | | |
− | = Konfiguration testen =
| |
− | Einen Überblick findet man unter [[Howto/Funktionstests | Funktionstests]].
| |