[Frage] OpenVPN-Server auf der Fritzbox Fon WLAN 7170?

Ja, "ps" zeigt alle laufende Prozesse an, dort müsste dann auch der OpenVPN-Prozess zu sehen sein, wenn es läuft.

Dass du USB nicht trennen kannst, solange noch dropbear darauf zugreift, ist auch klar ;-)

du musst also erst dropbear beenden (oder nicht auf USB zugreifen lassen), ehe der Stick sicher getrennt werden kann.

Hm, ein Problem bleibt hier aber: sobald ich einen reboot per SSH mache, kann ich nicht mehr auf den USB-Speicher zugreifen. :/ Da scheint es irgendwo noch immer mächtig zu haken. :confused:

Der OpenVPN-Server läuft nicht:

Code:
# ps
  PID  Uid        VSZ Stat Command
    1 root       1308 S   init
    2 root            SWN [ksoftirqd/0]
    3 root            SW< [events/0]
    4 root            SW< [khelper]
    5 root            SW< [kthread]
    6 root            SW< [kblockd/0]
   23 root            SW< [pdflush]
   24 root            SW< [pdflush]
   26 root            SW< [aio/0]
   25 root            SW  [kswapd0]
   62 root            SW  [pm_info]
   66 root            SW< [CPMAC]
   70 root            SW  [mtdblockd]
   90 root            SW  [tffsd_mtd_0]
  260 root            SW< [capi_oslib]
  261 root            SW< [capi_oslib]
  263 root            SW  [capitransp]
  290 root            SW< [khubd]
  411 root       9444 S N ctlmgr
  416 root       3744 S   upnpd
  421 root       4128 S   multid
  451 root       1984 S   wpa_authenticator
  489 root       4128 S   multid
  496 root       9444 S N ctlmgr
  497 root       9444 S N ctlmgr
  498 root       9444 S N ctlmgr
  539 root       3744 S   upnpd
  540 root       3744 S   upnpd
  541 root       3744 S   upnpd
  552 root       4312 S   dsld -i -n
  572 root       5756 S   telefon a127.0.0.1
  576 root       4916 S < voipd
  583 root       3500 S   pbd
  584 root       3500 S   pbd
  589 root       3500 S   pbd
  590 root       3500 S   pbd
  595 root            SWN [scsi_eh_0]
  596 root            SWN [usb-storage]
  601 root       5756 S   telefon a127.0.0.1
  602 root       5756 S   telefon a127.0.0.1
  603 root       5756 S   telefon a127.0.0.1
  604 root       5756 S   telefon a127.0.0.1
  605 root       5756 S   telefon a127.0.0.1
  606 root       5756 S   telefon a127.0.0.1
  610 root       1320 S   /usr/sbin/inetd
  625 root        860 S   /bin/run_clock -c /dev/tffs -d
  655 root       3500 S   /usr/bin/faxd -a
  656 root       1716 S   capiotcp_server -p5031 -m99
  677 root       2700 S   usermand
  779 root       3596 S   mediasrv
  780 root       3596 S   mediasrv
  781 root       3596 S   mediasrv
  782 root       3596 S   mediasrv
  790 root            RWN [kdsld_token]
  820 root       1308 S   /bin/busybox telnetd -l /sbin/ar7login
 1257 root       1560 S   /bin/dropbear -E -r /var/media/ftp/USB2-0-Storage-01/
 1266 root       1308 S   init
 1482 root       1616 S   /bin/dropbear -E -r /var/media/ftp/USB2-0-Storage-01/
 1483 root       1332 S   -sh
 1561 root       1312 R   ps

Startup.sh (Passworthash entfernt ;)

Code:
#!/bin/sh
# whats the base usb directory
BASE=/var/media/ftp/USB2-0-Storage-01/addons/

# change to a temporary directory
cd /var/tmp

# install and start dropbear with our host key
${BASE}/cfg_dropbear usb_install
/bin/dropbear -E -r ${BASE}/dropbear/etc/sshd_rsa_host_key

# set passwords
echo 'root:XXX:0:0:root:/var/tmp/:/bin/sh' > /var
echo 'ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh' >> /var/tmp/passwd

# add fritz box itself in resolv.conf to resolv dhcp attached machines in your n
echo "nameserver 192.168.1.2" >> /var/tmp/resolv.conf

# Add a nobody user
echo 'nobody:x:65534:65534:nobody:/:/bin/false' >> /var/tmp/passwd

# Add some groups
echo 'root:x:0:' > /var/tmp/group
echo 'nobody:x:65534:' >> /var/tmp/group

# Create a tap device for openvpn
mknod /var/tmp/tap0 c 10 200

# Start openvpn

Das tap-device ist auch nicht da:

Code:
# brctl show
bridge name     bridge id               STP enabled     interfaces
lan             8000.00150cf4cec2       no              eth0
                                                        tiwlan0
                                                        wdsdw0
                                                        wdsdw1
                                                        wdsdw2
                                                        wdsdw3
                                                        wdsup0
#

in der ar7.cfg ist der Eintrag aber vorhanden:
Code:
brinterfaces {
                name = "lan";
                dhcp = no;
                ipaddr = 192.168.1.2;
                netmask = 255.255.255.0;
                dstipaddr = 0.0.0.0;
                interfaces = "eth0", "tap0", "usbrndis", "tiwlan0", "wdsup0",
                             "wdsdw0", "wdsdw1", "wdsdw2", "wdsdw3";
                dhcpenabled = yes;

Kann ich die Box dazu überreden beim Kaltstart und/oder Softreboot ein log in den Flash zu schreiben falls irgendwo was mit dem USB-Stick schief geht? Weil was anderes fällt mir jetzt nun nicht mehr ein...
 
Wie, und nach "# Start openvpn" steht nix mehr? Dann wäre es klar, dass OpenVPN nicht startet ;-), wo ist dei Konfig, wo der Start-Befehl?

Für das Dropbear-USB Problem könntest du folgende Änderung machen, die den Key ins RAM kopiert und von dort nutzt (damit wird der USB-Stick nach dem Kopieren nicht mehr für Dropbear genutzt):
Code:
#!/bin/sh
# whats the base usb directory
BASE=/var/media/ftp/USB2-0-Storage-01/addons/

# change to a temporary directory
cd /var/tmp

# install and start dropbear with our host key
${BASE}/cfg_dropbear usb_install
[B]
#Hier die Ergänzung: Kopiere den Key nach /var/tmp
cp ${BASE}/dropbear/etc/sshd_rsa_host_key /var/tmp

#Weitere Änderung: Nutze den Key in /var/tmp statt den auf dem Stick
/bin/dropbear -E -r /var/tmp/sshd_rsa_host_key

# der alte Befehl kann auch ganz gelöscht werden ;-)
#/bin/dropbear -E -r ${BASE}/dropbear/etc/sshd_rsa_host_key
[/B]
# set passwords
[...]
 
Wie, und nach "# Start openvpn" steht nix mehr? Dann wäre es klar, dass OpenVPN nicht startet ;-), wo ist dei Konfig, wo der Start-Befehl?

Der ist beim Kopieren offensichtlich auf der Strecke geblieben. Gibt es eigentlich elegantere Wege als in Putty einfach alles zu makieren? In nvi muss man das dann immer "seitenweise" von Hand machen.

Die komplette Zeile:

Code:
# Start openvpn
${BASE}/openvpn/bin/openvpn --config ${BASE}/openvpn/server.conf --daemon

Die Änderung bezüglich /var/temp probier ich mal.
 
Mach einfach auf der Box ein "cat <die Datei>", danach kannst du ganz bequem im Putty-Fenster alles auswählen/kopieren.
Erster Anwendungsfall: Poste die Ausgabe von "cat /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf" ;-)

Um den Start zu "beobachten" kannst du den Aufruf ohne "--daemon" machen, dann siehst du alle Ausgaben (und vermutlich auch Fehlermeldungen, weil es ja nicht läuft). Also poste auch die Ausgabe von
"/var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf"

Nur zur Sicherheit: Es heißt "/var/tmp" (nicht temp).
 
Mach einfach auf der Box ein "cat <die Datei>", danach kannst du ganz bequem im Putty-Fenster alles auswählen/kopieren.
Erster Anwendungsfall: Poste die Ausgabe von "cat /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf" ;-)

Code:
# cat /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf
# set the path to the tap device
dev tap
dev-node /var/tmp/tap0
mssfix
tun-mtu 1500

# TCP or UDP server?
proto udp
port 1194

# CA and key files
ca /var/media/ftp/USB2-0-Storage-01/addons/openvpn/keys/ca.crt
cert /var/media/ftp/USB2-0-Storage-01/addons/openvpn/keys/server.crt
key /var/media/ftp/USB2-0-Storage-01/addons/openvpn/keys/server.key
crl-verify /keys/crl.pem # this is opened after the chroot

# Diffie hellman parameters
dh /var/media/ftp/USB2-0-Storage-01/addons/openvpn/keys/dh1024.pem

# bridge setup
server-bridge 192.168.1.2 255.255.255.0 192.168.1.50 192.168.1.99
mode server
tls-server
push "dhcp-option DNS 192.168.1.2"

ifconfig-pool-persist ipp.txt
client-to-client

# compression?
comp-lzo

# The maximum number of concurrently connected clients we want to
# allow.
max-clients 20

# It's a good idea to reduce the OpenVPN daemon's privileges after
# initialization.
user nobody
group nobody

# Put openvpn in a jail.
chroot /var/media/ftp/USB2-0-Storage-01/addons/openvpn

# The persist options will try to avoid accessing certain resources on
# restart that may no longer be accessible because of the privilege
# downgrade.
persist-key
persist-tun

# where to log
log-append /var/media/ftp/USB2-0-Storage-01/addons/openvpn/log/openvpn.log

# verbose level for debugging
;verb 4

# make sure the connection is kept alive
keepalive 10 120#

Also poste auch die Ausgabe von
"/var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf"

Code:
# /var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf
-sh: /var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn: not found

Hm, ich glaub ich muss noch mal die Box vom Strom nehmen. Irgendwas stimmt da wieder nicht... hatte die Binary bereits kopiert.
 
Zuletzt bearbeitet:
Hallo,

bzgl. Server config

a) tap0

ich hatte gelesen, das tap0 device müsse (seltsamerweise) ausdrücklich unter dem Namen "tun" auf der Box angelegt werden. Daher heist es bei mir (siehe #6)

mknod /var/tmp/tun c 10 200

und in der Server.config entsprechend

dev tap
dev-node /var/tmp/tun

Da es so funktioniert, habe ich nicht weiter geprüft, ob das wirklich einen Unterschied macht.

b) push "dhcp-option ..."

Hat bei mir nicht getan, daher schlicht weggelassen. Die Clientbox hat eine manuell vergebene IP aus dem selben Bereich. Funktioniert.
Wenn Du Dein IP Phone am Registrar der Server-Box (intern) anmeldest, geht die Telefonie trotzdem durch den Tunnel.


finreg
 
Zuletzt bearbeitet:
Also poste auch die Ausgabe von
"/var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf"

So, jetzt aber:

Code:
# /var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf
Bus error
#

Wie drösel ich den Bus-error nun auf? :)


Hallo,

bzgl. Server config

a) tap0

ich hatte gelesen, das tap0 device müsse (seltsamerweise) ausdrücklich unter dem Namen "tun" auf der Box angelegt werden. Daher heist es bei mir (siehe #6)

mknod /var/tmp/tun c 10 200

und in der Server.config entsprechend

dev tap
dev-node /var/tmp/tun

Da es so funktioniert, habe ich nicht weiter geprüft, ob das wirklich einen Unterschied macht.

Ich werde es ausprobieren sobald der Server selbst erstmal startet. Kann das der Fehler bezüglich "bus error" sein?

Wenn Du Dein IP Phone am Registrar der Server-Box (intern) anmeldest, geht die Telefonie trotzdem durch den Tunnel.

Hm? Wieso intern? Du meinst den VoIP-Teil der Box? In erster Linie ging es ja erstmal um eine VPN-Verbindung zwischen Android-Fon und der Box. Das ich per SIPgate telefonieren kann, geh ich doch
mal aus. Denn der komplette Datenverkehr läuft ja über den Tunnel, so kann Eplus die SIP-Pakete nicht mehr ausbremsen.
 
Zuletzt bearbeitet:
Ich vermute mal, du hast ein falsches OpenVPN-Binary (falsche Firmware oder falsche Box) oder es wurde nicht "binär" übertragen.

Ich wüsste übrigens nicht, dass der Name für das tun/tap device eine Rolle spielt, sofern du vom Standard abweichst, musst du den Namen halt per "dev-node" angeben.
 
Denn der komplette Datenverkehr läuft ja über den Tunnel, so kann Eplus die SIP-Pakete nicht mehr ausbremsen.

Wie kommst Du auf die Idee, dass der gesammte Internetverkehr durch den Tunnel gehen sollte? Kann evt., muss sicher nicht.
Das DNS Push hat zumindest bei mir nicht geklappt. Und selbst wenn?! Du hast lokal einen gateway. Nach meiner Erfahrung geht der gesamte Verkehr ins Internet auch direkt über diesen Gateway und nicht über den Tunnel (so ist das meist auch gewünscht, da schneller) und nur wenn Du irgendwas im getunnelten Netz ansprichst, geht das durch den Tunnel. Aber wie gesagt, falls Du Dein Phone am Registrar des Servers intern anmeldest, dann telefonierst Du über den Tunnel.

finreg
 
Ich vermute mal, du hast ein falsches OpenVPN-Binary (falsche Firmware oder falsche Box) oder es wurde nicht "binär" übertragen.

Hm, ich hatte es per Windows-Share übertragen... war wohl keine gute Idee. :)
Nochmal per FTP und nun tut sich mehr:

Code:
# /var/media/ftp/USB2-0-Storage-01/addons/openvpn/bin/openvpn --config /var/media/ftp/USB2-0-Storage-01/addons/openvpn/server.conf
Thu Aug  4 23:05:50 2011 Warning: Error redirecting stdout/stderr to --log file: /var/media/ftp/USB2-0-Storage-01/addons/openvpn/log/openvpn.log: No such file or directory (errno=2)
Thu Aug  4 23:05:50 2011 OpenVPN 2.1_rc1 mipsel-linux [SSL] [LZO2] [EPOLL] built on Jan  5 2007
Thu Aug  4 23:05:50 2011 WARNING: file '/var/media/ftp/USB2-0-Storage-01/addons/openvpn/keys/server.key' is group or others accessible
Thu Aug  4 23:05:50 2011 TUN/TAP device tap0 opened
Thu Aug  4 23:05:50 2011 failed to find UID for user nobody: No such file or directory (errno=2)
Thu Aug  4 23:05:50 2011 Exiting
#

Wie kommst Du auf die Idee, dass der gesammte Internetverkehr durch den Tunnel gehen sollte? Kann evt., muss sicher nicht.

Klar, aber dafür ist doch das Bridge in der Config-Datei. So funktionieren dann auch ggf. Broadcasts im lokalen Netz.

Das DNS Push hat zumindest bei mir nicht geklappt. Und selbst wenn?! Du hast lokal einen gateway. Nach meiner Erfahrung geht der gesamte Verkehr ins Internet auch direkt über diesen Gateway und nicht über den Tunnel (so ist das meist auch gewünscht, da schneller) und nur wenn Du irgendwas im getunnelten Netz ansprichst, geht das durch den Tunnel. Aber wie gesagt, falls Du Dein Phone am Registrar des Servers intern anmeldest, dann telefonierst Du über den Tunnel.

finreg

Hier ist das nicht gewünscht. Der komplette Verkehr soll über den Tunnel gehen. Besonders dann, wenn es nicht übers Mobilfunknetz sondern über einen WLAN-Hotspot geht.
 
Zuletzt bearbeitet:
Wie gesagt - nach meiner Erfahrung nimmt der Internetverkehr des clients den kürzesten Weg, also über den lokalen gateway des clients. Dass die Netze gebridged sind, muss nicht bedeuten, dass sie den selben gateway nutzen. Ich hatte den Bedarf noch nicht, sorry.

Es gibt es hier im forum einige Beiträge zu dem Thema. maxmuster kann vermutlich weiterheilfen,siehe auch (Beispiel mit Tunnel)
http://www.ip-phone-forum.de/showthread.php?t=231938&page=1

finreg
 
Zuletzt bearbeitet:
Code:
Thu Aug  4 23:05:50 2011 failed to find UID for user nobody: No such file or directory (errno=2)
Thu Aug  4 23:05:50 2011 Exiting
#
Du nutzt OpenVPN mit einem User (nobody), den die FB normalerweise nicht kennt. Den Befehl müsstest du in der Konfig auskommentieren, oder vor dem Starten von OpenVPN diesen User (und vermutlich auch die Gruppe) anlegen (sofern die Busybox der Stardardfirmware die Befehle kennt):
Code:
addgroup nobody
adduser -G nobody -s /bin/false -H -D -g "OpenVPN user" nobody

Ansonsten:
Bridging ist kein Ersatz für Routing ;-). Das Routing muss trotzdem stimmen und für die Brücke sind noch zusätzliche Dinge erforderlich.
Aber erstmal muss es überhaupt laufen, dann kann man die Konfig den Wünschen nach "feinjustieren"...
 
@tursi

Zum Anlegen des Nutzers nobody siehe auch posting #6 startopenvpn.sh bzw. steht das nicht auch in der von Dir verwendeten Anleitung?

finreg
 

Statistik des Forums

Themen
244,881
Beiträge
2,220,089
Mitglieder
371,611
Neuestes Mitglied
Mandylion73
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.