PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenVPN als Proxy



z3r0t3n
04.12.12, 18:56
Guten Abend,

ich melde mich heute nach erfolgloser Google-Suche und langem ausprobieren hier in der Hoffnung, dass jemand Rat weiß.

Erstmal ein paar Infos:

Auf meinem dedizierten Server (openSUSE) läuft ein OpenVPN Server als tatsächlich nur VPN, der funktioniert auch einwandfrei und macht keine Probleme.

Zusätzlich würde ich gerne auch einen IP-Proxy laufen lassen. Dazu benutze ich folgende Konfiguration:


dev tun
local <janz jeheime ip>
proto tcp-server
port 80
server 192.168.40.0 255.255.255.0
mode server
ifconfig-pool-persist /etc/openvpn/ipp_proxy.txt
tls-server

dh /etc/openvpn/cert/dh1024.pem
ca /etc/openvpn/cert/ca.crt
cert /etc/openvpn/cert/server.crt
key /etc/openvpn/cert/server.key

push "route 192.168.40.0 255.255.255.0"
push "route-gateway 192.168.40.1"
push "dhcp-option DNS 192.168.40.1"
push "redirect-gateway def1"

cipher AES-256-CBC
client-to-client
status /etc/openvpn/openvpn_proxy-status.log
comp-lzo
verb 3

Der Server startet auch ohne zu meckern und läuft auch stabil. Allerdings hab ich ein Problem beim Client, dass mit dem route-gateway wohl zusammenhängt.


Tue Dec 04 19:37:37 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Tue Dec 04 19:37:37 2012 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Tue Dec 04 19:37:37 2012 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Tue Dec 04 19:37:38 2012 LZO compression initialized
Tue Dec 04 19:37:38 2012 Control Channel MTU parms [ L:1560 D:140 EF:40 EB:0 ET:0 EL:0 ]
Tue Dec 04 19:37:38 2012 Socket Buffers: R=[8192->8192] S=[8192->8192]
Tue Dec 04 19:37:38 2012 Data Channel MTU parms [ L:1560 D:1450 EF:60 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Dec 04 19:37:38 2012 Local Options hash (VER=V4): '958c5492'
Tue Dec 04 19:37:38 2012 Expected Remote Options hash (VER=V4): '79ef4284'
Tue Dec 04 19:37:38 2012 Attempting to establish TCP connection with <immer noch jeheim>:80
Tue Dec 04 19:37:38 2012 TCP connection established with <immer noch jeheim>:80
Tue Dec 04 19:37:38 2012 TCPv4_CLIENT link local: [undef]
Tue Dec 04 19:37:38 2012 TCPv4_CLIENT link remote: <immer noch jeheim>:80
Tue Dec 04 19:37:38 2012 TLS: Initial packet from <immer noch jeheim>:80, sid=f4b7664b ed3e7e3b
Tue Dec 04 19:37:40 2012 VERIFY OK: depth=1, /C=DE/CN=ZG-CA/name=ZG-CA
Tue Dec 04 19:37:40 2012 VERIFY OK: depth=0, /C=DE/CN=Server/name=Server
Tue Dec 04 19:37:45 2012 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Tue Dec 04 19:37:45 2012 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 04 19:37:45 2012 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Tue Dec 04 19:37:45 2012 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Dec 04 19:37:45 2012 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Tue Dec 04 19:37:45 2012 [Server] Peer Connection Initiated with <immer noch jeheim>:80
Tue Dec 04 19:37:47 2012 SENT CONTROL [Server]: 'PUSH_REQUEST' (status=1)
Tue Dec 04 19:37:48 2012 PUSH: Received control message: 'PUSH_REPLY,route 192.168.40.0 255.255.255.0,route-gateway 192.168.40.1,dhcp-option DNS 192.168.40.1,redirect-gateway def1,route 192.168.40.0 255.255.255.0,topology net30,ifconfig 192.168.40.10 192.168.40.9'
Tue Dec 04 19:37:48 2012 OPTIONS IMPORT: --ifconfig/up options modified
Tue Dec 04 19:37:48 2012 OPTIONS IMPORT: route options modified
Tue Dec 04 19:37:48 2012 OPTIONS IMPORT: route-related options modified
Tue Dec 04 19:37:48 2012 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Tue Dec 04 19:37:48 2012 ROUTE default_gateway=192.168.1.1
Tue Dec 04 19:37:48 2012 TAP-WIN32 device [LAN-Verbindung 2] opened: \\.\Global\{AFA87FA3-638F-459D-8151-DE7887CF3896}.tap
Tue Dec 04 19:37:48 2012 TAP-Win32 Driver Version 9.9
Tue Dec 04 19:37:48 2012 TAP-Win32 MTU=1500
Tue Dec 04 19:37:48 2012 Notified TAP-Win32 driver to set a DHCP IP/netmask of 192.168.40.10/255.255.255.252 on interface {AFA87FA3-638F-459D-8151-DE7887CF3896} [DHCP-serv: 192.168.40.9, lease-time: 31536000]
Tue Dec 04 19:37:48 2012 Successful ARP Flush on interface [22] {AFA87FA3-638F-459D-8151-DE7887CF3896}
Tue Dec 04 19:37:53 2012 TEST ROUTES: 0/3 succeeded len=2 ret=0 a=0 u/d=up
Tue Dec 04 19:37:53 2012 Route: Waiting for TUN/TAP interface to come up...

Repeat 50x

Tue Dec 04 19:38:23 2012 C:\WINDOWS\system32\route.exe ADD <immer noch jeheim> MASK 255.255.255.255 192.168.1.1
Tue Dec 04 19:38:23 2012 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=25 and dwForwardType=4
Tue Dec 04 19:38:23 2012 Route addition via IPAPI succeeded [adaptive]
Tue Dec 04 19:38:23 2012 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 192.168.40.1
Tue Dec 04 19:38:23 2012 Warning: route gateway is not reachable on any active network adapters: 192.168.40.1
Tue Dec 04 19:38:23 2012 Route addition via IPAPI failed [adaptive]
Tue Dec 04 19:38:23 2012 Route addition fallback to route.exe
OK!
Tue Dec 04 19:38:24 2012 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 192.168.40.1
Tue Dec 04 19:38:24 2012 Warning: route gateway is not reachable on any active network adapters: 192.168.40.1
Tue Dec 04 19:38:24 2012 Route addition via IPAPI failed [adaptive]
Tue Dec 04 19:38:24 2012 Route addition fallback to route.exe
OK!
Tue Dec 04 19:38:24 2012 C:\WINDOWS\system32\route.exe ADD 192.168.40.0 MASK 255.255.255.0 192.168.40.1
Tue Dec 04 19:38:24 2012 Warning: route gateway is not reachable on any active network adapters: 192.168.40.1
Tue Dec 04 19:38:24 2012 Route addition via IPAPI failed [adaptive]
Tue Dec 04 19:38:24 2012 Route addition fallback to route.exe
OK!
Tue Dec 04 19:38:24 2012 C:\WINDOWS\system32\route.exe ADD 192.168.40.0 MASK 255.255.255.0 192.168.40.1
Tue Dec 04 19:38:24 2012 Warning: route gateway is not reachable on any active network adapters: 192.168.40.1
Tue Dec 04 19:38:24 2012 Route addition via IPAPI failed [adaptive]
Tue Dec 04 19:38:24 2012 Route addition fallback to route.exe
Hinzufgen der Route fehlgeschlagen: Das Objekt ist bereits vorhanden.
SYSTEM ROUTING TABLE
0.0.0.0 0.0.0.0 25.0.0.1 p=0 i=13 t=4 pr=3 a=395992 h=0 m=9256/0/0/0/0
0.0.0.0 0.0.0.0 192.168.1.1 p=0 i=11 t=4 pr=3 a=395984 h=0 m=25/0/0/0/0
0.0.0.0 128.0.0.0 192.168.40.1 p=0 i=11 t=4 pr=3 a=0 h=0 m=26/0/0/0/0
25.0.0.0 255.0.0.0 25.170.57.206 p=0 i=13 t=3 pr=3 a=395987 h=0 m=9256/0/0/0/0
25.170.57.206 255.255.255.255 25.170.57.206 p=0 i=13 t=3 pr=3 a=395987 h=0 m=9256/0/0/0/0
25.255.255.255 255.255.255.255 25.170.57.206 p=0 i=13 t=3 pr=3 a=395987 h=0 m=9256/0/0/0/0
<immer noch jeheim> 255.255.255.255 192.168.1.1 p=0 i=11 t=4 pr=3 a=1 h=0 m=25/0/0/0/0
127.0.0.0 255.0.0.0 127.0.0.1 p=0 i=1 t=3 pr=3 a=396012 h=0 m=306/0/0/0/0
127.0.0.1 255.255.255.255 127.0.0.1 p=0 i=1 t=3 pr=3 a=396012 h=0 m=306/0/0/0/0
127.255.255.255 255.255.255.255 127.0.0.1 p=0 i=1 t=3 pr=3 a=396012 h=0 m=306/0/0/0/0
128.0.0.0 128.0.0.0 192.168.40.1 p=0 i=11 t=4 pr=3 a=0 h=0 m=26/0/0/0/0
192.168.1.0 255.255.255.0 192.168.1.46 p=0 i=11 t=3 pr=3 a=395984 h=0 m=281/0/0/0/0
192.168.1.46 255.255.255.255 192.168.1.46 p=0 i=11 t=3 pr=3 a=395984 h=0 m=281/0/0/0/0
192.168.1.255 255.255.255.255 192.168.1.46 p=0 i=11 t=3 pr=3 a=395984 h=0 m=281/0/0/0/0
192.168.40.0 255.255.255.0 192.168.40.1 p=0 i=11 t=4 pr=3 a=0 h=0 m=26/0/0/0/0
192.168.40.8 255.255.255.252 192.168.40.10 p=0 i=22 t=3 pr=3 a=36 h=0 m=286/0/0/0/0
192.168.40.10 255.255.255.255 192.168.40.10 p=0 i=22 t=3 pr=3 a=36 h=0 m=286/0/0/0/0
192.168.40.11 255.255.255.255 192.168.40.10 p=0 i=22 t=3 pr=3 a=36 h=0 m=286/0/0/0/0
224.0.0.0 240.0.0.0 127.0.0.1 p=0 i=1 t=3 pr=3 a=396012 h=0 m=306/0/0/0/0
224.0.0.0 240.0.0.0 25.170.57.206 p=0 i=13 t=3 pr=3 a=395992 h=0 m=9256/0/0/0/0
224.0.0.0 240.0.0.0 192.168.40.10 p=0 i=22 t=3 pr=3 a=395992 h=0 m=286/0/0/0/0
224.0.0.0 240.0.0.0 192.168.1.46 p=0 i=11 t=3 pr=3 a=395987 h=0 m=281/0/0/0/0
255.255.255.255 255.255.255.255 127.0.0.1 p=0 i=1 t=3 pr=3 a=396012 h=0 m=306/0/0/0/0
255.255.255.255 255.255.255.255 25.170.57.206 p=0 i=13 t=3 pr=3 a=395992 h=0 m=9256/0/0/0/0
255.255.255.255 255.255.255.255 192.168.40.10 p=0 i=22 t=3 pr=3 a=395992 h=0 m=286/0/0/0/0
255.255.255.255 255.255.255.255 192.168.1.46 p=0 i=11 t=3 pr=3 a=395987 h=0 m=281/0/0/0/0
SYSTEM ADAPTER LIST
TAP-Win32 Adapter V9
Index = 22
GUID = {AFA87FA3-638F-459D-8151-DE7887CF3896}
IP = 192.168.40.10/255.255.255.252
MAC = 00:ff:af:a8:7f:a3
GATEWAY = 0.0.0.0/255.255.255.255
DHCP SERV = 192.168.40.9/255.255.255.255
DHCP LEASE OBTAINED = Tue Dec 04 19:37:47 2012
DHCP LEASE EXPIRES = Tue Oct 13 17:16:20 1970
DNS SERV = 192.168.40.1/255.255.255.255

andere adapter

Tue Dec 04 19:38:25 2012 Initialization Sequence Completed With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )


Client ist ein Win7 Ult SP1

Hatte jemand mit seiner OpenVPN Config ein ähnliches Problem und hat eine Lösung gefunden?

Über sinnvolle Beiträge würd ich mehr freuen.

lg z3r0t3n

PS.: Die benutze IP wird NUR für den VPN benutzt, alle anderen vServer laufen über meine Main-IP.

ctFreez
05.12.12, 20:18
Moin,

streich doch mal die Option "push "route-gateway 192.168.40.1""
der gateway wird durch die option "push "redirect-gateway def1"" gesetzt



dev tun
local <janz jeheime ip>
proto tcp-server
port 80
server 192.168.40.0 255.255.255.0
mode server
ifconfig-pool-persist /etc/openvpn/ipp_proxy.txt
tls-server

dh /etc/openvpn/cert/dh1024.pem
ca /etc/openvpn/cert/ca.crt
cert /etc/openvpn/cert/server.crt
key /etc/openvpn/cert/server.key

push "route 192.168.40.0 255.255.255.0"
push "dhcp-option DNS 192.168.40.1"
push "redirect-gateway def1"

cipher AES-256-CBC
client-to-client
status /etc/openvpn/openvpn_proxy-status.log
comp-lzo
verb 3


hast du daran gedacht, das du deine Firewall entsprechend anpassen musst?


...
echo 1 > /proc/sys/net/ipv4/ip_forw

...
iptables -A FORWARD -i $VPN -o $INET -j ACCEPT
iptables -A FORWARD -o $VPN -i $INET -j ACCEPT

iptables -t nat -A POSTROUTING -o $INET -j MASQUERADE
...


ach ja und "mode server" ist redundant ... das wird mit der option server bereits gesetzt ... schlag mal die gesetzten optionen in der man page nach ...

Wenn das problem immernoch besteht, kannst du dann mal die Firewall config posten?

Gruß Felix

z3r0t3n
05.12.12, 21:43
Die Connection funktioniert jetzt soweit und der Traffic wird auch auf den Server geleitet.

Das ich die Firewall manipulieren muss ist mir bekannt, was du geschrieben hast ergibt für mich aber nur mäßig Sinn.

Ich habe es damit probiert (erfolglos):


post-up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.40.0/24 -j MASQUERADE
post-up echo 1 > /proc/sys/net/ipv4/ip_forward

Zusätzlich musste ich auf dem Server noch eine route 192.168.1.0 (meine lokale hier) anlegen, weil die ausgehenden Pakete damit geflaggt sind.


client-config-dir ccd
route 192.168.1.0 255.255.255.0


# cat /etc/openvpn/ccd/admin
iroute 192.168.1.0 255.255.255.0

Allerdings finde ich das etwas unschön, da ein anderer Nutzer mit selber lokaler IP doch dann nichtmehr geht? Gibt es da eine schönere Lösung?