OpenWrt: Wie kann mit Luci Chaos Calmer 15.05 RC2 auf einem TP-WR703N Router installiert werden?

Seit gestern gibt es eine neue Version von Chao Calmer. Hier mal der orginal Hinweis zu dem RC2:

„This is the second release candidate of the upcoming stable version Chaos Calmer 15.05. Keep in mind that the RC version is not the final release yet, it is available here for testing and refinement purposes.“ Ok, das will ich mal testen. Ob es auf einem TP-WR703N läuft? JA! Soll auch schon den Treiber für Raspberry Pi 2 enthalten.

Wie kann die aktuelle Firmware Chaos Calmer 15.05 RC2 von OpenWrt auf einem TP-WR703N installiert werden? Auf Raspberry Pi 2 kommt dann später.

Wie hier schon mal beschrieben. Also zuerst die Firmware runterladen und über Luci installieren. Zuerst ein backup anlegen.

Dann klick auf Durchsuchen, und die …squashfs-sysupgrade.bin Datei hochladen mit klick auf Flash image:

Luci update

Klick auf Proceed, wenn Checksumme ok:

Luci update

Ein paar Minuten warten:
Luci update

Nach einem reboot steht die neue Chaos Calmer Version bereit:

OpenWrt login

OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?

Hatte noch einen TP-WR703N rumliegen. Wenn dort die aktuelle Version von OpenWrt (14.07) installiert ist, geht es mit LuCI sehr schnell.

Auf die Seite System – Software gehen. Im Filter dump1090 eingeben und auf Find package klicken. Dann unten mit klick auf Install das fertige Package installieren.

Luci OpenWrt „OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?“ weiterlesen

Wie kann die neue OpenWrt Version Barrier Breaker 14.07 auf einem TP-WR703N und anderen installiert werden?

Vor 6 Wochen, genau am 2.10.2014 wurde die Version Barrier Breaker 14.07 von OpenWrt veröffentlicht.

Nach einem Jahr, gibt es nun eine neue Version mit vielen Updates (Linux kernel updated to version 3.10…) und Sicherheitsupdates (Security updates for OpenSSL & PolarSSL, fixes for packages depdending on curl, ix a long standing ath9k deadlock bug…), die Liste ist lang.

Nun ist es an der Zeit, den Router TP-WR703N von Version 12.09 auf 14.07 upzudaten. OpenWrt läuft auf vielen Routern, die Anleitung gilt dann genauso, nur muss einen andere Firmware Datei hochgelagen werde.

Das ganze ist in ca. 15 min unter der Gui von LuCI 0.11.1 wie folgt zu tun:

1. Anmelden an LuCI

Luci Anmeldung… und (optional) vorhandenen Status und Version ausgeben. Dazu auf Status – Übersicht gehen:
Status Übersicht

2. Sicherung anlegen

Auf System – Backup / Firmware Update gehen und einmal auf „Sicherung erstellen“ klicken. Es wird eine Sicherungsdatei erstellt, für alle Fälle.
Sicherung Openwrt

3. Updaten

Auf der System – Backup / Firmware Update gehen und den Haken bei „Konfiguration behalten“ setzen. Sonst sind alle Einstellungen verloren. Dann auf „Durchsuchen“ klicken und die Datei (openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin) die zuvor von hier runtergeladen wurde auswählen und auf „Firmware aktualisieren“ klicken.

Es kommt dieser Dialog…
Firmware update
Nach ein paar Minuten ist alles ok, und es meldet sich der Anmelde Dialog von Luci:
Luci anmeldung

4. Version ausgeben

Nun können wir nach Status – Overview gehen und sehen das die neue Version 14.04 installiert wurde.
Status openwrt

Wer das update über Befehlszeile durchführen möchte, schaut hier.

OpenWrt scheint jetzt auch schneller zu laufen.

Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?

Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only

Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical

Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8

Hilfe gibt es mit

ettercap -h

Hier ein kleiner Überblick zu Ettercap als Mindmap:
ettercap

Starten im Text Modus mit

ettercap -T

oder mit einer Text-GUI:
ettercap -C

ettercap Bildschirmfoto 2014-07-14 um 20.36.40

Quickstart MITM-Attacke

MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:

ettercap -C

Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC

Hier mal ein paar Statistics eines kurzen test Laufs:
Bildschirmfoto 2014-07-14 um 21.44.38

Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing

Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.

Wie kann eine drahtlose Client Brücke mit Relayd und 703N unter OpenWrt (Attitude Adjustment 12.09) mit Luci eingerichtet werden?

Warum Relayd?

-Wer seinen drahtlosen Access Point (AP) erweitern (verlängern) will.
-Wer eine Brücke zwischen drahtlosen AP und dem drahtgebundenen LAN benötigt.

PC-Ethernet Kabel LAN–|
Internet LAN ———-|
Internet WAN ……….|
–AP…
……. drahtlos…
……………….TP-703N—Ethernet Kabel LAN —PC ohne WAN

Relayd ist nur empfohlen wenn Wireless Distribution System (WDS) nicht vorhanden ist.

Also erst mal unter System – Paketverwaltung in Luci die Paketlisten aktualisieren durch klick auf „Listen aktualisieren“:
Bildschirmfoto 2014-07-10 um 22.15.04
Nach ein paar Minuten ist das abgeschlossen: „Wie kann eine drahtlose Client Brücke mit Relayd und 703N unter OpenWrt (Attitude Adjustment 12.09) mit Luci eingerichtet werden?“ weiterlesen

Wie kann der TP WR703N als drahtloser Access Point (AP) für iPad, iPhone und alle anderen Computer eingerichtet werden?

Wer auf Reisen ist, und einen Access Point für seine Geräte benötigt, kann den günstigen Router 703N verwenden.

Aber wie wird der Router eingestellt, um mit kabellose Kommunikationsgeräte (Computern) drahtlos auf das Internet per LAN zuzugreifen? Also für Hotelzimmer die nur einen LAN Stecker haben und kein drahtloses WLAN anbieten.

Der 703N kann im AP Modus betrieben werden. Folgender Aufbau:

— INTERNET — LAN — 703N — WLAN — Computer, iPad…

In Luci müsste das dann so aussehen:
Bildschirmfoto 2014-07-06 um 16.15.42

Der „Drahtlos“ Reiter sieht so aus. Unten bei den Assoziierten Clients sieht man das ein Gerät mit dem AP des 703N verbunden ist.
Bildschirmfoto 2014-07-06 um 16.16.25

Das Netz habe ich mal „Free-Internet“ genannt. Bei Schnittstellen das LAN und WLAN auswählen. Bei Modus, und das ist ganz wichtig, muss „Access Point“ ausgewählt werden.
Bildschirmfoto 2014-07-06 um 16.16.58

Und das Passwort setzen oder auch zum ersten testen ohne Verschlüsselung:
Bildschirmfoto 2014-07-06 um 16.17.13

Hier der Überblick:
Bildschirmfoto 2014-07-06 um 16.17.55

Die Reichweite ist nicht sehr groß ohne externe Antenne, aber 1-2 Zimmer gehen wohl immer.

Wie kann auf einem TP WR703N der Zugriff auf Luci mit SSL abgesichert werden?

Bei einer normalen Luci Installation geht der Zugriff auf Luci über http://IP-ADRESSE.
Dieser Zugriff kann leicht verschlüsselt erfolgen. Dafür muss auf der Konsole das luci-ssl Package wie folgt installiert und das SLL Zertifikat generiert werden:

opkg update
opkg install luci-ssl
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable

oder wenn luci schon läuft einmal restarten mit:

/etc/init.d/uhttpd restart

Anschließend kann auf Luci mit https://IP-ADRESSE zugegriffen werden.

Wie kann Multi-WAN auf einen TP-WR703N unter OpenWrt mit Luci installiert werden?

Multi-WAN erlaubt es, mehrere ISP-Verbindungen gleichzeitig oder als Ersatzverbindung beim Ausfall der Hauptverbindung zu verwenden.

Multiwan kann über Luci einfach installiert werden. In der System-Paketverwaltung als Filter multiwan eingeben und das Paket luci-app-multiwan installieren.
Bildschirmfoto 2014-07-05 um 15.34.15
Nach der Installation gibt es den neuen Reiter Netzwerk – Multi-WAN in der Luci GUI:
Bildschirmfoto 2014-07-05 um 15.40.12

Wer noch nichts zum Thema Multi-Wan gehört hat, kann sich diese spannende Anleitung anschauen:

Wie kann ein USB Kabel für die USB to Serial Bridge PL-2303 verwendet werden um einen WR703N neu zu flashen?

Habe gestern den TP-WR703N so configuriert, das ich selbst nicht mehr über SSH zugreifen konnte. Deshalb wie hier im Blog beschrieben, habe ich das Teil über den Seriellen Port neu geflasht. Dazu hatte ich schon mal in den 703 eine USB-Buchse für die Seriellen Kontakte eingebaut. Siehe dieses Foto:
IMG_1963

Habe in der Bastelkist einen USB to Serial Adapter PL-2303 gefunden, denn ich vor längerer Zeit mal in China bestellt hatte. So sieht das Teil aus:
IMG_1961
Das Flashen habe ich unter Windows XP gemacht. Dazu musste ich erst noch einen Treiber installieren den habe ich im Internet gefunden (ZIP).
Dann mit Putty über den COM Port an den TP-WR703N hängen.

Dazu brauchte ich noch ein USB Kabel, das ich zweckentfremdet habe. Auf der einen Seite ist der USB Stecker und auf der anderen Seite habe ich 4 Buchsen angelötet (eher geklebt ;-)). Die Anschlussbelegung kann der CAD Grafik entnommen werden:
IMG_1958
Und noch etwas mit roten Isolierband verpacken:
IMG_1960

Am PL-2303 habe ich den 1. Pin an GND (Masse = schwarz), den 2. Pin Data+ (grün – grau) und den 3. Pin an Data- (weiß) gelegt. Den 4. und 5. Pin habe ich nicht verwendet bzw. beschaltet. Der 4. Pin könnte für +5 Volt (rot -lila) verwendet werden. Hier noch mal als CAD Grafik:
IMG_1962

Klappte alles auf Anhieb. Fragen?

Wie wird ein #One-Wire-Server #owhttpd auf #WR-703N unter #openWrt installiert?

Die Installation wie in beschrieben ist Voraussetzung. Der Server wird mit dann wie folgt gestartet.

/usr/bin/owhttpd --debug -d /dev/ttyUSB0 -p 4444

Ausgabe:
...
DEBUG: ow_daemon.c:EnterBackground(166) main thread id = 2006708224
CONNECT: ow_avahi_link.c:OW_Load_avahi_library(72) No Avahi support. Library libavahi-client couldn't be loaded
CONNECT: ow_dnssd.c:OW_Load_dnssd_library(136) Zeroconf/Bonjour is disabled since dnssd library isn't found
CALL: ow_parsename.c:FS_ParsedName_anywhere(95) path=[]
DEBUG: owlib.c:SetupTemperatureLimits(79) Globals temp limits 0C 100C (for simulated adapters)
DEBUG: ow_ds9097U.c:DS2480_initialize_repeatedly(267) Attempt #0 to initialize the DS9097U
DEBUG: ow_ds9097U.c:DS2480_big_reset_serial(356) Send the initial reset to the bus master.
DEBUG: ow_tcp_read.c:tcp_read(64) attempt 1 bytes Time: 5.000000 seconds
DEBUG: ow_tcp_read.c:tcp_read(114) read: 1 - 0 = 1
...

Hier sieht man auch, das der USB9097 als DS9097U erkannt wird.
Der Server ist nun über Port 4444 und der IP erreichbar.

Obwohl man besser den Port 4304 verwendet, da er in der IANA (Internet Assigned Numbers Authority) für owserver registriert ist. Also ohne debug und mit den „richtigen“ Port /usr/bin/owhttpd -d /dev/ttyUSB0 -p 4304

Z.b. Eingabe im Browser http://198.2.1.1:4444 listet das Verzeichnis auf:
Bildschirmfoto 2014-02-13 um 21.12.02
Klick auf die 28… oder http://198.2.1.1:4444/28.A29D8A040000 zeigt die Temperatur in Grad Celsius an:
Bildschirmfoto 2014-02-13 um 21.10.07

Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?

Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

USB9097
USB9097

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.

Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).

Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?

Folgende Package installieren und reboot.

opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver

OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.

Ein Verzeichnis erstellen:
mkdir /mnt/1wire

USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:

...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...

Oder mit lsusb
Ausgabe ua:

...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:

owfs -d /dev/ttyUSB0 -m /mnt/1wire/

Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.

cd /mnt/1wire
ls

Ausgabe der Verzeichnisse:

28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system

Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.

cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375

Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20

Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228

Oder

Habt ihr noch Fragen oder Anregungen?


Wie wird unter Fhem der Sysmon (Systemmonitor) auf einem WR703N unter OpenWrt installiert?

Wer sein Fhem Server heute updated bekommt den Sysmon mitgeliefert (FHEM/42_SYSMON.pm). Installation wie in der Beschreibung von
Sysmon angegeben. Wenn man das Beispiel in die fhem.cfg kopiert erhält man folgende Ausgaben:
Bildschirmfoto 2014-01-14 um 17.52.10

Folgende Dinge fallen auf wenn man den Beispielcode 1:1 unter OpenWrt attitude_adjustment/12.09 verwendet:

1. Die Überschrift RPi stimmt in meinem Fall nicht, da es ein WR703N ist. Evl. muss da nur die Gruppe geändert werden.

2. Die Temperatur wird nicht angezeigt. Das liegt wohl daran, das der WR703N kein eingebauten Temp.-Sensor hat. Dann sollte die Zeile nicht vorhanden sein oder aber NN stehen. Oder hat der 703N ein Temp.-Sensor?

3. Die Frequenz in Mhz wird nicht angezeigt.

4. Wifi zeigt not available an, wohl weil es ausgeschaltet ist. Gut wäre auch, wenn alles in wahlweise in Deutsch angezeigt würde.

5. USB-Stick wird auch noch nicht richtig angezeigt.

6. Die 6 Plot Dateien werden noch nicht gefunden (Cannot read ./www/gplot/mySMNetworkEth0.gplot). Habe in das www/gplot Verzeichnis geschaut. Da sind die Dateien auch nicht vorhanden. Wo bekomme ich die? Hier steht, das die von GitHub geladen werden könne. Die könnten doch auch in Fhem eingescheckt werden?

Heute noch mal ein Fhem Update, aber die plott Dateien waren noch nicht eingescheckt, ok dann eben aus dem Git holen. Ab heute sind die Dateien nun auch eingescheckt. Der folgende Schritt kann also entfallen.

[Optional]
Ein neues Verzeichnis erstellt und die Dateien aus dem Git Repository geholt und in das Fhem/www/gplot Verzeichnis kopiert mit:

mkdir plott-dateien
cd plott-dateien
git clone git://github.com/hexenmeister/MyFHEM
cp SM* ~/fhem/www/gplot/

Nach reread der Config sind die Plotts auch da, Super!
Bildschirmfoto 2014-01-15 um 18.33.11

Die CPU-Speed kann auf OpenWrt wie folgt angezeigt werden, hier meine getestete Perl Funktion:
sub
CPUSpeed
{
my $CPUSpeed = qx(cat /proc/cpuinfo | grep "BogoMIPS" | sed 's/[^0-9\.]//g');
return $CPUSpeed;
}

Die könnte in Fhem integriert werden, dann würde auch die Frequenz (CPU-Speed) unter OpenWrt attitude_adjustment/12.09 angezeigt werden.

Der Entwickler hat die Funktion nun eingebaut, und der BogoMips wird nun auch angezeigt. Vielen Dank für das schnelle update. Das liebe ich an Open-Source-Projekten.

Habe die Config nun etwas angepasst, so sieht es super aus und kann bleiben:
Bildschirmfoto 2014-01-16 um 17.47.26

Wie kann OpenVPN auf einem WR-703N unter OpenWrt eingerichtet werden?

Nach dieser guten Anleitung wie folgt vorgehen.

opkg update
opkg install openvpn openvpn-easy-rsa openssh-sftp-server

Zertifikate erstellen:

Optional die
vi /etc/easy-rsa/vars
für default vorbelegungen anpassen:

export KEY_COUNTRY="DE"
export KEY_PROVINCE="Niedersachsen"
export KEY_CITY="Langenhagen"
export KEY_ORG="TWSoft"
export KEY_EMAIL="mail@email.de"
export KEY_EMAIL=mail@email.de
# Der KEY_CN mus EINDEUTIG und EINMALIG sien
export KEY_CN=server.email.de
export KEY_NAME=server.email.de
export KEY_OU=TWSoft
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

In das /etc/easy-rsa Verzeichnis wechseln.
./clean-all
ausführen. Löscht das ganze /etc/easy-rsa/keys Verzeichnis

build-ca

Erzeugt diese Fragen:
Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Langenhagen
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [EINDEUTIG.wenzlaff.de] www.wenzlaff.de
Name [server.wenzlaff.de]:www.wenzlaff.de
Email Address [mail@email.de]:

Erstellt in /etc/easy-rsa/keys die Dateien:
ca.key
ca.crt

Dann
build-dh
und ein paar Minuten warten bis in /etc/easy-rsa/keys die
dh1024.pem
erzeugt wurde.

Jetzt noch die Server Key erzeugen mit:
build-key-server server

Und einige Fragen beantworten:
Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Hannover
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [server]:
Name [server.wenzlaff.de]:
Email Address [mail@email.de]:

Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:1234
An optional company name []:TWSoft
Using configuration from /etc/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’DE‘
stateOrProvinceName :PRINTABLE:’Hannover‘
localityName :PRINTABLE:’Langenhagen‘
organizationName :PRINTABLE:’TWSoft‘
organizationalUnitName:PRINTABLE:’TWSoft‘
commonName :PRINTABLE:’server‘
name :PRINTABLE:’server.wenzlaff.de‘
emailAddress :IA5STRING:’mail@email.de‘
Certificate is to be certified until Oct 2 18:00:57 2023 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Nun gibt es in /etc/easy-rsa/keys auch die
server.crt
server.csr
server.key

Alle erzeugten Key in eine .p12 Datei packen mit:

build-key-pkcs12 thomas

Und wieder die gewohnten Fragen beantworten:

Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Hannover
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [thomas]:
Name [server.wenzlaff.de]:
Email Address [email@mail.de]:

Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:4567
An optional company name []:TWSoft
Using configuration from /etc/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’DE‘
stateOrProvinceName :PRINTABLE:’Hannover‘
localityName :PRINTABLE:’Langenhagen‘
organizationName :PRINTABLE:’TWSoft‘
organizationalUnitName:PRINTABLE:’TWSoft‘
commonName :PRINTABLE:’thomas‘
name :PRINTABLE:’server.wenzlaff.de‘
emailAddress :IA5STRING:’mail@email.de‘
Certificate is to be certified until Oct 2 17:59:08 2023 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password: 0000
Verifying – Enter Export Password: 0000

So jetzt sind auch in /etc/easy-rsa/keys die
thomas.csr
thomas.crt
thomas.key
thomas.p12

Dateien für den Client erstellt worden.

Jetzt müssen die Keys noch auf den Server und den Client verteilt werden.

cd /etc/easy-rsa/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn/

Hier noch eine kleine Zuordungstabelle, welche Zertifikate wo hinkommen:

Dateiname Speicherort Beschreibung geheim
ca.crt Server + Clients Root CA Zertifikat Nein
ca.key im Safe :) Root CA Schlüssel Ja
dh{Wert}.pem Server Diffie Hellman Nein
server.crt Server Server Zertifikat Nein
server.key Server Server Schlüssel Ja
vpnclient01.crt Client 1 Client 1 Zertifikat Nein
vpnclient01.key Client 1 Client 1 Schlüssel Ja

Server Konfigurieren vi /etc/config/openvpn

config 'openvpn' 'lan'
option 'enable' '1'
option 'port' '1194'
option 'proto' 'udp'
option 'dev' 'tap0'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/server.crt'
option 'key' '/etc/openvpn/server.key'
option 'dh' '/etc/openvpn/dh1024.pem'
option 'ifconfig_pool_persist' '/tmp/ipp.txt'
option 'keepalive' '10 120'
option 'comp_lzo' '1'
option 'persist_key' '1'
option 'persist_tun' '1'
option 'status' '/tmp/openvpn-status.log'
option 'verb' '3'
option 'server_bridge' '192.168.2.123 255.255.255.0 192.168.2.122 192.168.2.111'
option 'push' 'redirect-gateway def1'
list 'push' 'dhcp-option DNS 192.168.2.123'

Server Starten mit:
/etc/init.d/openvpn start
und:
/etc/init.d/openvpn stop
Restart
/etc/init.d/openvpn restart

Und für Autostart einmal oder über Luci:
/etc/init.d/openvpn enable

Nur wenn der VPN-Server läuft, ist über Luci das tap0 Device erreichbar.

Im Firewall vi /etc/config/firewall den Port 1194 freischalten:

config 'rule'
option 'target' 'ACCEPT'
option 'dest_port' '1194'
option 'src' 'wan'
option 'proto' 'tcpudp'
option 'family' 'ipv4'

/etc/init.d/firewall restart

Adressbereich setzen vi /etc/config/dhcp

config dhcp lan
option interface lan
option ignore 0
option start 150 # von .150 bis .199 = 49 Adressen
option limit 49
option leasetime 12h

reboot

IPhone Client Konfiguration.
Dafür brauchen wir eine OpenWrt.ovpn Datei. Die müssen wir uns aus den Zertifikaten und Key zusammenbauen:

# TW OpenWrt Configuration für xxx.no-ip.org IP:
remote xx.xxx.xxx.xxx 1194
client
tls-client
dev tun # tap geht nicht mit OpenVpn App 1.01 build 88
proto udp
remote-cert-tls server
resolv-retry infinite
nobind
persist-tun
persist-key
pkcs12 thomas.p12
comp-lzo
verb 3

# hier die Zertifikate von ca.crt, thomas.crt, thomas.key einfügen:

—–BEGIN CERTIFICATE—–
MIIEBDCCA22gAwIBAgIJAgg/WZdmAp

+6VIFdXmjy19eZQJzEJFxO5+iqZ6EZhs
—–END CERTIFICATE—–


—–BEGIN CERTIFICATE—–
MIIEQDCCA6mgAwIBAgIBAjANB

jGlI9+MUzx3nHhhU1W1F3s4zeeS3TFmjb7xhori4J7JZugOS
—–END CERTIFICATE—–


—–BEGIN PRIVATE KEY—–
gYBxm4LOI4uFPgBmS/9zjEZ1TGyE

JUe0BUfOhe4x
—–END PRIVATE KEY—–

An dieser Stelle habe ich gemerkt, das der OpenVPN 1.01 build 88 Client für das iPhone, kein TAP unterstützt.
Die von mir oben gewünschte Bridge über TAP-Device (virtuelle Netzwerkkarte, ethernet Adapter) ist also nicht möglich.

Also umkonfigurieren so das zumindestenst ein OpenVPN TUN läuft.
Also ist kein Layer 2 Tunnel mit dieser App und dem iPhone möglich. Schade!

vi /etc/config/openvpn

config 'openvpn' 'lan'
option 'enable' '1'
option 'port' '1194'
option 'proto' 'udp'
option 'dev' 'tun'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/server.crt'
option 'key' '/etc/openvpn/server.key'
option 'dh' '/etc/openvpn/dh1024.pem'
option 'ifconfig_pool_persist' '/tmp/ipp.txt'
option 'keepalive' '10 120'
option 'comp_lzo' '1'
option 'persist_key' '1'
option 'persist_tun' '1'
option 'status' '/var/log/openvpn-status.log'
option 'verb' '3'
option 'server' '10.0.0.0 255.255.255.0'
list 'push' 'redirect-gateway def1'
list 'push' 'dhcp-option DOMAIN lan'
list 'push' 'dhcp-option DNS 192.168.2.1'

vi /etc/config/firewall

config 'include'
option 'path' '/etc/firewall.user' config 'rule'
option 'target' 'ACCEPT' option 'name' 'VPN'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '1194'

vi /etc/firewall.user
iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
iptables -A input_wan -p udp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT

Connect im iPhone läuft schon mal.

Wie kann die Systemzeit in OpenWrt per NTP eingestellt werden?

Die Systemzeit ist schon wichtig, da sonst die Logs nicht den richtigen Zeitstempel bekommen und der OpenVpn Server braucht auch die richtige Zeit.

Der NTP port für UDP ist 123.

opkg update
opkg install ntpd ntpdate ntpclient ntp-utils
/etc/init.d/sysntpd disable
/etc/init.d/ntpd enable
/etc/init.d/ntpd start
netstat -l | grep ntp
ntpdate pool.ntp.org

Zeitzone setzen in /etc/config/system

config system
option hostname ‚OpenWrt‘
option timezone ‚CET-1CEST,M3.5.0,M10.5.0/3‘
option zonename ‚Europe/Berlin‘

Oder einfach über Luci, im Menü System-System:

OpenWrt Luci Gui - Einstellen der Systemzeit
OpenWrt Luci Gui – Einstellen der Systemzeit

Wie wird ein VPN Client (Tunnelblick) auf einem Mac OS X installiert?

Um auf VPN Server von einem Mac zugreifen zu können, kann der kostenlose VPN-Client Tunnelblick verwendet werden. Also zuerst den Tunnelblick downloaden.
Ich habe die Version 3.3 verwendet.

Dann installieren, so wie hier beschrieben.

Dann die Datei config.ovpn Anlegen mit folgenden Inhalt:

dev tap
proto udp

# Hier die IP-Adresse des VPN Servers eintragen
remote 192.168.2.XXX 1194

resolv-retry infinite
nobind
mute-replay-warning

# Der Name des Static Key
secret secret.key

verb 3

und in ein Verzeichnis mit der Endung .tblk verschieben. In dieses Verzeichnis muss auch der Key (Static Key) kopiert werden.

Nach dem doppelklick auf das Verzeichnis mit der Endung .tblk startet der VPN Client. Oben rechts in der Menüleiste erscheint dann das Icon.

Wie wird ein OpenVPN Server auf OpenWrt (Version 12) auf eiem TP-WR703N Router eingerichtet?

Nach dieser Anleitung vorgehen.
Auf einem lauffähigen OpenWrt mit USB-Stick zuerst OpenVpn installieren:

opkg update
opkg install openvpn

Und einen Static Key generieren.

openvpn --genkey --secret static.key

Dieser Key muss auf allen Geräten, die im VPN Netz sind kopiert werden.
Also den Key nach /etc unter anderen Namen kopieren oder verschieben:

cp static.key /etc/openvpn.key

Die /etc/config/firewall Datei um diese Einträge am Ende ergänzen, damit der Port 1194 durchgelassen wird:

config 'rule'
option 'target' 'ACCEPT'
option 'src' 'wan'
option 'proto' 'tcp'
option 'dest_port' '22'
option '_name' 'ssh-wan'

config 'rule'
option '_name' 'openvpn-udp'
option 'src' 'wan'
option 'target' 'ACCEPT'
option 'proto' 'udp'
option 'dest_port' '1194'

Die Datei /etc/firewall.rules neu anlegen mit folgenden Inhalt:

iptables -I OUTPUT -o tap+ -j ACCEPT
iptables -I INPUT -i tap+ -j ACCEPT

iptables -I FORWARD -o tap+ -j ACCEPT
iptables -I FORWARD -i tap+ -j ACCEPT

Folgendes Start Script anlegen/etc/openvpnbridge mit folgenden Inhalt:

#!/bin/sh

#/etc/openvpnbridge
# OpenVPN Bridge Config File
# Creates TAP devices for use by OpenVPN and bridges them into OpenWRT Bridge
# Taken from http://openvpn.net/bridge.html

# Make sure module is loaded
insmod tun

# Define Bridge Interface
# Preexisting on OpenWRT
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Build tap devices
for t in $tap; do
openvpn --mktun --dev $t
done

# Add TAP interfaces to OpenWRT bridge

for t in $tap; do
brctl addif $br $t
done

#Configure bridged interfaces

for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done

Und diese Datei ausführbar machen mit:
chmod +x /etc/openvpnbridge

Nun noch die VPN-Server Konfig Datei /etc/server.ovpn erstellen:

port 1194
proto udp
dev tap
keepalive 10 120
status openvpn-status.log
verb 3
# Pfad zum Static Key evl. noch dem Pfad anpassen
secret /etc/openvpn.key

Restart des OpenWrt.

Jetzt kann der Server gestartet werden mit:

openvpn /etc/server.ovpn

Wenn alles erfolgreich läuft, wird solch eine Nachricht ausgegeben.

root@OpenWrt:/etc# openvpn /etc/server.ovpn
Thu Oct 3 19:55:59 2013 OpenVPN 2.2.2 mips-openwrt-linux [SSL] [LZO2] [EPOLL] built on Mar 14 2013
Thu Oct 3 19:55:59 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Oct 3 19:55:59 2013 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Oct 3 19:55:59 2013 TUN/TAP device tap0 opened
Thu Oct 3 19:55:59 2013 TUN/TAP TX queue length set to 100
Thu Oct 3 19:55:59 2013 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:4 ET:32 EL:0 ]
Thu Oct 3 19:55:59 2013 UDPv4 link local (bound): [undef]:1194
Thu Oct 3 19:55:59 2013 UDPv4 link remote: [undef]
Thu Oct 3 19:56:03 2013 Peer Connection Initiated with 192.168.X.XXX:XXXXX
Thu Oct 3 19:56:04 2013 Initialization Sequence Completed

Wie geht ein Quickinstall von MiniPwner auf einem laufenden OpenWrt Version 12 mit ext. Usb-Stick?

Installation von MiniPwner auf einer lauffähigen OpenWrt Version mit externen USB-Stick. Einfach auf der Konsole folgende Befehle absetzen:


opkg update
opkg install http://minipwner.com/20120514/downloads.openwrt.org/snapshots/trunk/ar71xx/packages/dsniff_2.4b1-2_ar71xx.ipk
opkg install luci-theme-bootstrap mc htop iftop ettercap tar openssh-sftp-client mdk3 nmap tcpdump aircrack-ng aircrack-ptw kismet-client kismet-server perl openvpn nbtscan snort karma samba36-client elinks yafc

Wie kann die Piratebox unter OpenWrt auf einem TP-Link TL-WR703N Router installiert werden?

Die Piratebox ist ein in sich selbst abgeschlossenes Gerät zum anonymen speichern und austauschen von Bildern, Videos, Dokumente und andere Dateien über WLAN.
Es wird kein User login benötigt und es wird kein User geloggt. Auch kann im Netz geschattet werden.
Die Piratebox ist nicht ans Internet angebunden, um die Sicherheit zu erhöhen das die Daten private bleiben.
Also ein freies und offenes privates file sharing and chat! device. Jeder der in der Reichweite des WLAN ist, kann einfach und sofort Dateien austauschen.

Es gibt da ein paar Fallgruben bei der Installation und der Router kann leicht gebrickt werden. Mit einem Serial-Adapter kann dies aber wieder rückgängig gemacht werden. Ist aber nicht ohne Löterrei möglich.

Im Prinzip läuft die Installation so wie in der Anleitung
des Entwicklers beschrieben.

Auf dem 703N muss die Version 12.09 geflasht werden. Habe die neuere Version 12.09 von OpenWrt auch versucht, die lief aber nicht, und erzeugte eienen brick!

Es wird noch ein USB Stick benötigt. Ich hatte noch einen 8 GB Stick liegen. Der muss mit FAT32 formatiert werden und darf nur eine Partition haben.
Ich hatte einen mit 3 Partitionen, der lief in eine Endlosschleife. Dann hatte ich den USB Stick mit einer Partition angelegt und vergessen sie zu einer primären Partition zu machen, auch das führte zu einer Endlosschleife.

Also Vorbedingung:
1. Version 12.09-beta2 geflasht
2. USB Stick mit einer FAT32 Partition erstellen

3. Test ob zugriff aufs Internet mit ping wenzlaff.de
4.
opkg update
opkg install kmod-usb-uhci
insmod usbcore # Es kann die Meldung kommen: file exists
insmod uhci
opkg install kmod-usb-ohci # Es kann die Meldung kommen:up to date.
insmod usb-ohci

5. USB-Stick einstecken

6.cd /tmp
opkg update
opkg install http://piratebox.aod-rpg.de/piratebox_0.6.3_all.ipk

Die Installation dauert nun ca. 15 min denn es werden aus dem Internet neue Versionen geladen und installiert und auf
dem Stick SWAP Partitionen angelegt und das Piratebox System installiert und konfiguriert.

7. Wenn die Installation abgeschlossen ist, kann das LAN Kabel entfernt werden und der Router einmal rebootet werden.
Dann kann auf das WLAN Netzwerk mit dem Namen „PirateBox – Share Freely“ zugegriffen werden. Dazu z.B. im iPadMini das WLAN auswählen:
20131001-182320.jpg

Optional: Was mir noch fehlt, ist eine externe Stromversorgung von 5 V über den USB Port, so das alles portabel ist.

Die eingestellte IP: 192.168.1.1 (192.168.2.111)
Domain: piratebox.lan

Wenn eine Browser geöffnet wird und irgendeine Seite aufgerufen wird erscheint:

20131001-181818.jpg
Nun können Dateien ausgetauscht und geschattet werden. Siehe den Hallo Welt Eintrag von mir oben.