openvpn auf einem openwrt router

ich gehe davon aus das euer router mit der aktuellen version von openwrt (attitude adjustment 12.09) geflashed wurde
und auch sonst euer weg ins internet gesichert ist. ich mache dieses noob safe und arbeite ausschlieslich mit der weboberfläche
des router und einem ftp programm. das wäre doch handelsübliche ware und jedem ein begriff und zur hand :D


1: installieren der benötigten addons: openssh-sftp-server/ openvpn

-mit router verbinden (ip des routers)
- unter system die uhrzeit anpassen und speichern
- navigiere: system/ software/ und update list klicken
-nach dem update stehen euch unter available packages nun die addons zur verfügung
-suche und installiere openssh-sftp-server ( dient dem ftp zugriff via ssl verbindung)
-suche und installiere openvpn (klar :)
-unter system/ startup das soeben installierte openvpn addon enablen/starten

2. kopieren der perfect privacy configs: wir brauchen ein ftp programm sowie die PP configs, in unserem fallbeispiel nehmen wir die amsterdam mac configs. (Amsterdam_cl.crt,Amsterdam_cl.key,Amsterdam_ta.key,Amsterdam.ovpn sowie die ca.crt)

-via ftp mit router verbinden (host:192.168.1.1/username:root/password:euer router password/ port:22)
-gehe zum openvpn ordner ( etc/openvpn)
-kopiere die pp files in den openvpn ordner, 5 an der zahl

-für das automatische anmelden erstellen wir eine text datei mit dem namen password. in die erste zeile kommt der pp benutzername in die zweite zeile kommt euer pp passwort sonst nichts. diese datei kopiert ihr dann in den openvpn ordner.
-unter etc/openvpn öffne die Amsterdam.ovpn datei, ergänze folgenden befehl (auth-user-pass) mit passord.txt, der befehl sieht nun so aus: auth-user-pass password.txt

3. editieren der firewall unter openwrt: /etc/firewall.user und /etc/config/firewall

-navigiere via ftp in den ordner /etc und öffne die datei firewall.user
füge folgende regel ein:

iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I INPUT -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I POSTROUTING -o tun+ -j MASQUERADE

-navigiere nach /etc/config und öffne die firewall datei
füge an das ende folgende regel ein:

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

4. openvpn beim reboot starten

- auf dem router(luci webgui) unter system/startup folgendes in local startup einfügen. (vor exit 0):
/usr/sbin/openvpn --cd /etc/openvpn --daemon --config /etc/openvpn/Amsterdam.ovpn &

-submiten und den router neu booten. je nach dem wie eure konfiguration aussieht (pppoe/reapeter) dauert es bis zu 3 min. nach dem reboot bis eine erfolgreiche verbindung zustande gekommen ist. verfolgen könnt ihr das unter luci: status/ system log. wenn ihr “Initialization Sequence Completed” zu gesicht bekommt. habt ihr einen erlogreiche verbindung zum pp server in amsterdam :D
 
Last edited by a moderator:
ergänzung: um den reboot zu einer festgelegten uhrzeit vor zu nehmen könnt ihr folgenden befehl benutzen: webgui: system/ sheduled tasks

Code:
30 6 * * * reboot

in diesem fall wird jeden tag um 06:30 ein automatischer reboot gemacht.
 

Privateer

Member
Danke dafür.

Wie müsste die Firewall-Regel aussehen, welche jeglichen Verkehr blockt, wenn OpenVPN down ist (tcp statt udp wäre hier auch interessant).

Habe hier im pfSense forum was dazu gefunden und es wäre super, wenn man das auch auf openwrt umsetzen könnte:

http://forum.pfsense.org/index.php/topic,58694.0.html (How to block traffic when VPN is down)

Leider habe ich keinen wirklichen Plan von iptables...

mfG

Privateer
 

JackCarver

Well-known Member
Gesetzt den Fall, du hast bereits die FW auf der Schnittstelle eth0 für OpenVPN und DNS geöffnet, denn sonst geht danach gar nix mehr, kannst du den gesamten Traffic auf eth0 rein/rausgehend einfach so blocken:

iptables -t filter -A FORWARD -o eth0 -j DROP
iptables -t filter -A FORWARD -i eth0 -j DROP

Damit werden alle Pakete rein wie rausgehend für alle Protokolle und alle Ports auf eth0 geblockt, also TCP/UDP/ICMP usw.
 
Liegt es an mir oder ist die Anleitung am Anfang unvollständig?

da fehlt definitiv was, aber ich schwöre nur ein bischen :D spass bei seite, beim umzug vom fourm ist wohl was schief gelaufen. ich kann ein paar einträge von mir nicht mehr finden.:confused:
 

PP Frank

Staff member
Würdest du die Anleitung nochmal neu machen? Wenn ja, dann würde ich den Faden komplett löschen....
 
Würdest du die Anleitung nochmal neu machen? Wenn ja, dann würde ich den Faden komplett löschen....
kann ich nicht ohne grösseren aufwand, da ich auf dd-wrt umgestiegen bin. davon ist hier auch eine anleitung am start.

oh wow, ich überrasche mich manchmal selber. ich hab mir tatsächlich damals ein backup gemacht von der anleitung (schulter-klopf:)
 
hier nocheinmal die anleitung, kann für die aktualität keine garantie geben. (ich kann leider den ersten post nicht editieren)


1: installieren der benötigten addons: openssh-sftp-server/ openvpn

-mit router verbinden (ip des routers)
- unter system die uhrzeit anpassen und speichern
- navigiere: system/ software/ und update list klicken
-nach dem update stehen euch unter available packages nun die addons zur verfügung
-suche und installiere openssh-sftp-server ( dient dem ftp zugriff via ssl verbindung)
-suche und installiere openvpn (klar :)
-unter system/ startup das soeben installierte openvpn addon enablen/starten

2. kopieren der perfect privacy configs: wir brauchen ein ftp programm sowie die PP configs, in unserem fallbeispiel nehmen wir die amsterdam mac configs. (Amsterdam_cl.crt,Amsterdam_cl.key,Amsterdam_ta.key,Amsterdam.ovpn sowie die ca.crt)

-via ftp mit router verbinden (host:192.168.1.1/username:root/password:euer router password/ port:22)
-gehe zum openvpn ordner ( etc/openvpn)
-kopiere die pp files in den openvpn ordner, 5 an der zahl

-für das automatische anmelden erstellen wir eine text datei mit dem namen password. in die erste zeile kommt der pp benutzername in die zweite zeile kommt euer pp passwort sonst nichts. diese datei kopiert ihr dann in den openvpn ordner.
-unter etc/openvpn öffne die Amsterdam.ovpn datei, ergänze folgenden befehl (auth-user-pass) mit passord.txt, der befehl sieht nun so aus: auth-user-pass password.txt

3. editieren der firewall unter openwrt: /etc/firewall.user und /etc/config/firewall

-navigiere via ftp in den ordner /etc und öffne die datei firewall.user
füge folgende regel ein:

iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I INPUT -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I POSTROUTING -o tun+ -j MASQUERADE

-navigiere nach /etc/config und öffne die firewall datei
füge an das ende folgende regel ein:

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

4. openvpn beim reboot starten

- auf dem router(luci webgui) unter system/startup folgendes in local startup einfügen. (vor exit 0):
/usr/sbin/openvpn --cd /etc/openvpn --daemon --config /etc/openvpn/Amsterdam.ovpn &

-submiten und den router neu booten. je nach dem wie eure konfiguration aussieht (pppoe/reapeter) dauert es bis zu 3 min. nach dem reboot bis eine erfolgreiche verbindung zustande gekommen ist. verfolgen könnt ihr das unter luci: status/ system log. wenn ihr “Initialization Sequence Completed” zu gesicht bekommt. habt ihr einen erlogreiche verbindung zum pp server in amsterdam :D
 

PP Daniel

Staff member
Hi,

ich habe den 1. Post mal aktualisiert und deine Anleitung da reingepastet, Danke! Da scheint leider tatsächlich etwas nicht geklappt zu haben beim Forenumzug mit dem Post. Ist aber bislang der einzige Fall. Bei meinen Stichproben hatte immer alles gestimmt, aber ich habe natürlich nicht jeden Post einzeln manuell geprüft.
 

akuma

New Member
Moin Moin!

Hab die Installation grade mal auf nem TP Link 3600 mit Chaos Calmer gewagt und dabei auf ein paar Änderungen / Probleme gestoßen.

Ich habe folgende Dateien unter /etc/openvpn
-rwxr-xr-x 1 root root 1278 Oct 13 00:10 Amsterdam.ovpn
-rwxr-xr-x 1 root root 7800 Oct 12 22:53 Amsterdam_cl.crt
-rwxr-xr-x 1 root root 3272 Oct 12 22:53 Amsterdam_cl.key
-rwxr-xr-x 1 root root 636 Oct 12 22:53 Amsterdam_ta.key
-rwxr-xr-x 1 root root 2222 Oct 12 23:44 ca.crl
-rwxr-xr-x 1 root root 2317 Oct 12 23:02 ca.crt
-rwxr-xr-x 1 root root 21 Oct 12 22:56 password.txt​

In der Amsterdam.ovpn hab ich folgende Änderungen gemacht:
auth-user-pass password.txt
und folgende Scripte auskommentiert da sie nicht existieren - damit läuft es bei mir Problemlos, vielleicht könnt ihr besser beurteilen ob die scripte tatsächlich gebraucht werden?
#down /etc/openvpn/update-resolv-conf
#up /etc/openvpn/update-resolv-conf
DNS muss dann noch angepasst werden, WebRTS leakt aber nicht

Rest der Anleitung passt! Ich empfehle aber SCP zu benutzen und es über die Konsole zu machen als da mit FTP rumzuhampeln.
 
Last edited:

rsa4096

New Member
Das ist bei einer Single-Core CPU mit 560Mhz normal.
Ich habe eine Dual-Core ARMv7 CPU mit 800Mhz und komme auch auf gerade mal 12-14Mbit/s download.
Leider bietet PP kein OpenVPN160 an. Denn dann wären deutlich höhere Raten möglich.
 
Top