OpenVPN auf 7270 Port 443

bruce.one

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte gerne die FB 7270 mit OpenVPN betreiben.

Als Client möchte ich OpenVPN for Windows verwenden. ich habe schon in einigen Foren und Wiki's gestöbert, aber letztlich mangelt es an der Umsetzung.
Der Aufbau einer LAN-LAN Verbindung wird oft beschrieben, aber eine Client-LAN Verbindung über PORT 443 habe ich bisher nicht gefunden.

Der Aufbau der Verbindung soll mit Zertifikaten erfolgen.
Ich habe schon einige Hürden überwunden und soweit schon OpenVPN am Laufen, nur die Konfiguration ist mir ein Rätsel. Was muss? Wann kann? Was nicht?
Kann mir jemand eine funktionierende Konfiguration bauen?

Vielen Dank
Bruce
 
Moin,

machst du das mit freetz oder wie bekommst du das OpenVPN und die Konfig auf die Box?
Die Verwendung von Port 443 ist an sich mit der Config ("port 443") möglich, der Rest ist eigentlich "Standard" du musst aber dabei berücksichtigen, dass auf der 7270 auf Port 443 evtl. die "Fernwartung" läuft.


Schreib doch mal, wie weit deine Konfig jetzt ist, das kriegen wir schon fertig...

Jörg
 
Konfig

Hallo Max,

ich hatte das damals entweder mit the-construct gemacht oder manuell. Ist schon eine Weile her.

Hier der Inhalt meiner debug.cfg :

Code:
#!/bin/sh

# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
  KERNEL_VERSION="linux24"
  ETHERWAKE="etherwake"
else
  KERNEL_VERSION="linux26"
  ETHERWAKE="ether-wake"
fi

# init busybox var
BUSYBOX="/bin/busybox"

# wait to be able to interrupt in case of emergency
sleep 120

if [ -z "$(busybox | grep telnetd)" ]
then
  while !(ping -c 1 www.heise.de)
  do
    sleep 5
  done
  # check if file already exists
  if [ ! -f /var/tmp/busybox ]
  then
    wget -q -O/var/tmp/busybox http://10.1.1.11/busybox
    # make it executable
    chmod +x /var/tmp/busybox
  fi
  # set busybox var
  BUSYBOX="/var/tmp/busybox"
fi
# start telnet deamon with password of web gui
${BUSYBOX} telnetd -l /sbin/ar7login

# load VPN-Server (OpenVPN)

# create tun-device
mknod /var/tmp/tun c 10 200

# write 'secret.key' to file
#cat > /var/tmp/secret.key << 'ENDSECRETKEY'
#
# 2048 bit OpenVPN static key
#
#-----BEGIN OpenVPN Static key V1-----
;-)
#-----END OpenVPN Static key V1-----
#
#ENDSECRETKEY

# write 'server.ovpn' to file
#cat > /var/tmp/server.ovpn << 'ENDSERVERCONF'
#
#local 192.168.178.253
#dev tun0
#dev-node /dev/misc/net/tun
#ifconfig 10.1.1.17 10.1.1.18
#tun-mtu 1500
#;float
#mssfix

#Pfad zum Key File
#mode server
#tls-server
#ca /var/tmp/ca.crt
#cert /var/tmp/server.crt
#key /var/tmp/server.key
#dh /var/tmp/dh1024.pem

#Protokoll auf TCP und Port 443
#proto tcp-server
#port 443

#Protokollierung auf 4
#verb 4

#daemon

#Routen setzen, bei route Subnetz des Clients eintragen
#route 10.1.1.0 255.255.255.0

#log http://localhost/files/openvpn.log

#Verbindung erhalten
#ping 15
#ping-restart 120

#ENDSERVERCONF

# try to load files from USB drive
for f in /var/media/ftp/*
do
  if [ -f ${f}//${KERNEL_VERSION}/openvpn ]
  then
    echo "copy ${f}//${KERNEL_VERSION}/openvpn"
    cp ${f}//${KERNEL_VERSION}/openvpn /var/tmp/openvpn
    cp ${f}//${KERNEL_VERSION}/server.ovpn /var/tmp/server.ovpn
    cp ${f}//${KERNEL_VERSION}/ca.crt /var/tmp/ca.crt
    cp ${f}//${KERNEL_VERSION}/server.crt /var/tmp/server.crt
    cp ${f}//${KERNEL_VERSION}/server.key /var/tmp/server.key
    cp ${f}//${KERNEL_VERSION}/dh1024.pem /var/tmp/dh1024.pem
  fi
done
# check if file already exists
if [ ! -f /var/tmp/openvpn ]
then
  # wait for server
  while !(ping -c 1 www.heise.de)
  do
    sleep 5
  done
  # load files
  wget -q -O/var/tmp/openvpn http://10.1.1.11/openvpn
  wget -q -O/var/tmp/server.ovpn http://10.1.1.11/server.ovpn
  wget -q -O/var/tmp/ca.crt http://10.1.1.11/ca.crt
  wget -q -O/var/tmp/server.crt http://10.1.1.11/server.crt
  wget -q -O/var/tmp/server.key http://10.1.1.11/server.key
  wget -q -O/var/tmp/dh1024.pem http://10.1.1.11/dh1024.pem
fi

# make them executable
chmod +x /var/tmp/openvpn
chmod 0600 /var/tmp/server.ovpn
chmod 0600 /var/tmp/ca.crt
chmod 0600 /var/tmp/server.crt
chmod 0600 /var/tmp/server.key
chmod 0600 /var/tmp/dh1024.pem

# Make FBF accessible from the internet (192.168.178.253)
sleep 20
ifconfig eth0:1 192.168.178.253 netmask 255.255.255.0 broadcast 192.168.178.255 up

# start OpenVPN
/var/tmp/openvpn --config /var/tmp/server.ovpn

# load SSH-Server (dropbear) and etherwake

# CONFIGURATION

# SSH
# port
dropbearport="22"
# password
PASSWD=;-)

# Etherwake
# MAC address
# wolmac=""
# interface to use for WOL
# intf = std  - ata
# eth0 = LAN1 - WAN
# eth1 = LAN2 - LAN1
# wolinterface="eth0"

# CONFIGURATION END

# try to load files from USB drive
for f in /var/media/ftp/*
do
  if [ -f ${f}//${KERNEL_VERSION}/dropbear ]
  then
    echo "${f}//${KERNEL_VERSION}/dropbear"
    cp ${f}//${KERNEL_VERSION}/dropbear /var/tmp/dropbear
  fi
done
# check if file already exists
if [ ! -f /var/tmp/dropbear ]
then
  # wait for server
  while !(ping -c 1 www.heise.de)
  do
    sleep 5
  done
  # load files
  wget -q -O/var/tmp/dropbear http://10.1.1.11/dropbear
fi

# try to load files from USB drive
for f in /var/media/ftp/*
do
  if [ -f ${f}//${KERNEL_VERSION}/busybox ]
  then
    echo "${f}//${KERNEL_VERSION}/busybox"
    cp ${f}//${KERNEL_VERSION}/busybox /var/tmp/busybox
  fi
done
# check if file already exists
if [ ! -f /var/tmp/busybox ]
then
  # wait for server
  while !(ping -c 1 www.heise.de)
  do
    sleep 5
  done
  # load files
  wget -q -O/var/tmp/busybox http://10.1.1.11/busybox
fi

# make them executable
chmod +x /var/tmp/busybox
chmod +x /var/tmp/dropbear

# set busybox var
BUSYBOX="/var/tmp/busybox"

# change root password
${BUSYBOX} sed -e "/root:/s#^root:[^:]*:#root:${PASSWD}:#" -i /var/tmp/shadow

# create symlink for dropbearkey
ln -s /var/tmp/dropbear dropbearkey

${BUSYBOX} uudecode -o /var/tmp/dropbear_rsa_host_key << 'RSA'
begin 600 /var/tmp/dropbear_rsa_host_key
censored ;-)
end

RSA
censored ;-)
end

DSS

# start dropbear
sleep 60
/var/tmp/dropbear -p ${dropbearport} -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key

# create simplified WOL script
# echo "${BUSYBOX} ${ETHERWAKE} -i ${wolinterface} ${wolmac}" > /var/tmp/startpc

# make it executable
#chmod +x /var/tmp/startpc

und der Inhalt meiner server.ovpn:

Code:
#################################################
# This file is for the server side              #
# of a many-clients <-> one-server              #
# OpenVPN configuration.                        #
#                                               #
# OpenVPN also supports                         #
# single-machine <-> single-machine             #
# configurations (See the Examples page         #
# on the web site for more info).               #
#                                               #
# This config should work on Windows            #
# or Linux/BSD systems.  Remember on            #
# Windows to quote pathnames and use            #
# double backslashes, e.g.:                     #
# "C:\\Program Files\\OpenVPN\\config\\foo.key" #
#                                               #
# Comments are preceded with '#' or ';'         #
#################################################
#
# Which local IP address should OpenVPN
# listen on? (optional)
;local a.b.c.d
#local 192.168.178.253

# Which local IP address should OpenVPN
# listen on? (optional)
;local a.b.c.d

# Which TCP/UDP port should OpenVPN listen on?
# If you want to run multiple OpenVPN instances
# on the same machine, use a different port
# number for each one.  You will need to
# open up this port on your firewall.
port 443

# "dev tun" will create a routed IP tunnel,
# "dev tap" will create an ethernet tunnel.
# Use "dev tap0" if you are ethernet bridging
# and have precreated a tap0 virtual interface
# and bridged it with your ethernet interface.
# If you want to control access policies
# over the VPN, you must create firewall
# rules for the the TUN/TAP interface.
# On non-Windows systems, you can give
# an explicit unit number, such as tun0.
# On Windows, use "dev-node" for this.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
;dev tun
dev tap0

;dev-node /dev/misc/net/tun

# To assign specific IP addresses to specific
# clients or if a connecting client has a private
# subnet behind it that should also have VPN access,
# use the subdirectory "ccd" for client-specific
# configuration files (see man page for more info).

# EXAMPLE: Suppose the client
# having the certificate common name "Thelonious"
# also has a small subnet behind his connecting
# machine, such as 192.168.40.128/255.255.255.248.
# First, uncomment out these lines:
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
# Then create a file ccd/Thelonious with this line:
#   iroute 192.168.40.128 255.255.255.248
# This will allow Thelonious' private subnet to
# access the VPN.  This example will only work
# if you are routing, not bridging, i.e. you are
# using "dev tun" and "server" directives.

# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
# Then add this line to ccd/Thelonious:
#   ifconfig-push 10.9.0.1 10.9.0.2

;ifconfig 10.1.1.17 10.1.1.18

#tun-mtu 1500
#float
#mssfix

# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
;server 10.8.0.0 255.255.255.0

mode server
tls-server

# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key).  Each client
# and the server must have their own cert and
# key file.  The server and all clients will
# use the same ca file.
#
# See the "easy-rsa" directory for a series
# of scripts for generating RSA certificates
# and private keys.  Remember to use
# a unique Common Name for the server
# and each of the client certificates.
#
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca /var/tmp/ca.crt
cert /var/tmp/NETGATE.crt
key /var/tmp/NETGATE.key

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys. 
dh /var/tmp/dh1024.pem

#Protokoll auf TCP und Port 443
proto tcp-server
port 443

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client

# Set the appropriate level of log
# file verbosity.
#
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 4

daemon

#Routen setzen, bei route Subnetz des Clients eintragen
;route 10.1.1.0 255.255.255.0

# Output a short status file showing
# current connections, truncated
# and rewritten every minute.
;status openvpn-status.log

# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to
# the "\Program Files\OpenVPN\log" directory).
# Use log or log-append to override this default.
# "log" will truncate the log file on OpenVPN startup,
# while "log-append" will append to it.  Use one
# or the other (but not both).
;log         openvpn.log
;log-append  openvpn.log

# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 60

# For extra security beyond that provided
# by SSL/TLS, create an "HMAC firewall"
# to help block DoS attacks and UDP port flooding.
#
# Generate with:
#   openvpn --genkey --secret ta.key
#
# The server and each client must have
# a copy of this key.
# The second parameter should be '0'
# on the server and '1' on the clients.
;tls-auth ta.key 0 # This file is secret

# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo

# 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

# Silence repeating messages.  At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20

Der Inhalt meiner client.ovpn ist leider verschütt gegangen nach Betriebssystemwechsel.

Gruss Bruce
 
Also, deine Serverconfig ist (so ohne Kommentare kommt man damit besser klar ;-))
Code:
dev tap
# wir sollten das angelegte tun Device auch nutzen ;-)
dev-node /var/tmp/tun 
mode server
tls-server
ca /var/tmp/ca.crt
cert /var/tmp/NETGATE.crt
key /var/tmp/NETGATE.key
dh /var/tmp/dh1024.pem
proto tcp-server
port 443
client-to-client
verb 4
daemon
keepalive 10 60
comp-lzo
persist-key
persist-tun

Eine zugehörige Windows-Client-Config wäre:
Code:
dev tap
ca <\\Pfad\\zum\\CA-Cert>
cert <\\Pfad\\zum\\Client-Cert>
key <\\Pfad\\zum\\Client-Key>
proto tcp-client
port 443
remote meineadresse.dyndns.org
client-to-client
verb 4
daemon
comp-lzo
persist-key
persist-tun

Bitte bedenke, dass (wie oben geschrieben) die 7270 den Port 443 schon für HTTPS ("Fernwartung") nutzt. Auch die Portweiterleitung auf eine virtuelle IP wird so vermutlich nicht mehr funktionieren, sondern ein Eintrag in der ar7.cfg nötig sein...

Jörg
 
Kann mir jemand sagen wie ich die Pfadangabe korrekt mache?

Code:
key <\\Pfad\\zum\\Client-Key>

Welches Verzeichniss ist damit gemeint?

Wenn ich die security.key in folgendem Ordner hab "c:\security.key"

Oder muss muss die keyfile in einen Unterordner von openvpn "c:\Programme\openvpn\"

Wie muss die Pfadangabe dann aussehen? Versteh die doppelten \\ nicht.


greetz
tendax
 
@tendax

Leg den key irgendwo ab, bsp. C:\neuer Ordner\mein Ordner\schlagmichtot
und dann gibst Du

key C:\\neuer Ordner\\mein Ordner\\schlagmichtot\\security.key
an. Der erste \ wird hier zur Markierung des 2. benötigt.

@Max
Wenn ich den Port der Fernwartung auf einen anderen Port z.B. 444 lege muss ich dann auch mit der ar7.cfg rumfiddeln?

Gruss Bruce
 
@ bruce.one

danke für deine Hilfe, versteh zwar immer noch nicht genau wozu es 2 mal \\ sein muss aber egal, werds einfach mal probieren.

Zu deiner Frage, glaube du müsstest tortzdem Einträge in die ar7.cfg machen, weil das Problem ist nicht das der Port für dei Fernwartung belegt ist (bzw. du kannst den Port ja im Webinterface auf einen anderen Port umlegen). Das Problem ist das die Firmware es nicht zulässt das man ein Portforwarding auf die Fritzbox IP zulässt. Deswegen der Eintrag in der ar7.cfg. Aber ich hab auch gelesen das man einfach eine Virtuelle Netzwerkkarte einrichten kann, und auf die IP dieser Virtuellen Netzwerkkarte kannst du dann ein Portforwarding einrichten. Die Virtuelle netzwerkkarte kann man auch über The Construct einrichten. Habs aber selber noch nicht probiert.

Habe die letzten paar Stunden damit verbracht die zertifikate zu erstellen, werds jetzt mit der config von MaxMuster mal probieren.

Wie weit bist du den ? Läuft es bei dir schon ?

greetz

tendax
 
Also ich bekomm die openvpn nicht gestartet, habe jetzt mehrere Binaries durchprobiert, mit der ersten binary wurde ein Fehler ausgegeben habe dann festgestellt das meine Kernelversion zu neu ist. Habe dann nacah anderne gesucht (die neuste die ich gefunden habe war von 2007, habe mehrere durchprobiert).

(openvpn und den die anderen Dateien habe ich mit wget nachgeladen und Rechte gesetzt)

Wenn ich jetzt verusche mit "/var/tmp/openvpn --config /var/tmp/server.ovpn" das Ding zu starten passiert nichts das Prompt spingt auf "#_" weiter. Wenn ich mit "ps" nachschaue wird kein openvpn Prozess angezeigt. Ich nehmen mal an das das immer noch nicht die Passende binary ist.

Hat jemand eine Tip wo ich da eine neuere herbekomme?

Meine Box ist die 7170 mit Firmware 29.04.76.

greetz

tendax
 
Bitte bedenke, dass (wie oben geschrieben) die 7270 den Port 443 schon für HTTPS ("Fernwartung") nutzt. Auch die Portweiterleitung auf eine virtuelle IP wird so vermutlich nicht mehr funktionieren, sondern ein Eintrag in der ar7.cfg nötig sein...

Jörg

Also ich habe im wesentlichen nach dieser Anleitung gearbeitet. ( http://www.wehavemorefun.de/fritzbox/OpenVPN )

Einzig das Kapitel Bridging habe ich noch nicht umgesetzt.

Code:
Bridging 
Jetzt noch die Brücke schlagen:


/var/tmp/vpn/brctl addif lan tap0

Anstelle von dem Aufruf von "brctl" kann man auch das "tap0" Interface in ar7.cfg eintrage. 

Das könnte das so aussehen (In diesem Fall passt die Konfiguration nicht zu restlichen Anleitung) 

brinterfaces {
name = "lan";
dhcp = no;
ipaddr = 192.168.178.1;
netmask = 255.255.255.0;
dstipaddr = 0.0.0.0;
interfaces = "tap0", "eth0", "usbrndis", "eth1", "tiwlan0",
"wdsup0", "wdsdw0", "wdsdw1", "wdsdw2",
"wdsdw3";
dhcpenabled = yes;
dhcpstart = 0.0.0.0;
dhcpend = 0.0.0.0;
}

Muss ich das noch machen? Fall ja möchte ich gerne die brctl Variante nutzen, da ich innerhalb von Standarddateien keine Änderungen vornehmen wollte. Die werden nämlich überschrieben mit jedem Firmwareupdate oder bei änderungen über die Managementoberfläche.



@tendax
Code:
# /var/tmp/openvpn --version
OpenVPN 2.1_rc2 mipsel-linux [SSL] [LZO2] [EPOLL] built on Jul  9 2007
Developed by James Yonan
Copyright (C) 2002-2005 OpenVPN Solutions LLC <[email protected]>
#

bei mir ist auch kein openvpn process beim Aufruf von ps vorhanden.

/brc
 
Bridging musst du nur machen, wenn du das LAN über das VPN "brücken" willst/musst. Damit wären dann die PC's im LAN virtuell im gleichen LAN wie der Client. Die brctl-Variante ist in der Tat nur zur Laufzeit, die ar7.cfg-Änderung bleibt, aber übrigens auch bei Änderungen in der GUI enthalten. Lediglich ein Werksreset oder Recover oder sowas würde diese Änderung entfernen.

Wenn der Prozess nicht im ps auftaucht, läuft er auch nicht, dann gibt es ein Problem beim Starten. Dazu in der Config das "daemon" auskommentieren:
Code:
grep -v daemon /var/tmp/server.ovpn > /var/tmp/nodaemon.ovpn
/var/tmp/openvpn --config /var/tmp/nodaemon.ovpn

Jörg
 
Also ich hab daemon jetz mal auskomentiert und openvpn manuell über Telnet gestartet, jetz bekomme ich folgendes ausgegeben:

Code:
# /var/tmp/openvpn --config /var/tmp/server.ovpn
/var/tmp/openvpn: line 1: cannot open !DOCTYPE: no such file
/var/tmp/openvpn: line 1: html: not found
/var/tmp/openvpn: line 2: syntax error: newline unexpected

Betreffen die ausgegebenen Fehler die openvpn oder die server.ovpn ?
Attribute wurden gesetzt (chmod 0600 server.ovpn und chmod +x openvpn).

greetz
tendax
 
Zuletzt bearbeitet:
Bridging musst du nur machen, wenn du das LAN über das VPN "brücken" willst/musst. Damit wären dann die PC's im LAN virtuell im gleichen LAN wie der Client.

Ja so hätte ich das gerne, aber das sehe ich als Kür an. Erstmal soll generell ein Connect zustandekommen.

Das Auskommentieren des daemon Parameters sieht dann nach dem Aufruf folgendermassen aus.

Code:
# /var/tmp/openvpn --config /var/tmp/server.ovpn
Fri Sep  4 09:51:02 2009 us=558479 OpenVPN 2.1_rc2 mipsel-linux [SSL] [LZO2] [EP
OLL] built on Jul  9 2007
Fri Sep  4 09:51:02 2009 us=709600 Diffie-Hellman initialized with 1024 bit key
Fri Sep  4 09:51:02 2009 us=719551 TLS-Auth MTU parms [ L:1576 D:140 EF:40 EB:0
ET:0 EL:0 ]
Fri Sep  4 09:51:02 2009 us=720865 Note: Cannot open TUN/TAP dev /dev/net/tun: N
o such file or directory (errno=2)
Fri Sep  4 09:51:02 2009 us=721326 Note: Attempting fallback to kernel 2.2 TUN/T
AP interface
Fri Sep  4 09:51:02 2009 us=721855 Cannot open TUN/TAP dev /dev/tap0: No such fi
le or directory (errno=2)
Fri Sep  4 09:51:02 2009 us=722239 Exiting
#

Was passt denn da noch nicht?

/brc
 
@bruce.one:
Dir fehlt das tun-Device.
Code:
# create tun-device
mknod /var/tmp/tun c 10 200
Dann musst du das neu angelegte Device noch angeben in der Config mit
Code:
dev-node /var/tmp/tun

@tendax:
Was du da als "/var/tmp/openvpn" startest ist kein Binary (nach meiner Vermutung und den Meldungen eine html-Seite). Vermutlich hast du die HTML-Seite statt des Programms geladen.
Auch die Übertragung mit "bin" beim FTP (binary) ist wichtig.

EDIT Habe mal das letzte OpenVPN (2.1_rc19) als statisch gelinktes Binary angehängt...

Jörg
 

Anhänge

  • openvpn_2.1_rc19_static.gz
    489 KB · Aufrufe: 51
Ok mein Server läuft jetzt, Fehler war das beim laden mit wget die 404 error Page von T-Offline geladen wurde anstatt der passenden Datei von meinem lokalem HTTP.
Code:
wget /var/tmp/openvpn hddp://server/openvpn <<< FALSCH
wget /var/tmp/openvpn hddp://192.168.1.5/openvpn <<< RICHTIG
Habe jetz mal versucht vom client aus zu conencten, TCP Verbindugn wird auch aufgebaut dann bekomme ich aber einen Fehler "VERIFY nsCertType Error", ich nehmen mal an das was mit den Zertifikaten nicht stimt.

EDIT: Besten Dank für die Binary!

greetz

tendax
 
Zuletzt bearbeitet:
Wie hast du denn die Zertifikate erzeugt? Hat der Server auch ein "Server-Zertifikat"? Ist in der Clinet-Config sowas wie "ns-cert-type server"?

Jörg
 
Ich hab die Zertifikate mit easy-rsa aus openvpn erzeugt.

Ja der Server müsste ein Server-Zertifikat haben (Habe ich als erstes erzeugt) >> server.crt

Ja ich hab einen Eintrag "ns-cert-type server" in der client.ovpn .

Wenn ich das richtig verstehe dann ist der Eintrag "ns-cert-type server" dafür da um zu überprüfen ob das Zertifikat vom Server auch als Serverzertifikat gekennzeichnet ist, wie kann ich den überprüfen mit was das zertifikat gekennzeichnet ist?

Vielleicht sollte ich auch noch mal dazu sagen das ich als Client ein Notebook mit dem openvpn Win Client benutze.

Der Server gibt mir beim Versuch eines Connects folgendes aus:
Code:
Fri Sep  4 11:36:54 2009 TCP/UDP: Closing socket
Fri Sep  4 11:37:00 2009 MULTI: multi_create_instance called
Fri Sep  4 11:37:00 2009 Re-using SSL/TLS context
Fri Sep  4 11:37:00 2009 LZO compression initialized
Fri Sep  4 11:37:00 2009 Control Channel MTU parms [ L:1576 D:140 EF:40 EB:0 ET:0 EL:0 ]
Fri Sep  4 11:37:00 2009 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:135 ET:32 EL:0 AF:3/1 ]
Fri Sep  4 11:37:00 2009 TCP connection established with XXX.XXX.XXX.XXX:2015
Fri Sep  4 11:37:00 2009 Socket Buffers: R=[131072->131072] S=[131072->131072]
Fri Sep  4 11:37:00 2009 TCPv4_SERVER link local: [undef]
Fri Sep  4 11:37:00 2009 TCPv4_SERVER link remote: XXX.XXX.XXX.XXX:2015
Fri Sep  4 11:37:00 2009 XXX.XXX.XXX.XXX:2015 Connection reset, restarting [0]
Fri Sep  4 11:37:00 2009 XXX.XXX.XXX.XXX:2015 SIGUSR1[soft,connection-reset] received, client-instance restarting
Fri Sep  4 11:37:00 2009 TCP/UDP: Closing socket

Was mich wundert ist das bei TCPv4_SERVER link remote: xxx.xxx.xxx.xxx:2015 der 2015 benutzt wird obwohl ich doch bei Server und Client 443 eingestellt hab.

greetz

tendax
 
Der Unterschied ist, ob du "build-key-server" oder "build-key" genutzt hast...
Du kannst den Parameter in der Client-Config ja weglassen.
Der Port 443 ist nur der Zielport auf dem Server, der Client wird normalerweise einen beliebigen Absendeport nutzen (bei dir halt 2015).
Wenn du nicht weiter kommst, könntest du zum Testen das Logging gesprächiger machen ("verb 6" oder noch höher).

Jörg
 
Ok also ich komm der Sache immer näher. MaxMuster und bruce.one ihr seid echt Gold wert.

Also die Verbindung steht jetzt, der Client (Notbeook wählt sich über DFÜ/ISDN ins Internet ein) bekommt als IP 192.168.2.221 zugewiesen wie ich es eingestellt habe.

Ich habe jetz mal brctl mit wget auf die box gezogen, Attribute gesetzt und dann mit "/var/tmp/brctl addif lan tap0" gestartet.

Wenn ich das jetz richtig verstanden habe sollte doch jetz die Fritzbox eine Verbindung von der Virtuellen Netzwerkkarte mit dem Heimnetzwerk ersellen, und ich sollte vom Client aus ins Heimnetzwerk Pingen können. Leider funktioniert das nicht, muss ich das Bridgeing auch auf dem Notebook einrichten?

greetz

tendax
 
Das hängt von deiner Config ab...
Das geht dann, wenn die per VPN-IPs im LAN-Bereich sind, wenn also die vergebene IP des Clients (192.168.2.221) Teil des LANs ist, das also 192.168.2.x-Adressen hat. Sonst macht Bridging keinen richtigen Sinn und du brauchst Routing dafür.

Jörg
 
Ok wenn ich das richtig verstehe heisst das die IP die ich dem Client über die client.ovpn gebe muss in gleichen Netzwerkbereich liegen wie mein Heimnetz.

Wenn ich also ein Heimnetz nach 192.168.1.XXX habe dann muss die IP des Client z.B. 192.168.1.221 sein. d.H. Ich müsste in der...

client.ovpn "ifconfig 192.168.1.211 255.255.255.0" drin stehen haben.

Wenn ich das abermachen müsste ich doch ebenfalls in der...

server.ovpn "ifconfig 192.168.1.220 255.255.255.0" eintragen.

Das Problem ist aber doch das der openvpn server im gleichen Netzwerkbereich auf eingehende Verbindungen wartet, da ich ja den vpn server an die virtuele Netzwerkkarte binden muss um den Port 443 vom Internet an die Fritzbox selber weiterzuleiten:

server.ovpn "local 192.168.1.253"

...diese Virtuelle Netzwerkkarte muss doch ebenfalls im gleichen IP Bereich wie das Heimatnetzwerk liegen oder?

Wenn die IP-Addressen von "local" und "ifconfig" im gleichen IP Bereich liegen mekert der Server aber und startet nicht.

Heist das ich komm hier mit bridging nicht weiter und muss auf Routing umsteigen?

greetz

tendax
 
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.