Diese Seite ist veraltet.
Der aktuelle Stand steht hier: https://www.freifunk-gera-greiz.de/wiki/-/wiki/Allgemein/Konfiguration+Server+%28APU%29
Vorbereitung
Die APUs haben keinen VGA/DVI-Anschluss. Es ist ein Nullmodemkabel (ggf. auf USB) und eine serielle Verbindung (putty, minicom) notwendig. (115200 8N1)
Minicom
sudo minicom --device /dev/ttyUSB0
putty
...
Nach dem Start läuft ein Testprogramm, dass nur mit ESC verlassen werden kann. Sollte dieser Speichertest jedesmal angezeigt werden, deutet das darauf hin, dass kein Bootmedium gefunden wurde. Per F10 kann eine Auswahl der Bootmedien angefordert werden. Falls der interne Speicher noch nicht installiert/gesteckt ist, werden nur die Test-Einträge angezeigt. (Falls also der Eintrag fehlt, am besten erstmal die gesteckte MMC kontrollieren.)
Das Booten per USB wird unterstützt. Meine Versuche mit mit verschiedenen USB-Sticks und Images, die jeweils per dd kopiert wurden, funktionierten jedoch nicht.
Ein Start von einem USB-Laufwerk lief sofort direkt durch.
Installation
Nach dem Start von USB/CD/DVD wird das Debian-Auswahlmenü angezeigt. Die folgenden Punkte wurden ausgewählt/gedrückt.
- Grafische Installation
- h
- F8 "install vga=off console=ttyS0,115200n8"
- Länder- und Sprachauswahl jeweils für Amerika
- Kontinent und Land auf Europa/Deutschland
- Hostname: bb[Standortnummer]
- Domain: [leer]
- root-PW: *
- Benutzer: admin|*
- Partionierung
- Guided - use entire disk and set up LVM
- All files in one partition
- Software selection
- Alles abwählen außer "SSH Server" und "standard system utilities"
Neustart
Nach der Installation und beim ersten Neustart wird vermutlich ein Fehler ausgegeben. Das System kann nicht gestartet werden. Der Booteintrag im Grub muss angepasst werden.
Falls dort die Pfeiltasten nicht funktionieren, kann man diese durch STRG+ ersetzen.
Grub-Tastaturkombinationen (Pfeiltasten)
Tastaturkombination | Pfeilrichtung | Erklärung |
---|---|---|
STRG+B | links | "Back" |
STRG+F | rechts | "Forward" |
STRG+P | hoch | "toP" |
STRG+N | runter | "dowN" |
STRG+A | POS1 | "Anfang" |
STRG+E | ENDE | "Ende" |
Um die Anpassungen dauerhaft durchzuführen, müssen die Starteinträge geändert werden.
nano /etc/default/grub
"vga=off" suchen und löschen
update-grub2
Konfiguration
- IP-Adresse ermitteln
ip a
- SSH-Server testen
ssh //admin//@IP
Links
- Details
- Geschrieben von: Matthias Drobny
- Kategorie: Anleitungen
Vorgeplänkel
Im letzten Beitrag zur zeitgesteuerten Verfügbarkeit des Freifunk-Netzes, wurde bereits darauf eingegangen, wie Cronjobs auf dem Freifunk-Router eingerichtet werden. Auch in dieser Anleitung benötigst Du den Zugang per ssh (der Link beschreibt dies unter Windows, unter Linux oder OSX ist das ganze etwas einfacher), den Du bereits auf dem Router eingerichtet haben musst. Dieser ist nötig, da nur die wenigsten Einstellungen und Möglichkeiten, welche OpenWRT (bzw. Lede) zur Verfügung stellt über die grafische Oberfläche erreicht werden können.
Einloggen mit ssh
Als erstes musst Du eine Verbindung zum Freifunk-Knoten mit ssh herstellen. Unter OSX habe ich dazu eine ssh-Config eingerichtet und erreiche den Router mit ssh Routername.
Hast du das erfolgreich hinter dich gebracht, erwartet dich der Begrüßungsbildschirm (Hier mit Lede).
BusyBox v1.25.1 () built-in shell (ash) _________ / /\\ _ ___ ___ ___ / LE / \\ | | | __| \\| __| / DE / \\ | |__| _|| |) | _| /________/ LE \\ |____|___|___/|___| lede-project.org \\ \\ DE / \\ LE \\ / ----------------------------------------------------------- \\ DE \\ / Reboot (17.01-SNAPSHOT, r3211+10-d80b582) \\________\\/ ----------------------------------------------------------- root@Routername:~#
Standardmäßig ist sowohl das Client, als auch das Mesh-Netz angeschalten. In der vorherigen Anleitung wurde als erstes das Client-Netz per uci ausgeschalten und dann mit dem Befehl wifi jedes Mal an und abgeschalten. Dies hatte zur Folge, dass bei jedem Schaltvorgang das Mesh-Netz ebenfalls zusammengebrochen ist, da wifi das WLAN-Modul neu startet. Dies ist bei einem viel genutzten Netz nachteilig, weshalb ich meine Zeitschaltung anders ausführen musste.
Auch diese Anleitung tut dies für einen Standard 2,4GHz Singleband-Router, ist aber problemlos auf Dualbandgeräte erweiterbar.
Cronjob zur Zeitsteuerung einrichten
Die Zeitsteuerung selbst kannst Du ebenfalls per Cronjob einrichten. Gib dazu folgende Zeile ein:
root@Routername:~# vi /usr/lib/micron.d/client_wifi_timer
Drücke nun die Taste 'i' um in den Bearbeitungsmodus zu wechseln. Jetzt kannst Du die folgenden beiden Zeilen eingeben
30 21 * * * ifconfig client0 down 0 7 * * * ifconfig client0 up
Drücke die Escape-Taste (ESC) um den Bearbeitungsmodus zu verlassen. Jetzt schreibe ':wq' und bestätige mit der Eingabetaste.
Die beiden Zeilen sind wie folgt aufgebaut. (vgl https://de.wikipedia.org/wiki/Cron)
Minute Stunde TagDesMonats Monat Wochentag Anweisungen
Die erste Zeile bedeutet also: In Minute 30 der Stunde 21Uhr zu jedem Tag jedes Monats jeden Wochentags führe das Kommando 'Client-Netzwerk 0 ausschalten' aus. Die zweite Zeile schaltet das Client-Netz dementsprechend um 7Uhr wieder ein.
Würde man das Client-Netz lediglich Montag bis Freitag ausschalten wollen, muss die erste Zeile also wie folgt lauten:
30 21 * * 1-5 ifconfig client0 down
Die entsprechend muss das WLAN Dienstag bis Samstag wieder aktiviert werden, das bedeutet die zweite Zeile würde wie folgt aussehen:
0 7 * * 2-6 ifconfig client0 up
Sonntags ist mit 0 repräsentiert. Möchte man das WLAN bspw. Samstags und Sonntags 7 Uhr einschalten, sehe der Befehl wie folgt aus:
0 7 * * 6,0 ifconfig client0 up
Die so eingerichteten Geräte bleiben weiterhin über das Mesh-Netzwerk miteinander in Verbindung bzw. erweitern das bestehende Freifunk-Netz. Lediglich die Anmeldung mit Endgeräten an diesen Punkten ist nicht möglich. Die hier verwendeten Befehle ifconfig client0 up bzw ifconfig client0 down schalten dieses mal lediglich das Client-Netz aus, beim Schaltvorgang bleibt das Mesh bestehen, da lediglich das Device heruntergefahren wird und das Mesh ein anderes Device ist - nämlich mesh0.
Zum aktivieren der Änderungen muss noch der Cron neugestartet werden:
/etc/init.d/micrond restart
Die Voraussetzung, dass diese Befehle auch fehlerfrei ausgeführt werden, ist, dass in den Routerkonfigurationen das Client-Netz auch verfügbar ist. Im Falle von Client0 solltest Du mit uci show wireless die Option wireless.client_radio0.disabled='0' oder wireless.client_radio0.enabled='1' finden.
Optional: Clientnetz ist ab Routerstart ausgeschalten
Möchte ich nun jedoch standardmäßig das Client-Netz ausschalten, sodass bei einem Routerneustart dieses nicht verfügbar ist, so ist die Konfiguration Tabu und man sollte Befehle in ein startscript einfügen. Dieses Startscript ist /etc/rc.local. Dieses wird ausgeführt, nachdem das System initialisiert, kurzgesagt hochgefahren ist.
Du gelangst zu dieser Datei mit dem Editor vi über den Befehl:
root@Routername:~# vi /etc/rc.local
und du siehst den Inhalt dieser Datei:
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. exit 0 ~ ~ ~
Diese Datei tut laut Inhalt noch nichts, außer sich zu beenden (exit 0)
Drücke nun die Taste 'i' um in den Bearbeitungsmodus zu wechseln. Jetzt kannst du die folgende beiden Zeilen vor exit 0 hinzufügen:
sleep 10 ifconfig client0 down
Drücke die Escape-Taste (ESC) um den Bearbeitungsmodus zu verlassen. Jetzt schreibe ':wq' und bestätige mit der Eingabetaste.
Der erste Befehl wartet 10 Sekunden. Dies habe ich vorsichtshalber eingefügt, dass das WLAN-Modul nach dem starten auch wirklich hochgefahren ist. Der Zweite fährt das Client-Netz herunter.
- Details
- Geschrieben von: Marcus
- Kategorie: Anleitungen
[[https://www.freifunk-gera-greiz.de:443/web/ff-roschuetz/home/-/blogs/anleitung-einrichtung-einer-vpn-verbindung-fur-den-zugang-zum-heimnetzwerk-uber-ein-fremdes-wlan-auch-freifunk-?_33_redirect=https%3A%2F%2Fwww.freifunk-gera-greiz.de%3A443%2Fweb%2Fff-roschuetz%2Fhome%3Fp_p_id%3D33%26p_p_lifecycle%3D0%26p_p_state%3Dnormal%26p_p_mode%3Dview%26p_p_col_id%3Dcolumn-2%26p_p_col_count%3D1%26_33_struts_action%3D%252Fblogs%252Fview|Anleitung - Einrichtung einer VPN-Verbindung für den Zugang zum Heimnetzwerk über ein fremdes WLAN (auch Freifunk)]]
In dieser Anleitung möchte ich an einem Beispiel die Einrichtung und Nutzung einer VPN-Verbindung erklären, da die Einrichtung nicht ganz ohne Fallstricke ist. Eine solche VPN-Verbindung ist zum Beispiel hilfreich, wenn Sie von unterwegs aus einem fremden Netzwerk, wie zum Beispiel einem Hotel-WLAN oder über einen Freifunk-Knoten, auf Ihr privates Heimnetzwerk zugreifen möchten, so als befänden Sie sich tatsächlich über Ihr eigenes WLAN in Ihrem Netzwerk. In diesem Beispiel richten wir den Zugang auf einem Android-Smartphone "Samsung Galaxy S duos" mit originalem Android 4.0.4 als VPN-Client und einer Fritzbox 7490 mit Fritz-OS 06.30 als VPN-Server ein.
Die Vorgehensweise kann sich bei einer anderen Android-Version bzw. einer anderen Fritzbox leicht unterscheiden, sollte jedoch problemlos adaptierbar sein. Wenn dann alles korrekt eingerichtet ist, kann man den VPN-Tunnel je nach Bedarf einfach ein- und ausschalten. Das ganze wäre für Sie sicher auch interessant, wenn Sie daheim einen (oder mehrere) Freifunk-Knoten betreiben und nicht mehrere Drahtlosnetzwerke parallel laufen lassen möchten, wie in dem Fall das eigene WLAN und Freifunk. In dem Fall ist zwar die Übertragungsleistung auf die Geschwindigkeit Ihres Internetzuganges reduziert, aber für die Nutzung auf einem Smartphone oder einem Tablet dürfte das nebensächlich sein.
Da sich diese Anleitung auch an die weniger versierten Nutzer richtet, werde ich ein paar zusätzliche Erklärungen einbauen, die hoffentlich zum besseren Verständnis beitragen.
Was ist denn überhaupt dieses "VPN" überhaupt?
VPN steht für "Virtual Private Network" und dient der gesicherten Verbindung von einem Client wie zum Beispiel einem PC, einem Laptop oder einem Smartphone zu einem bestimmten Netzwerk, im vorliegenden Beispiel Ihrem Heimnetzwerk, über ein bestehendes fremdes Netzwerk, wie dem Internet, einem Hotel-WLAN oder dem Freifunk-Netzwerk. Viele Firmen nutzen VPN zum Beispiel, um ihre Außendienstmitarbeiter oder ihre Zweigstellen mit dem zentralen Frmennetzwerk zu verbinden. Nun, vereinfacht kann man sich einen VPN-Tunnel als eine Art Verlängerungsschnur zwischen dem Client und dem Zielnetz vorstellen. Für eine genauere detallierte Erklärung verweise ich auf https://de.wikipedia.org/wiki/Virtual_Private_Network.
Bitte nehmen Sie zur Kenntnis, daß Sie auf eigenes Risiko handeln. Sollten Sie durch einen Bedienfehler Ihre Geräte oder Ihren Internetzugang lahmlegen, liegt das allein in Ihrer Verantwortung. Lesen Sie bitte jeden Schritt vorher sorgfältig durch, bevor Sie ihn umsetzen.
Legen wir jetzt trotzdem langsam mal los?
Ok, Sie haben es so gewollt, legen wir mal los. :-)
1. Router (VPN-Server) konfigurieren
1.1. Dynamische DNS-Weiterleitung
Eine wichtige Sache brauchen wir zwingend, falls Sie von Ihrem Internetanbieter KEINE sogenannte statische (feste) öffentliche IP-Adresse bekommen: eine dynamische DNS-Weiterleitung. Ihr (jeder) Internetrouter bekommt bei der Einwahl in's Internet vom Internet-Provider automatisch eine sogenannte öffentliche IP-Adresse zugewiesen, über die er eindeutig zu identifizieren ist. Achtung: diese IP hat nichts mit der internen IP-Adresse zu tun, über die Ihre Computer daheim den Router ansprechen. Das ist notwendig, damit abgerufene Daten ihr Ziel überhaupt erreichen können. Stellen Sie sich vor, Sie jemand will Ihnen ein Paket schicken, ohne Ihre Adresse zu kennen. Mit der Information "An Familie Müller" allein kann der Paketbote nichts anfangen, er braucht schon die genaue Adresse, um Ihnen das Paket überhaupt bringen zu können. Mit Daten verhält es sich nicht anders, weswegen Ihr Router bei jeder Internetverbindung eine eindeutige IP-Adresse (kurz: IP) bekommen muß. Diese IP ist entweder dynamisch, dann ändert sie sich normalerweise bei jeder Einwahl, oder sie ist statisch, dann ist sie immer gleich. Die meisten privaten Internetzugänge verwenden dynamische IP's. Und an dieser Stelle kommt die "dynamische DNS-Weiterleitung" in's Spiel. Warum ist das so? Weil Sie von Ihrem Mobilgerät eine Verbindung zu Ihrem Router herstellen wollen, ohne mit absoluter Sicherheit die IP zu kennen, über welche der Router in dem Moment grad erreichbar ist, es würde folglich keine Verbindung zustande kommen.
Sie benötigen also erstmal ein Konto bei einem "Dynamic DNS Provider".
Was ist DNS?
DNS steht in diesem Fall für "Domain Name Service" und hat hier ausnahmsweise nichts mit Genetik zu tun. Damit werden IP-Adressen auf Klarnamen übersetzt und umgekehrt, "google.de" kann man sich auch leichter merken, als die zugehörige IP "216.58.213.3", DNS macht also, daß Sie beispielsweise den Google-Server hinter der IP erreichen, wenn Sie "google.de" im Browser eingeben. Sie können alternativ auch die IP eingeben (probieren Sie das ruhig mal aus) und kommen auf die Seite, aber können Sie sich die IP merken? Sobald Google nun aus irgendwelchen Gründen seine Server-Infrastruktur umbaut und der Server dann eine andere IP hat, funktioniert das mit der Eingabe der IP jedoch nicht mehr, "google.de" aber sehr wohl, weil der DNS-Eintrag auf die neue IP geändert wird. Für Privatanwender gibt es eine Fülle von mehr oder weniger geeigneten Anbietern, welche diesen Service kostenlos zur Verfügung stellen. Das ist an ganz unterschiedliche Bedingungen geknüpft, welche Sie bitte bei einer engeren Auswahl auf den Webseiten der infrage kommenden Anbieter in Erfahrung bringen. Befragen Sie zunächst die Suchmaschine Ihrer Wahl zum Beispiel nach "dynamische DNS-Weiterleitung". Die Entscheidung für einen bestimmten Anbieter kann ich Ihnen natürlich nicht abnehmen, ich persönlich habe mich für den Service von SPDYN entschieden und kann bisher zumindest nichts negatives berichten, es funktioniert zu meiner Zufriedenheit.
Ja toll, aber was macht dieses Dynamic-DNS nun eigentlich genau?
Da Sie nicht zu jedem Zeitpunkt die genaue öffentliche IP Ihres Routers kennen, ihn aber über die VPN-Verbindung erreichen wollen, brauchen Sie eine Lösung, die Ihnen die Notwendigkeit der Kenntnis der IP erspart. Und hier setzt Dynamic-DNS, oder kurz "Dyn-DNS" an. Wenn die Konfiguration abgeschlossen ist (kommt weiter unten) und Ihr Router eine öffentliche IP bekommt beziehungsweise sich die öffentliche IP ändert, meldet sich ihr Router kurz beim Dyn-DNS Dienst mit seiner aktuellen IP, damit der Aufruf der zugewiesenen Dyn-DNS Domain nicht in's Leere läuft. Der öffentlichen IP-Adresse Ihres Routers wird ein Domain Name zugewiesen, also ein DNS-Eintrag erzeugt und da das ganze dynamisch erfolgt, nämlich immer dann wenn sich diese IP ändert, heißt das eben "Dynamic DNS".
Haben Sie Ihr Konto beim Dyn-DNS Provider Ihrer Wahl eingerichtet, sollten Sie nun folgende Informationen zur Hand haben:
a) Die Update URL. Damit meldet Ihr Router seine aktuelle öffentliche IP an den Dyn-DNS Dienst. In meinem Fall sieht diese Update-URL so aus: "https://update.spdyn.de/nic/update?hostname=
b) Den Domainnamen. In der Regel ist dieser wie folgt aufgebaut: "benutzername.anbieter.domain", bei Abweichungen von diesem Schema gilt natürlich die Information, welche Sie von Ihrem Dyn-DNS Anbieter erhalten. Bei meinem Anbieter wäre die Domain zum Beispiel "benutzer.spdns.org". Anstelle von "benutzer" steht dort natürlich mein tatsächlich gewählter Benutzername, in diesem Fall handelt es sich nämlich nicht um eine Variable. Dies ist die Domain, die der Router während des Updates im vorherigen Punkt benötigt und über die er später von außen erreichbar sein wird.
c) Ihr Kennwort, welches Sie bei Erstellung des Kontos festgelegt haben.
Nun richten wir Dyn-DNS auf der Fritzbox ein. Dazu öffnen Sie bitte die Konfigurationsoberfläche mittels der URL "http://fritz.box/" in Ihrem Webbrowser. Sie werden das erweitere Einstellungsmenü benötigen. Falls noch nicht geschehen, aktivieren Sie das bitte, indem Sie am unteren Rand auf den Link "Ansicht: Standard" klicken, es sollte dann "Ansicht: Erweitert" zu sehen sein. Ist das schon der Fall, überspringen Sie diesen Schritt natürlich.
a) Klicken Sie nun im linken Menü der Fritzbox auf "Internet" und dann auf "Freigaben".
b) Anschließend wählen Sie rechts im Fenster den Reiter "Dynamic DNS".
c) Setzen sie nun einen Haken vor "Dynamic DNS benutzen".
d) Wählen Sie bei "Dynamic DNS-Anbieter" falls vorhanden Ihren Anbieter, anderenfalls wählen Sie "Benutzerdefiniert".
e) Tragen Sie nun bei "Update-URL" eben jene ein, die Sie von Ihrem Dyn-DNS Anbieter erhalten haben. Sollten Sie sich ebenfalls für SPDNS entschieden haben, können Sie hier einfach die Update-URL eintragen, welche ich weiter oben genannt habe.
f) Unter "Domainname" tragen Sie nun die von Ihnen erstelle Domain ein. Verwenden Sie kein "http" oder ähnliches davor.
g) Tragen Sie Ihren Benutzernamen ein, in der Regel funktioniert hier ebenfalls der Domainname.
h) Und nun noch das Kennwort eintragen.
Haben Sie alle Informationen eingetragen, klicken Sie unten auf "Übernehmen", damit die Fritzbox die Einstellungen speichert. Wenn Sie nun zurück in's Hauptmenü der Fritzbox gehen (Übersicht), sollten Sie im Feld "Komfortfunktionen" hinter dem Eintrag "Dynamic DNS" ihren soeben eingerichteten Zugang sehen. Die Information lautet in etwa: aktiviert, gefolgt von Ihrer Domain und IPv4-Status: erfolgreich angemeldet. Sie finden die Information auch unter "Internet" und dann "Online-Monitor"
Damit ist die Einrichtung der dynamischen DNS-Weiterleitung abgeschlossen. Sollte der Status nicht "erfolgreich angemeldet" sein, prüfen Sie bitte nochmal Schritt für Schritt, ob Sie im Konfigurationsdialog alle Informationen richtig eingegeben haben.
****
1.2. VPN-Zugang
Damit ein VPN-Tunnel aufgebaut werden kann, sind natürlich neben den notwendigen Einstellungen sowohl client- als auch serverseitig, auch noch Zugangsdaten notwendig, mit denen sich der berechtigte VPN-Benutzer als solcher beim Server (in diesem Fall ist das der Router) ausweisen kann. Schließlich soll ja nicht jeder x-beliebige Anwender einfach so in Ihr Netzwerk hinein können.
Da wir bei der Konfiguration des VPN-Servers den (oder die) berechtigten Benutzer angeben müssen, ist es natürlich sinnvoll diesen zuerst anzulegen.
a) Wählen Sie auf der Konfigurationsoberfläche der Fritzbox "System", anschließend wählen Sie den Unterpunkt "FRITZ!Box-Benutzer".
b) Im Fenster rechts klicken Sie nun auf die Schaltfläche "Benutzer hinzufügen".
c) Tragen Sie einen Benutzernamen ein, den Sie später auf dem Client ebenfalls benötigen. Sie können den Benutzer einfach "vpn" nennen, oder Sie wählen Ihren Vornamen, irgendeine Nummer oder ähnliches. Wichtig ist nur, daß die diesen Namen später auf dem Client exakt so eingeben, wie Sie das jetzt hier tun.
d) Eine Emailadresse ist an dieser Stelle nicht notwendig, Sie können das Feld einfach leer lassen. Wenn Ihnen dabei mulmig wird, können Sie natürlich auch eine Emailadresse hinterlegen.
e) Das Kennwort, dieser Schritt ist dafür umso wichtiger. Sie sollten hier nämlich ein möglichst sicheres Passwort wählen! Wenn Sie Ihren Geburtstag eintragen und anschließend wird Ihr Netzwerk kompromittiert, beschweren Sie sich bitte nicht bei mir. Tips für sichere Passwörter findet man im Internet zu hauf, auch Seiten oder Programme, die Ihnen ein solches Passwort generieren können. Ich selbst benutze das Programm "KeePass". Das ist eine äußerst mächtige Passwortverwaltung, welche natürlich auch einen entsprechenden Generator mitbringt. Ein sicheres, und damit komplexes Passwort ist möglichst lang und enthält eine möglichst zufällige Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen. Wichtig: Sie müssen dieses Passwort später auch bei der Einrichtung am Client eingeben, können es aber dort speichern, so daß es nicht jedesmal erneut eingegeben werden muß.
f) Nun aktivieren Sie mit einem Haken ganz oben den Eintrag "Benutzerkonto aktiv" und ganz unten den Eintrag "VPN". Alle anderen Haken entfernen Sie bitte, nur die zwei genannten Einträge werden benötigt! Das gilt auch für "Zugang auch aus dem Internet erlauben", DEAKTIVIEREN Sie das, falls es aktiv sein sollte! Dieser Zugriff geht am VPN vorbei, genau DAS wollen wir ja NICHT!
g) Klicken Sie nun auf "OK".
Sie werden nun von der Box gefragt, ob Sie die Einstellungen für iOS- und Android-Geräte sehen möchten. Ja, Sie möchten. ;-)
Darauf wird sich ein Fenster öffnen, welches nach einem Moment mit allen relevanten Informationen gefüllt sein sollte. Sollten Sie das Fenster aus Versehen geschlossen haben, oder später erneut aufrufen wollen, erreichen Sie das wie folgt:
a) Analog zum vorangegangenen Punkt a)
b) Wählen Sie hinter dem erstellten VPN-Nutzer die Schaltfläche "Bearbeiten", das ist das Batt mit dem Stift.
c) Scrollen Sie nach unten und klicken Sie hinter "VPN" auf den Link "VPN-Einstellungen anzeigen".
So kommen Sie immer wieder an die benötigten Informationen.
Lassen Sie das Fenster noch geöffnet, wir brauchen es gleich. Prüfen Sie vorher noch kurz, ob unter "Internet", "Freigaben", Reiter "VPN" ein Eintrag für den soeben erstellten Benutzer erzeugt wurde. Die Zeile sollte den Benutzernamen enthalten und als Internetadresse sollte 0.0.0.0 stehen, da ja noch keine Verbindung aufgebaut ist. Der Rest dürfte leer sein und das Statuslämpchen sollte eigentlich auch noch nicht leuchten.
Damit wäre die Einrichtung des VPN-Servers abgeschlossen und wir schreiten zur Einrichtung des Clients.
2. Smartphone (VPN-Client) konfigurieren
Holen Sie bitte das Fenster mit den VPN-Einstellungen hervor und nehmen Sie sich Ihr Handy zur Hand.
a) Öffnen Sie auf dem Telefon die "Einstellungen".
b) Wählen Sie oben unter "Drahtlos und Netzwerke" den Eintrag "Weitere Einstellungen". Auf anderen Telefonen bzw. anderen Android-Versionen kann der Eintrag auch "Mehr..." oder ähnlich heißen.
c) Wählen Sie den Eintrag "VPN".
d) Wählen Sie den Eintrag "VPN-Netzwerk hinzufügen" oder was in Ihrem Fall die Enstprechung ist.
e) Atmen Sie nochmal tief durch und konzentrieren Sie sich. :-)
f) Tragen Sie als Name entsprechend einen Namen ein, den diese Verbindung erhalten soll, dieser darf auch Leerzeichen enthalten, zum Beispiel "Nach Hause". Der eingegebene Name dient lediglich der Unterscheidung auf dem Gerät, falls Sie mehrere VPN-Zugänge nutzen.
g) Ändern Sie den Typ auf "IPSec Xauth PSK", so wie es auch im Fenster mit den Einstellungen steht. Das ist das verwendete Authentifizierungsverfahren und es ist wichtig, weil sonst die Anmeldung scheitern würde.
h) Als Server-Adresse tragen Sie nun Ihre Dyn-DNS Domain ein. Das sollte so auch im Einstellungsfenster der Box zu sehen sein.
i) Unter "IPsec Identifier" tragen Sie Ihren zuvor erstellten Benutzernamen ein, der sollte ebenfalls im Fenster der Box zu lesen sein.
j) Jetzt bitte wirklich konzentrieren, dann müssen Sie das nur einmal eintippen: Der "IPsec Pre-shared Key" muß EXAKT so eingegeben werden, wie er im Einstellungsfenster der Box angezeigt wird, Groß- und Kleinschreibung beachten! Dieser Schlüssel wird vom VPN-Server, in diesem Fall von der Fritzbox, beim einrichten des VPN-Benutzers automatisch erzeugt und ist nur für diesen einen Benutzer gültig. Jeder weitere VPN-Benutzer bekommt einen anderen Schlüssel zugewiesen. Bei der Eingabe besteht durchaus Verwechslungsgefahr zwischen o (kleines oh),O (großes Oh) und 0 (Null), bzw. zwischen l (kleines L), I (großes i) und der 1, also bitte genau hinschauen. Wenn die Verbindung später im Test nicht klappt, dann ist dies hier häufig die Ursache.
k) ACHTUNG: Bevor Sie jetzt irgendetwas tun, lesen Sie erst bis zum nächsten Punkt weiter! Hier lauert nämlich der größte Fallstrick überhaupt, was schon so manchen Anwender bei der Einrichtung hat verzweifeln lassen. Das Einstellungsfenster der Box sagt an dieser Stelle, Sie könnten die Einrichtung mit "Sichern" abschließen, aber da fehlt noch etwas ganz wichtiges, damit die Verbindung wirklich gelingt. Was Sie jetzt schließen können, ist lediglich das Fenster mit den Einstellungen der Box, mehr nicht. Sie müssen nämlich noch die interne IP-Adresse und das Subnetz für die Weiterleitung der Daten in der Konfiguration des Telefons eintragen, sonst läuft die Verbindung in's Leere. Die Verbindung selbst würde zwar erfolgreich hergestellt, aber es würden keine Daten übertragen. Also lassen Sie sich auf dem Telefon im geöffneten Dialog noch die "Erweiterten Optionen" anzeigen:
l) Als "DNS-Server" tragen Sie die interne IP des Routers ein. Diese hat normalerweise das Schema "192.168.x.x". Dieletzten beiden Blöcke können durchaus abweichen, das x dient hier nur als Platzhalter. Die genaue IP erfahren Sie zum Beispiel, indem Sie im Menü der Box dem Pfad "Heimnetz", "Netzwerk", "Netzwerkeinstellungen", etwas weiter unten im Fenster auf die Schaltfläche "IPv4-Adressen" klicken. Die gesuchte IP ist gleich die obere IPv4-Adresse. Bitte nehmen Sie in diesem Fenster KEINE Änderungen vor, Sie könnten dadurch Ihr Netzwerk lahmlegen! Alternativ können Sie auch auf der Kommandozeile (cmd ausführen) ein "ping fritz.box" absetzen, das wird Ihnen unter anderem die IP zurückliefern. Diese tragen Sie also als DNS-Server auf dem Telefon ein.
m) Nun müssen Sie noch das Ziel für die "Routen" eintragen. Dies muß das Subnetz hinter dem Router sein, in dem Fall also Ihr gesamtes Heimnetzwerk. Das ist folgendermaßen definiert: Wenn die interne IP des Routers zum Beispiel "192.168.2.1" lautet, wäre der korrekte Eintrag für die Routen: "192.168.2.0/24", also der letzte Block ist eine "0" statt der "1", das ganze ergänzt durch "/24". Wenn Sie genauer wissen möchten, was es mit dieser Schreibweise auf sich hat, finden Sie ausführliche informationen unter https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Für's erste können Sie mir natürlich auch einfach glauben daß diese Angabe für den VPN-Server wichtig ist, damit er überhaupt weiß wohin er die eingehenden Daten aus dem VPN-Tunnel weiterreichen soll. Deswegen muß der Client diese Information an den Server liefern.
Jetzt können Sie mit "Speichern" die Einrichtung abschließen.
Naja, fast. Zwei Einträge müssen wir noch machen, dann sind wir fertig. Also machen Sie mir so kurz vor dem Ziel nicht doch noch schlapp. ;-)
3. Der Test
Nachdem Sie die Einrichtung mit "Speichern" (fast) abgeschlossen haben, möchten wir das ganze natürlich auch testen. Sinnvollerweise sollten Sie dazu ein anderes WLAN verwenden, als das des Routers der als VPN-Server dient. Wenn Sie bereits einen Freifunkknoten betreiben und Ihr Telefon über diesen online geht, ist das für den Test genau richtig. Alternativ könnten Sie auch einen Nachbarn um Gastzugang bitten oder ähnliches.
Sie sollten jetzt also eine Liste mit eingerichteten VPN-Zugängen auf dem Bildschirm Ihres Smartphones sehen. Ja ok, "Liste" vielleicht nicht gleich, aber zumindest sollte jetzt der soeben eingerichtete Zugang unter dem von Ihnen gewählten Namen aufgeführt sein.
Tippen Sie einmal kurz auf die Verbindung, es sollte sich eine Abfrage nach Benutzername und Passwort auftun. Hier tragen Sie den Benutzernamen in Verbindung mit dem Passwort ein, wie Sie beides bei Einrichtung des VPN-Benutzers im Router hinterlegt haben. Setzen Sie den Haken für "Kontoinformationen speichern", dann müssen Sie die Eingabe künftig nicht erneut vornehmen. Steht alles drin? Dann tippen Sie mal auf "Verbinden".
Nun sollte die Anzeige auf "Verbinden" und kurz darauf auf "Verbunden" umschalten und es sollte oben in der Statusleiste ein Schlüssel angezeigt werden, der auf die aktive VPN-Verbindung hinweist. Ferner können Sie nun auf der Fritzbox unter "Internet", "Online-Monitor" jederzeit den Status der VPN-Verbindung auslesen.
Um ganz sicher zu gehen, daß Sie auch tatsächlich "innerhalb" Ihres Heimnetzes sind, rufen Sie zum Beispiel über den Browser des Telefons mal die interne (!) IP des Routers auf, also zum Beispiel die "192.168.2.1", falls Ihr Router diese interne IP verwendet. Sie sollten daraufhin den Begrüßungsbildschirm Ihres Routers zu sehen bekommen. Wären Sie nicht über VPN verbunden, sondern "nur" über das Fremdnetz zum Internet, würde dieser Schritt nicht klappen. Sie können die VPN-Verbindung trennen, indem Sie zum Beispiel die Statusleiste aufziehen und dann auf den Eintrag des VPN tippen. Der Dialog ist dann selbsterklärend. Von nun an können Sie die VPN-Verbindung jederzeit nach Bedarf ein- und ausschalten.
Wenn Sie mehrere Geräte über VPN einbinden möchten, können Sie dies ohne weiteres tun. Sie können zum Beispiel mehrere Smartphones oder Tablets über die beschriebene Methode einbinden und auf allen Geräten den selben Benutzer verwenden. Sie müssen also nicht zwingend für jedes mobile Endgerät einen zusätzlichen Benutzer im Server anlegen.
Haben Sie's bemerkt? Sie mußten dafür keine Software installieren. Das ist für dieses Beispiel auch gar nicht notwendig, da der Router als VPN-Server alles wichtige übernimmt, bzw. Android die benötigten Voraussetzungen bereits mitbringt. Wenn Sie als VPN-Client zum Beispiel Ihren Laptop einsetzen möchten, benötigen Sie eventuell eine VPN-Software, doch das hängt von Ihrem Betriebssystem ab und ist vielleicht Bestandteil einer anderen Anleitung. Es gibt zwar für Android einen OpenVPN-Client, dieser setzt jedoch auch einen OpenVPN-Server auf der Gegenseite voraus, was wiederrum Modifikationen am Router erforderlich macht. Das würde den Rahmen hier ein wenig sprengen. OpenVPN ist im Gegensatz zum hier verwendeten IPsec-VPN doch schon recht speziell. Einen kleinen Überblick über die unterschiedlichen VPN-Protokolle finden Sie unter anderem in diesem Artikel.
Hat alles so geklappt wie beschrieben? Dann gratuliere ich Ihnen ganz herzlich zur erfolgreichen Konfiguration und Inbetriebnahme Ihres eigenen VPN-Tunnels, bedanke mich für's zulesen und daß Sie so tapfer bis zum Schluß durchgehalten haben. :-D
- Details
- Geschrieben von: Eric
- Kategorie: Anleitungen
Ich gehe davon aus, dass du deinen Router bereits zum Freifunk-Router aufgewertet hast indem du die aktuelle Freifunk-Firmware deiner Community aufgespielt hast. Des Weiteren nutze ich in dieser Anleitung den Zugang per ssh (der Link beschreibt dies unter Windows, unter Linux oder OSX ist das ganze etwas einfacher), den du ebenfalls auf dem Router eingerichtet haben musst. Dieser ist nötig, da nur die wenigsten Einstellungen und Möglichkeiten, welche OpenWRT zur Verfügung stellt über die grafische Oberfläche erreicht werden können.
Als erstes musst du eine Verbindung zum Freifunk-Knoten mit ssh herstellen. Unter OSX habe ich dazu eine ssh-Config eingerichtet und erreiche den Router mit ssh Routername.
Hast du das erfolgreich hinter dich gebracht, erwartet dich der Begrüßungsbildschirm.
BusyBox v1.22.1 (2015-11-06 11:46:31 CET) built-in shell (ash) Enter 'help' for a list of built-in commands. _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- BARRIER BREAKER (Barrier Breaker, r46287) ----------------------------------------------------- * 1/2 oz Galliano Pour all ingredients into * 4 oz cold Coffee an irish coffee mug filled * 1 1/2 oz Dark Rum with crushed ice. Stir. * 2 tsp. Creme de Cacao ----------------------------------------------------- root@Routername:~#
Als ersten Schritt schalte das Client-Netzwerk ab und sichere den Wert in den Speicher des Routers. Dies erfolgt durch die Befehle:
root@Routername:~# uci set wireless.client_radio0.disabled=1 root@Routername:~# uci commit wireless
Dieser Schritt ist nicht unbedingt nötig, hat allerdings folgenden Effekt. Das Client-Netzwerk ist standardmäßig ausgeschalten. Das bedeutet, wenn jemand Zugriff auf das Gerät bekommt (weil es bspw. in einem Gemeinschaftsbereich o.ä. aufgestellt ist) und den Router neu startet bleibt das WLAN aus. Ohne diese Eingabe reagiert das Gerät bei einem Neustart mit dem anschalten des WLANs.
Die Zeitsteuerung selbst kann man per Cronjob einrichten. Gib dazu folgende Zeile ein:
root@Routername:~# crontab -e
Drücke nun die Taste 'i' um in den Bearbeitungsmodus zu wechseln. Jetzt kannst du die folgenden beiden Zeilen eingeben
30 21 * * * uci set wireless.client_radio0.disabled=1;wifi 0 7 * * * uci set wireless.client_radio0.disabled=0;wifi
Drücke die Escape-Taste (ESC) um den Bearbeitungsmodus zu verlassen. Jetzt schreibe ':wq' und bestätige mit der Eingabetaste.
Die beiden Zeilen sind wie folgt aufgebaut. (vgl https://de.wikipedia.org/wiki/Cron)
Minute Stunde TagDesMonats Monat Wochentag Anweisungen
Die erste Zeile bedeutet also: In Minute 30 der Stunde 21Uhr zu jedem Tag jedes Monats jeden Wochentags führe das Kommando 'Client-Netzwerk ausschalten' aus. Die zweite Zeile schaltet das Client-Netz dementsprechend um 7Uhr wieder ein.
Würde man das Client-Netz lediglich Montag bis Freitag ausschalten wollen, muss die erste Zeile also wie folgt lauten:
30 21 * * 1-5 uci set wireless.client_radio0.disabled=1;wifi
Die entsprechend muss das WLAN Dienstag bis Samstag wieder aktiviert werden, das bedeutet die zweite Zeile würde wie folgt aussehen:
0 7 * * 2-6 uci set wireless.client_radio0.disabled=0;wifi
Sonntags ist mit 0 repräsentiert. Möchte man das WLAN bspw. Samstags und Sonntags 7 Uhr einschalten, sehe der Befehl wiefolgt aus:
0 7 * * 6,0 uci set wireless.client_radio0.disabled=0;wifi
Die so eingerichteten Geräte bleiben weiterhin über das Mesh-Netzwerk miteinander in Verbindung bzw. erweitern das bestehende Freifunk-Netz. Lediglich die Anmeldung mit Endgeräten an diesen Punkten ist nicht möglich. Man könnte die zeitgesteuerten Anweisungen auch ausbauen - die LAN-Ports abschalten, die Bandbreite begrenzen, die Sendeleistung herunterfahren - eben alles, was man noch alles verstellen kann.
- Details
- Geschrieben von: Mario
- Kategorie: Anleitungen
Hier eine sehr kurz und mit absicht einfach gehaltene Anleitung wie man B.A.T.M.A.N. und fastd auf einen aktuellen Raspbian zum laufen bekommt.Darauf aufbauent ist auch auch ein Offloader möglich. Dazu ist entweder ein VLAN-fähiger Switch oder eine zusätzliche USB-Netzwerkkarte nötig.
Grundkonfiguration
sudo usermod -aGadm,staff pi sudo reboot sudo apt-get install cmake doxygen bison libcap-dev libsodium-dev libjson-c-dev batctl bridge-utils xz-utils wget pkg-config
fastd
cd /usr/local/src wget --no-check-certificate https://git.universe-factory.net/libuecc/snapshot/libuecc-5.tar.gz tar -xzf libuecc-5.tar.gz cd libuecc-5/ cmake . make sudo make install sudo ldconfig -v{{{ cd /usr/local/src
wget --no-check-certificate https://projects.universe-factory.net/attachments/download/81/fastd-17.tar.xz tar -xf fastd-17.tar.xz cd fastd-17/ cmake . make sudo make install
sudo mkdir /etc/fastd/
}}}
Schlüssel generieren ...
fastd --generate-key
... und in folgender Konfiguration anpassen:
/etc/fastd/fastd.conf
log level debug; log to syslog level warn; interface "mesh-vpn"; method "salsa2012+umac"; #method "null+salsa2012+umac"; #method "null"; secret "FFF1415dd15eb858eac8104d8c98a5a384cd9ea1da7c5a23cd643b05734d6269"; #Public: FFF4a0ec3742f9e199d21191034c30499ac9b57b2f495a82ce8995ef6d3fa41c mtu 1406; mode tap; status socket "/var/run/fastd.mesh_vpn.socket"; peer group "backbone" { peer limit 1; peer "gw1" { key "e087d1deefc6ba6f7fe4ba293d0358d6f8fb8a3eef53f4133d82b4faa9717c46"; remote ipv4 "gw1.freifunk-gera-greiz.de" port 10181; } peer "gw2" { key "1026c1a0a79817084af1724571b7689ad94eb3f5934e3bd8c6041c3708554c6b"; remote ipv4 "gw2.freifunk-gera-greiz.de" port 10181; } peer "gw3" { key "e5fe5ec0e7d7a1fb125a02c06b8cee8b06405752027e346d85d81ff48f350746"; remote ipv4 "gw3.freifunk-gera-greiz.de" port 10181; } } on up " modprobe batman-adv ip link set up dev $INTERFACE batctl if add $INTERFACE sysctl net.ipv6.conf.bat0.disable_ipv6=1 sysctl net.ipv6.conf.mesh-vpn.disable_ipv6=1 ip l set bat0 up batctl gw client 45 batctl orig_interval 5000 batctl multicast_mode 0 echo 15 > /sys/class/net/bat0/mesh/hop_penalty echo 1 > /sys/class/net/bat0/mesh/bridge_loop_avoidance echo 1 > /sys/class/net/$INTERFACE/batman_adv/no_rebroadcast ifup br-client brctl addif br-client bat0 "; on down " brctl delif br-client bat0 ip link set down dev bat0 ifdown br-client ";
B.A.T.M.A.N. und Interfaces
modinfo batman-adv filename: /lib/modules/4.1.7+/kernel/net/batman-adv/batman-adv.ko version: 2015.0 description: B.A.T.M.A.N. advanced author: Marek Lindner, Simon Wunderlich license: GPL srcversion: E9D015FA50D13B3188D4869 depends: intree: Y vermagic: 4.1.7+ preempt mod_unload modversions ARMv6
Es sollte mindestens die Version 2015.0 verwendet werden, ansonsten muss dieses Kernelmodul selbst übersetzt werden.
Optional falls batman zu alt ist:
cd /usr/local/src sudo apt-get install linux-headers-$(uname --kernel-release) build-essential wget https://downloads.open-mesh.org/batman/stable/sources/batman-adv/batman-adv-2016.3.tar.gz tar -xzf batman-adv-2016.3.tar.gz cd batman-adv-2016.3/ wget https://raw.githubusercontent.com/ffggrz/ff-overlay/master/net-misc/batman-adv/files/decrease-maximum-fragment-size-2016.3.patch patch -p1 -i decrease-maximum-fragment-size-2016.3.patch make sudo make install reboot sudo apt-get install pkg-config libnl-genl-3-dev libnl-3-200 libnl-3-dev wget https://downloads.open-mesh.org/batman/releases/batman-adv-2016.3/batctl-2016.3.tar.gz tar -xzf batctl-2016.3.tar.gz cd batctl-2016.3/ make sudo make install
Hier bitte eigene IP anpassen und nicht vergessen im github eintragen!
/etc/network/interfaces
auto br-client iface br-client inet static bridge-stp no bridge-fd 0 bridge-hello 10 bridge_ports none address 10.181.0.123 netmask 255.255.192.0 dns-nameservers 10.181.0.12 dns-search ffggrz post-up start-stop-daemon -b --start --exec /usr/local/bin/fastd -- --config /etc/fastd/fastd.conf; post-down start-stop-daemon --stop --exec /usr/local/bin/fastd; iface br-client inet6 static address fdb5:78b:64cc::123 netmask 64
Damit der Raspberry Pi nicht an das neuen Interfaces den dhcp-Client startet brauchen wir folgende zusätzliche Zeile:
/etc/dhcpcd.conf
denyinterfaces br-client bat0 mesh-vpn
Und neustarten:
sudo service dhcpcd restart
Test
Zum Test kann der fastd manuell gestartet werden:
sudo fastd --config /etc/fastd/fastd.conf
ALFRED
cd /usr/local/src wget http://downloads.open-mesh.org/batman/releases/batman-adv-2015.1/alfred-2015.1.tar.gz tar -xzf alfred-2015.1.tar.gz cd alfred-2015.1/ make CONFIG_ALFRED_GPSD=n sudo make CONFIG_ALFRED_GPSD=n install
Zum "on up" in der fastd.conf kommt noch am Schluss folgendes dazu:
/sbin/start-stop-daemon -b --start --exec /usr/local/sbin/batadv-vis -- -si bat0 /sbin/start-stop-daemon -b --start --exec /usr/local/sbin/alfred -- -i br-client -b bat0
ALFRED-Announce:
sudo apt-get install ethtool python3-pip python3-netifaces lsb-release sudo pip3 install py-cpuinfo cd /usr/local/src git clone https://github.com/ffggrz/ffnord-alfred-announce
Die "config.json" anpassen !
crontab:
* * * * * root /usr/local/src/ffnord-alfred-announce/announce.sh -u /var/run/alfred.sock
Hinweis
Es dauert mindestens 1 Minute bis der Client im Mesh-Netzwerk verfügbar ist.Zur Geschwindigkeit muss gesagt werden dass es nicht besonders schnell ist. Im Vergleich zu OpenVPN ist kaum ein Unterschied zu messen.
- Details
- Geschrieben von: Marcus
- Kategorie: Anleitungen