OpenVPN/Gateway: Ping ja, HTTP-Verbindung ja, HTTP-Content nein

22/12/2007 - 15:22 von Claudius Hubig | Report spam
Hallo Gruppe,

ich bin derzeit damit beschàftigt, einen OpenVPN-Server so
aufzusetzen, dass der gesamte Traffic der Clienten über diesen Server
geht, um so zum Beispiel meine Daten aus risikobehafteten Netzwerken
verschlüsselt rauszuschaffen.

Der Server hat die externe IP y.y.y.y und ist ein Strato v-Server,
weshalb Masquerading nicht, SNAT aber sehr wohl zur Verfügung steht.

Mein Problem ist nun, dass der Client fàhig ist, DNS-Queries
rauszuschicken (und die Antworten zu empfangen) und jeden beliebiegen
Host im Netz anpingen kann. Traceroute funktioniert auch und zeigt
den OpenVPN-Server als ersten "Hop" an. Möchte ich jedoch zum
Beispiel eine Website ansurfen, wird die Verbindung noch aufgebaut,
mehr passiert aber nicht.

Hier die Konfiguration:

OpenVPN/Server:
################################################################
port 1195
proto udp
dev tun
ca x.crt
cert x.crt
key x.key
dh x.pem
server 10.43.0.0 255.255.255.0
ifconfig-pool-persist 4x.txt
client-to-client
keepalive 5 240
tls-auth x.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status x.log
log-append x.log
verb 3

push "redirect-gateway"
push "dhcp-option DNS 208.67.222.222" #OpenDNS-Server
push "dhcp-option DNS 208.67.220.220"

tun-mtu 1500
fragment 1300
mssfix
################################################################

OpenVPN/Client:
################################################################
client
dev tun
proto udp
remote y.y.y.y 1195
nobind
user nobody
group nogroup
persist-key
persist-tun
mute-replay-warnings
ca x.crt
cert x.crt
key x.key
ns-cert-type server
tls-auth x.key 1
comp-lzo

tun-mtu 1500
fragment 1300
mssfix
################################################################


route/Server:
################################################################
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
10.43.0.2 * 255.255.255.255 UH 0 0 0 tun0
191.255.255.1 * 255.255.255.255 UH 0 0 0 venet0
10.43.0.0 10.43.0.2 255.255.255.0 UG 0 0 0 tun0
default 191.255.255.1 0.0.0.0 UG 0 0 0 venet0
################################################################

route/Client:
################################################################
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.43.0.5 * 255.255.255.255 UH 0 0 0 tun0
y.y.y.y 192.168.2.1 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
10.43.0.0 10.43.0.5 255.255.255.0 UG 0 0 0 tun0
default 10.43.0.5 0.0.0.0 UG 0 0 0 tun0
################################################################

ifconfig/Server:
################################################################
lo Protokoll:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1230357678 errors:0 dropped:0 overruns:0 frame:0
TX packets:1631506364 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlànge:0
RX bytes:1148825085 (1.0 GiB) TX bytes:1103732702 (1.0 GiB)

tun0 Protokoll:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet Adresse:10.43.0.1 P-z-P:10.43.0.2 Maske:255.255.255.255
UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:92 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlànge:10
RX bytes:6883 (6.7 KiB) TX bytes:13939 (13.6 KiB)

venet0 Protokoll:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet Adresse:127.0.0.1 P-z-P:127.0.0.1 Bcast:0.0.0.0 Maske:255.255.255.255
UP BROADCAST PUNKTZUPUNKT RUNNING NOARP MTU:1500 Metric:1
RX packets:925338 errors:0 dropped:0 overruns:0 frame:0
TX packets:908250 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlànge:0
RX bytes:138315900 (131.9 MiB) TX bytes:159719054 (152.3 MiB)

venet0:0 Protokoll:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet Adresse:y.y.y.y P-z-P:y.y.y.y Bcast:0.0.0.0 Maske:255.255.255.255
UP BROADCAST PUNKTZUPUNKT RUNNING NOARP MTU:1500 Metric:1
################################################################

ifconfig/Client:
################################################################
eth0 Link encap:Ethernet HWaddr 00:16:d3:2f:62:b3
inet addr:192.168.2.13 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:576 Metric:1
RX packets:1201 errors:90 dropped:0 overruns:0 frame:90
TX packets:1189 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:157574 (153.8 KiB) TX bytes:175855 (171.7 KiB)
Interrupt:177

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1280 (1.2 KiB) TX bytes:1280 (1.2 KiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.43.0.6 P-t-P:10.43.0.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:87 errors:0 dropped:0 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:6022 (5.8 KiB) TX bytes:6883 (6.7 KiB)
################################################################

iptables -L/Server:
################################################################
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level notice prefix `FORWARD '

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain fail2ban-courierpop3 (0 references)
target prot opt source destination

Chain fail2ban-ssh (0 references)
target prot opt source destination
################################################################

iptables -L -t nat/Server:
################################################################
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT 0 -- 10.43.0.0/24 anywhere to:y.y.y.y

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
################################################################

iptables -L/Client:
################################################################
Chain INPUT (policy ACCEPT)
target prot opt source destination
LOG all -- anywhere anywhere LOG level notice prefix `INPUT tun0::'

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
################################################################

Ein "ping -c 1 google.de" (google.de aufgelöst zu 216.239.59.104)
ergibt im Syslog des Servers nun folgende Ausgabe:

################################################################
Dec 22 15:13:15 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC 8.67.222.222 DST.43.0.6 LEN3 TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENƒ
Dec 22 15:13:15 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC!6.239.59.104 DST.43.0.6 LEN„ TOS=0x00 PREC=0x00 TTL$3 ID=0 DF PROTO=ICMP TYPE=0 CODE=0 IDQ214 SEQ=1
Dec 22 15:13:15 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC 8.67.222.222 DST.43.0.6 LENs TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENS
################################################################

Ich weiß zwar nicht, warum das hingeschickte Paket nicht auftaucht, aber auf jeden Fall kommt alles beim Client an:

################################################################
Dec 22 15:12:57 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC 8.67.222.222 DST.43.0.6 LEN3 TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENƒ
Dec 22 15:12:57 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC!6.239.59.104 DST.43.0.6 LEN„ TOS=0x00 PREC=0x00 TTL$3 ID=0 DF PROTO=ICMP TYPE=0 CODE=0 IDQ214 SEQ=1
Dec 22 15:12:57 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC 8.67.222.222 DST.43.0.6 LENs TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENS
################################################################

Ein "wget google.de" sieht jedoch so aus (nach einer weile durch ^C abgebrochen):
################################################################
wget google.de
=> `index.html'
Resolving google.de... 72.14.221.104, 66.249.93.104, 216.239.59.104
Connecting to google.de|72.14.221.104|:80... connected.
HTTP request sent, awaiting response...
################################################################

Gleichzeitig im Syslog des Servers:
################################################################
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC 8.67.222.222 DST.43.0.6 LENU TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LEN5
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC 8.67.222.222 DST.43.0.6 LENU TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LEN5
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRC 8.67.222.222 DST.43.0.6 LEN3 TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENƒ
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LEN` TOS=0x00 PREC=0x00 TTLV ID27 PROTO=TCP SPT€ DPTX223 WINDOWV72 RES=0x00 ACK SYN URGP=0
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LENR TOS=0x00 PREC=0x00 TTLV ID28 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK URGP=0
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LEN`9 TOS=0x00 PREC=0x00 TTLV ID30 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK PSH URGP=0
Dec 22 15:15:16 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LEN`9 TOS=0x00 PREC=0x00 TTLV ID32 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK PSH URGP=0
Dec 22 15:15:17 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LEN`9 TOS=0x00 PREC=0x00 TTLV ID34 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK PSH URGP=0
Dec 22 15:15:18 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LEN`9 TOS=0x00 PREC=0x00 TTLV ID36 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK PSH URGP=0
Dec 22 15:15:18 foobar kernel: FORWARD IN=venet0 OUT=tun0 SRCr.14.221.104 DST.43.0.6 LENR TOS=0x00 PREC=0x00 TTLV ID38 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK FIN URGP=0
################################################################

Und in dem des Clienten fehlen ganz eindeutig Pakete:
################################################################
Dec 22 15:14:58 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC 8.67.222.222 DST.43.0.6 LENU TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LEN5
Dec 22 15:14:58 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC 8.67.222.222 DST.43.0.6 LENU TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LEN5
Dec 22 15:14:58 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRC 8.67.222.222 DST.43.0.6 LEN3 TOS=0x00 PREC=0x00 TTLW ID=0 DF PROTO=UDP SPTS DPT2807 LENƒ
Dec 22 15:14:58 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRCr.14.221.104 DST.43.0.6 LEN` TOS=0x00 PREC=0x00 TTLV ID27 PROTO=TCP SPT€ DPTX223 WINDOWV72 RES=0x00 ACK SYN URGP=0
Dec 22 15:14:58 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRCr.14.221.104 DST.43.0.6 LENR TOS=0x00 PREC=0x00 TTLV ID28 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK URGP=0
Dec 22 15:15:00 hermes kernel: INPUT tun0::IN=tun0 OUT= MAC= SRCr.14.221.104 DST.43.0.6 LENR TOS=0x00 PREC=0x00 TTLV ID38 PROTO=TCP SPT€ DPTX223 WINDOW‰ RES=0x00 ACK FIN URGP=0
################################################################

Hat hier vielleicht jemand eine Idee, die zur Lösung des Problems
beitragen könnte?

Grüsse und frohe Festtage,

Claudius
Mail: nfs_2007@chubig.net ICQ: 224491597 ,= ,-_-. =.
Google: clhubig@googlemail.com SIP: x2017@ekiga.net ((_/)o o(\_))
MSN: claudiushubig@passport.com Jabber: x2017@jabber.ccc.de `-'(. .)`-'
Yahoo: claudiushubig@yahoo.de HTTP: http://www.chubig.net \_/ GNU
 

Lesen sie die antworten

#1 Claudius Hubig
22/12/2007 - 19:36 | Warnen spam
Hi,

die Umstellung auf TCP statt UDP im VPN hat das Problem gelöst. Nunja.

Grüsse,

Claudius
Mail: ICQ: 224491597 ,= ,-_-. =.
Google: SIP: ((_/)o o(\_))
MSN: Jabber: `-'(. .)`-'
Yahoo: HTTP: http://www.chubig.net \_/ GNU

Ähnliche fragen