[Gelöst] Per VPN eine 7390er FBF mit Vserver verbinden & VoIP-Traffic über den Tunnel schicken

PsychoMantis

Aktives Mitglied
Mitglied seit
18 Dez 2005
Beiträge
2,539
Punkte für Reaktionen
10
Punkte
38
Hallo Forum,

Ich würde gerne meinen Vserver mit einer Fritzbox verbinden. Und zwar möchte ich die origiane Lösung von AVM als VPN nutzen. Über den Tunnel soll dann nur VoIP-Traffic zwischen der FBF und dem Asterisk auf dem Vserver laufen.

Leider sind bisher alle meine Experimente das hinzukriegen gescheitert. Versucht habe ich es mit dieser und dieser Anleitung (das dürften wohl die bekanntesten sein). Irgendwie findet man im Internet hauptsächlich nur Anleitungen für Windows oder für Linux mit GUI. Der Vserver (so weit ich weiß OpenVZ) hat ja leider kein GUI.
Ich bin nach vielen Stunden Experimentieren so weit gekommen, dass eine Verbindung aufgebaut wird (zumindest sieht man im Vserver per ifconfig, dass dann noch ein tap0 existiert). Aber in der Fritzbox steht dann nur, dass gerade eine Verbindung aufgebaut wird und sonst nix - es lässt sich also nichts anpingen oder so was.
Bisher habe ich die Konfig-Files für die FBF mittels dafür vorgesehenem Programm erstellt und habe immer "Fernzugang für einen Benutzer einrichten".
Mein Vserver ist definitv für VPN-Verbindungen geeignet - vor vielen Monaten hatte ich den nämlich mal testweise per OpenVPN mit einem anderen Vserver verbunden.
Hat vielleicht jemand Ideen?

Nachtrag (20.11.2011): Eigentlich war ich gegen OpenVPN, da ich meine Fritzbox nicht modifizieren wollte. Anderseits kann man nicht vom Modifizieren sprechen, da ich ja bloß eine ca. 1,2 MB große Datei "openvpn" nachlade und die (per debug.cfg) starte. Die debug.cfg bleibt ja im Falle eines Firmware-Updates erhalten.
Auf dem vserver war nichts besonderes nötig - nur "aptitude install openvpn".
 
Zuletzt bearbeitet:
Mein Vserver ist definitv für VPN-Verbindungen geeignet - vor vielen Monaten hatte ich den nämlich mal testweise per OpenVPN mit einem anderen Vserver verbunden.
Der erste Satz deiner ersten Anleitung sagt dir schon, warum das nie gehen kann: "Alle aktuellen Fritz!Box Modelle verfügen über einen Integrierte VPN Funktionalität, die auf dem IPSec-Standard basiert."
Du brauchst also einen IPSec-Server auf deinem Vserver, oder einen OpenVPN-Client auf der Fritzbox. Letzteres ist wahrscheinlich etwas einfacher zu realisieren.
 
Dass die unmodifizierte FBF mit IPSec-Standard funktioniert ist mir bewusst. Natürlich habe ich auf dem Vserver (siehe Links im ersten Beitrag) mit ike und strongswan und ähnlichem experimentiert und nicht mit OpenVPN.
...
Vielleicht hätte ich auch das andere nehmen sollen: "Verbindung zwischen zwei Fritz!Box-Netzwerken einrichten"? Die Frage ist dann: Mittels welcher Konfigs soll ich der Fritzbox meinen Vserver als ein Fritz!Box-Netzwerk verkaufen?
...
Auch ich vermute, dass es mit OpenVPN leichter zu realisieren wäre. Das Problem ist nur, dass die Fritzbox unmodifiziert ist und den Dienst viele viele Kilometer von hier verrichten soll.
 
Ich bin nach vielen Stunden Experimentieren so weit gekommen, dass eine Verbindung aufgebaut wird (zumindest sieht man im Vserver per ifconfig, dass dann noch ein tap0 existiert).
Dann bist du trotz der Links im ersten Beitrag ("mit ike und strongswan und ähnlichem experimentiert") wieder bei OpenVPN gelandet, denn nur dort gibt es tun und tap. :(
 
Nein, tap0 gibt es definitiv auch bei IPSec. Mit OpenVPN habe ich nämlich erst soeben angefangen zu experimentieren.
OpenVPN funzt eigentlich ziemlich zuverlässig. Was mir noch nicht gefällt ist die Tatsache, dass ich einen static-key benutze.
Diese Anleitung beschreibt ziemlich gut wie man einen OpenVPN-Server auf seinem Vserver aufsetzt. Nur muss man nicht ". ./vars" ausführen wie es dort steht, sondern "source ./vars" und außerdem liegen die ganzen Beispiel-Dateien nicht in "/etc/openvpn/examples/easy-rsa/" sondern in "/etc/openvpn/examples/easy-rsa/2.0".
Also ich habe das jetzt am Laufen. Die openvpn-binary habe ich einfach auf meinem Vserver abgelegt und in der FBF nutze ich die folgende debug.cfg
Code:
while !(ping -c 1 asterisk.vserver.dyndns.org); do
sleep 7
done

cat > /var/tmp/ca.crt << 'END-CA-CRT'

-----BEGIN CERTIFICATE-----
lakjdshlfakdsjhflaksdjhflak
sdkfjallkjhlaksjdhfasdfdssg
-----END CERTIFICATE-----

END-CA-CRT


cat > /var/tmp/client.key << 'END-CLIENT-KEY'

-----BEGIN RSA PRIVATE KEY-----
hjghjgsdfsdfssdfsdf
sdfasdfasdfsdfsds66
5ersdfszlsdfzsmn1qu
-----END RSA PRIVATE KEY-----


END-CLIENT-KEY


cat > /var/tmp/client.crt << 'END-CLIENT-CRT'

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
        Signature Algorithm: sha1WithRSAEncryption
bla bla bla
        Validity
            Not Before: Nov 20 21:52:30 2011 GMT
            Not After : Nov 17 21:52:30 2021 GMT
bla bla bla
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
                Modulus (1024 bit):
                    00:c6:41:64:43:e0:f4:7e:2b:22:85:ee:a3:4d:bc:
                    00:c6:41:64:43:e0:f4:7e:2b:22:85:ee:a3:4d:bc:
                    00:c6:41:64:43:e0:f4:7e:2b:22:85:ee:a3:4d:bc:
                                    Exponent: 65432 (0x15671)
...blablabla...
-----BEGIN CERTIFICATE-----
blablablasdfsdf
blablablasdfsdf
-----END CERTIFICATE-----


END-CLIENT-CRT

cat > /var/tmp/client.ovpn << 'END-CLIENT-OVPN'
client
dev tun
dev-node /dev/tun
proto udp
remote asterisk.vserver.dyndns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
verb 3
daemon

END-CLIENT-OVPN

cd /var/tmp
wget http://asterisk.vserver.dyndns.org/openvpn
chmod +x /var/tmp/openvpn
./openvpn --config ./client.ovpn &
Den Tipp mit den configs in der debug.cfg hatte ich von hier.
Die server.conf sieht nun so aus:
Code:
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.10.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
#comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

In der FBF habe ich nun als registrar in den SIP-Einstellungen nicht asterisk.vserver.dyndns.org eingestellt, sondern 10.10.10.1 und alles funktioniert wie es soll: Das Telefonat geht verschlüsselt über den VPN-Tunnel.
 
Zuletzt bearbeitet:
Nun habe ich noch ein Scenario, bekomme es aber nicht zum Laufen.
Ich würde gerne über die vorhandene OpenVPN-Verbindung noch den umgekehrten Weg gehen: Also der Asterisk auf dem V-server soll sich mit dem SIP-Registrar der FBF verbinden.
Hat das jemand schon zum Laufen gebracht?
 
Mit OpenVPN kann ich nicht dienen.
Mit Shrew auf dem vServer und AVM-VPN auf der Fritz habe ich es zum Laufen gebracht.
Hab die VPN-Sache aber wieder abgeblasen, die sie nur bis zur Zwangsunterbrechung der Fritz hielt.
 
Dennoch würde mich deine Lösung sehr interessieren. Kannst du bitte die Details posten?
 
Ja, das habe ich auch. Aber auf dem Vserver habe ich shrew dann doch nie zum Laufen gebracht.
Andere Frage: Wie kann ich erreichen, dass der OpenVPN-Server an mehreren IPs lauscht und nicht nur an einer?
Das geht bestimmt doch mit iptables, hat da jemand Ideen? Kann man irgendwie mit iptables dem Linux sagen "Alles was auf der öffentlichen IP A und Port B eingeht bitteschön an die andere öffentliche IP C weiterleiten"?
Nachtrag: Die Lösung war einfach eine zweite OpenVPN-Instanz auf dem Vserver.
 
Zuletzt bearbeitet:
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.