OpenWRT - mehr als ein Router Jan Fischer Linuxstammtisch der CLUG am 13. Dezember 2013.

Slides:



Advertisements
Ähnliche Präsentationen
Aufbau eines Netzwerkes
Advertisements

Neue VPN-Technologien für Remote Access und WLAN
Software Distribution Platform Bernhard M. Wiedemann Problem Statement Current State of the Art Design.
für das Schulnetz der BS Roth
Einfügen einer Scanchain in ein Chipdesign mittels DFT- Compiler.
Informationen ü ber den Umbau des Schulnetzes Aufgrund der Umstellung unseres Schulnetzes auf ein neues Serversystem wird Ende Juni 2010 der Zugriff auf.
Erfahrungsbericht Rechenzentrum der Ruhr-Universität Bochum
1.WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
1.WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
Fli4l Der Ein-Disketten-Router von Sebastian Röhl von Sebastian Röhl.
Linux-HA-Cluster – Heartbeat mit DRBD
1.WICHTIG: oBringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
Referat über das Thema: Firewall
Zero Administration Kit für Microsoft® Windows® Jörg Kramer University Support Center.
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Folie 1 ONLINE USV-Systeme AG Roland Kistler, März 2013 Herzlich Willkommen Roland Kistler Sales Engineer Tel. +49 (89)
Aspekte der Zugriffsicherheit am Beispiel der Entwicklung eines Authentifizierungsserversystems Thomas Fieder Lehrstuhl und Institut für Allgemeine Konstruktionstechnik.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
IIS The microsoft way. © Windows NT Option pack optionale Server Komponenten IIS (Internet Information Server) Webserver von Microsoft.
Thomas Tretter, 30. September 2003RAC unter Linux: Erfahrungen und Tipps1 RAC unter Linux Erfahrungen und Tipps 30. September 2003.
Webdeployment auf Cluster Seminarvortrag von Lukas Bonzelett.
Kommunikation verbindet. Und wer verbindet die Kommunikation? COSYNUSconnect: Universeller Zugriff auf Unternehmensdatenbanken Ivan Dondras, IT-Consultant.
Auswirkungen des Hostings auf die Systembetreuung Mehr Arbeit und höhere Anforderungen hieran Abstimmungsbedarf / Prozesse Notwendigkeit zu internem Wissenstransfer.
LSI3041E-R & LSI3442E-R Controller Allgemeines: – Nicht konfigurierte Festplatten werden automatisch als Single Disks bzw. Logical Drives (einzelne Laufwerke)
Präsentation über Network Marketing.
Die Quelle für deutschsprachigen PIC-Entwickler
Projektvorstellung im Kurs „Praktisches Linux“, WS 2007/2008.
1 Raspberry Pi - Grundlagen Quelle:
Linux Seminar Einführung Linux. Gliederung ● Was ist Linux? ● Geschichte ● GNU/GPL ● grundsätzliche Begriffe ● Vorteile ● Nachteile ● Hilfe? ● Unterschiede.
Mesh-Networks als Zugangsnetze Opennet Initiative e.V. / Dr. T. Mundt.
Fedora als Eier legende Wollmilchsau im Heimnetzwerk Benedikt Schäfer Von: Ambassador License statement goes here. See
WinSecureCopy in der paedML® 3.0 Novell Installation und Benutzung Autor: Uwe Labs Stand: März 2008 IT-Struktur an Schulen.
LINUX II Samba Verbindung mit Windows. Samba Übersicht ● Samba dient zur Verbindung von Linux-Clients mit Windows Rechnern ( samba-client ) sowie von.
Einrichtung eines Schulnetzwerkes unter Linux Besondere Lernleistung von Henrik Friedrichsen.
Syncrepl Replikation mit Die 4. Secure Linux Administration Conference 2009 Stefan Kania 10. bis 11. Dezember 2009.
Dedizierte Systeme - Anna Job Universität zu Köln – IT-Zertifikat – WS 08/09 Digital library software Greenstone.
IT-Struktur an Schulen © Zentrale Planungsgruppe Netze am Kultusministerium Baden-Württemberg Richtlinien für Arbeitsstationen Automatisches Herunterfahren.
Wechsel von Oracle Cloud Control 12c zu 13c
15b beas WEB App Installation
Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge
Freifunk.
SAP – Installation auf Windows Server 2008 R2 Enterprise
Regionale Lehrerfortbildung
Inhaltsverzeichnis Was ist Arduino? Hardwarekomponenten
Allgemeine Informatik Seminar 1
MySQL – Die freie Datenbank
Camil Bartkowiak Serhat Cinar Leonardo Di Lella Jan Finsel
General Download Finder
Apache The open way.
Menü der Mobilen Partner Software
Netzwerke.
Netzwerkprogrammierung – Network Programming
Der Bau eines Homeservers
Hinweis zu dieser Vorlage:
Android-Hacking für Dummies II
Erste Schritte mit Personio
Netzwerke Netzwerkgrundlagen.
Rechnungen elektronisch erhalten
Routing … … die Suche nach dem Weg..
ABB STOTZ-KONTAKT GmbH
Routing … … die Suche nach dem Weg..
Befehle zu Moduswechsel und Show-Commands
(Empfohlen für Einsteiger)
PI Infrastruktur in der Max-Planck-Gesellschaft
Dbvisit Standby – Die hybride Lösung
Datensicherung.
Benutzerkonto „BKM“ einrichten
SAP Seminar 2007 Kreditorenstammsätze anlegen
Hack2Sol – Powered by SAP
 Präsentation transkript:

OpenWRT - mehr als ein Router Jan Fischer Linuxstammtisch der CLUG am 13. Dezember 2013

Motivation ● Gerät in der Regel bereits vorhanden ● Beim Dauerbetrieb keine zusätzlichen Stromverbraucher ● Neue Konfigurations- und damit Einsatzmöglichkeiten ● Erweiterbarkeit durch zusätzliche Programmpakete

Hardwareauswahl 1/3 ● WRT54xx gehen alle sind aber auch schon etwas veraltet, WRT54GS ist noch i.O. als Neuanschaffung ● 4MB Flash-Speicher ist knapp – besser 8 oder 16MB ● Ältere Geräte mit 2 MB Flashspeicher noch mit älteren OpenWRT-Versionen lauffähig (siehe dazu auch Imagegenerator)

Hardwareauswahl 2/3 ● Im OpenWRT Einkaufsratgeber ( Hauptspeichergröße als Problem genannt, aber Flashspeichergröße wirkt eher limitierend ● CPU ab 400 MHz zu empfehlen ● Vorsicht bei Gerätebezeichnungen – Gag der Hersteller: Ein Name verschiedene Geräte, unterschiedliche Plattformen, CPUs, Chipsätze, Speicherausstattungen

Hardwareauswahl 3/3 – Beispiel Netgear WNDR3700 (siehe (Gerät soll recht gut sein, falls man das richtige erwischt) ● OpenWRT-Hardwaretabelle unter ● Für günstigen Einkauf unter → WLAN-Router und unter Besonderheiten OpenWRT auswählen bzw. #xf_top

Hardwareerweiterung 1/2 ● Viele Geräte mit intern vorhandenen, jedoch nicht herausgeführten diversen Ports ● Beispiel WRT54 (genaueres unter e) – 2 * serieller Port – USB-Port (2 mal vorhanden?) – JTAG-Port (Bietet Hilfe falls man wirklich den Bootloader komplett abgeschossen hat.)

Hardwareerweiterung 2/2 – SD-Card (tiefer Eingriff, Verlust der Funktionalität einiger LED's und des Front-Buttons siehe dazu Kernelneucompilation notwendig – Theoretisch weitere 8 (frei verwendbare?) IO-Pins vorhanden, jedoch wahrscheinlich nicht herausgeführt

Memory Technology Device – (MTD) 1/2 ● Ansicht der Partitionierung cat /proc/mtd dev: size erasesize name mtd0: “cfe” mtd1: 003b “linux” mtd2: 002e “rootfs” mtd3: 000f “rootfs_data” mtd4: “nvram” MTD (Memory Technology Device)

Memory Technology Device – (MTD) 2/2 ● Layout platformspezifisch, daher keine Befehle einfach abschreiben! ● Bearbeitung mit Befehl mtd (siehe ● hauptsächlich zum Update/Downgrade des OS benötigt ● Befehl mtd mit Vorsicht und Respekt benutzen!

Installation 1/2 ● Hardwaretabelle konsultieren ● Plattform bestimmen ● Informationen über den Weg zurück zur OEM- Software einholen! (plattformspezifisch) ● Unter Codename/Versionsnummer/Plattformname/ generic/ passendes Binary heraussuchen und herunter laden (MD5-Summe prüfen!)

Installation 2/2 ● Zugang zum Weserver der OEM-Firmware verschaffen ● Binary im Webserver als Softwareupdate einspielen

Erste Schritte 1/2 ● eth0 am eigenen Rechner auf n (1<n<255) konfigurieren, Netzmaske entsprechend setzen. ● Verbindung per Telnet zu herstellen ● Passwort setzen! (passwd) ● Netzwerk für eth0 einrichten (Alternative Neustart und Netzwerk per Webbrowser einrichten)

Erste Schritte 2/2 ● Sobald Passwort gesetzt ist und Neustart ausgeführt wurde Zugang nur noch per ssh oder Webbrowser ● Hinweis zu WRT54 unter using.the.tftp.method beachten. (Sicherung des Rückweges)

Failsave-Mode ● Selbstaussperrung durch blödes Script, Firewall, … ● Ausschalten, Einschalten und schnell in Abständen von etwa 1sec Reset-Knopf drücken ● Bei Erfolg blinken Power-LED und DMZ-LED ● Zugang per Telnet über möglich ● Methode etwas Hardware abhängig (gegebenenfalls im OpenWRT-Wiki nachsehen)

Unified Configuration Interface (UCI) ● Befehl uci action ● Befehlsinterface eher für Einzelwerte geeignet ● Syntaxbeschreibung unter ● Konfigurationsfiles unter /etc/config/name Unified Configuration Interface (UCI)

Netzwerkkonfiguration und uci Beispiel uci set network.lan.proto=static uci set network.lan.ipaddr= uci set network.lan.netmask= uci set network.lan.gateway= uci set network.lan.dns=' ' uci commit network Dann theoretischifdown lan ifup lan Besser reboot -f

Aufbau der uci-Konfigfiles ● config 'section2' option 'optionname1' 'wert_a' option 'optionname2' 'wert_b' … ● config 'section2' #z.B. Angabe diverser Timeserver list 'optionname' 'wert_a' list 'optionname' 'wert_b' …

uci-Konfigfile Beispiel /etc/config/system 1/2 config 'system' option 'hostname' 'loki' option 'zonename' 'Europe/Berlin' option 'timezone' 'CET-1CEST,M3.5.0,M10.5.0/3' option 'conloglevel' '8' option 'cronloglevel' '8'

uci-Konfigfile Beispiel /etc/config/system 2/2 config 'timeserver' 'ntp' list 'server' 'ptbtime1.ptb.de' list 'server' 'ptbtime2.ptb.de' list 'server' 'ptbtime3.ptb.de'...

opkg der Paketmanager ● Vor Installation möglichst opkg update ● opkg list – alle verfügbaren Pakete ● opkg list-installed derzeit installierte Pakete ● opkg install paketname installiert Paket (Abhängigkeiten werden aufgelöst [nur bei der Installation nicht bei der Deinstallation]) ● opkg remove paketname deinstalliert Paket

Absicherung 1/3 ● Zugriff auf ssh-Server dropbear von außen und per WLAN unterbinden ● uci set ● uhttp-server auf tls (https) umstellen – Installation von luci-ssl uhttpd-mod-tls – opkg install luci-ssl uhttpd-mod-tls – eventl. uci set uhttpd.px5g.bits=4096 – Neustart /etc/init.d/uhttpd restart

Absicherung 2/3 ● uhttpd mit TLS (https) Testen und unverschüsselten http-Zugang beenden – Zeile list listen_http ip-addr in /etc/init.d/uhttpd auskommentieren ● uhttpd auf Lan-Interface beschränken – uci set uhttpd.main.listen_https=ip-addr ● WLAN vom LAN abtrennen – Siehe Firewall und WLAN

Absicherung 3/3 ● User anlegen (dazu eventuell shadow-useradd installieren [siehe dazu “opkg der Paketmanager”]) ● Files.ssh/id_rsa.pub bzw..ssh/id_dsa.pub und.ssh/authorized_keys nach /home/username kopieren ● /etc/passwd editieren und /bin/ash als Shell eintragen

WLAN 1/5 ● Am besten im Webbrowser unter Network → Wifi konfigurieren ● Zwecks WLAN-Abtrennung vom LAN unter “General” Punkt Network neues Netzwerk “wlan” erzeugen (unspecified or create) ● Andere Einstellungen wie üblich ● WPA2 Einstellungen unter “Wireless Security”

WLAN 2/5 ● Alternative Einstellung unter /etc/config/wireless möglich (siehe dazu ● wlan zone einrichten siehe Firewall ● Paket wifitoggle zum Ein-/Ausschalten des WLAN per Frontknopf hat beim Author nicht funktioniert

WLAN 3/5 ● Alternative Cat /etc/hotplug.d/button/01-radio-toggle #!/bin/sh if [ "$BUTTON" = "ses" ] && \ [ "$ACTION" = "pressed" ] ; then ( sleep 1; /sbin/wlan-toggle ) & fi

WLAN 4/5 cat /sbin/wlan-toggle #!/bin/sh case "$(uci get in 1) uci set wifi echo 1 > /proc/diag/led/ses_white ;;

WLAN 5/5 *) uci set wifi echo 0 > /proc/diag/led/ses_white echo 2 > /proc/diag/led/wlan ;; esac

Firewall ● Konfiguration durch Webinterface oder per Konfigscript (/etc/config/firewall) möglich – Groß-/Kleinschreibung beachten! ● Für spezielle und sehr detailreiche Regeln besser Konfigscript benutzen (siehe dazu ● wlan Zone einrichten unter Network → Firewall → General Settings → Zones Punkt “add”

Backup ● Durch /overlay Verzeichnis/Filesystem sehr einfach ● Gute Idee vorher nvram mit sichern – nvram show >/tmp/nv.bak ● Dann wie üblich weiter mit tar – tar -zcvf owrt-back.tgz /home \ /overlay /tmp/nv.bak

Sysupgrade 1/2 ● 3 Möglichkeiten: sysupgrade-script Weboberfläche oder mtd ● a) sysupgrade-script nur für Upgrade, nicht für Update verwendbar ● Unter Codename/Versionsnummer/Plattformname/ generic/ passendes Binary heraussuchen und herunter laden (MD5-Summe prüfen!) ● Per ssh nach /tmp befördern

Sysupgrade 2/2 ● sysupgrade -v /tmp/file ● Script prüft Version und Kompatibilität, falls nicht gegeben Fehlermeldung und Ausstieg ● b) Weboberfläche nutzt das sysupgrade-script ● c) mtd, geht immer ● Die ersten beiden Schritte wie Variante a ● mtd -r write /tmp/file firmware

Sysupdate ● Unter Codename/Versionsnummer/Plattformname/ generic/ trx-File heraussuchen und herunter laden (MD5-Summe prüfen!) ● Per ssh nach /tmp befördern ● mtd -r write /tmp/file.trx linux (Achtung Befehl plattformabhängig)

Imagegenerator 1/3 ● Zum Bau angepasster Binary-Images ohne Entwicklungsumgebung (z.B. Zu wenig Flash- Speicher auf dem Zielsystem) ● Nur für i486 verfügbar, sonst müsste erst der Imagegenerator neu übersetzt werden ● Funktioniert vernünftig erst ab Version 12.09

Imagegenerator 2/3 ● Unter Codename/Versionsnummer/Plattformname/ generic/OpenWrt-ImageBuilder- plattformname_generic-for-linux-i486.tar.bz2 herunter laden und auspackenhttp://downloads.openwrt.org/ ● $ make image PROFILE=XXX \ PACKAGES="pkg1 pkg2 pkg3" FILES=files/ ● Vorgefertigte Profile für verschiedene Geräte ● Packages im gleichnamigen Unterverzeichnis

Imagegenerator 3/3 ● make image PROFILE=Broadcom-b43\ PACKAGES=”bc dc”