[OT] localhost routing mit OpenVPN auf OS X

From: Fabian Peters <lists.fabian(at)e-lumo.com>
Date: Sat, 14 Jul 2007 10:59:51 +0200

Hallo zusammen,

ich habe ein seltsames Problem mit OpenVPN unter OS X, für das sich
bisher weder auf der OpenVPN Liste noch einer OS X Admin Liste eine
Lösung gefunden hat. Nachdem ich in dieser Liste das meiste Wissen in
Sachen Netzwerk und routing vermute, versuche ich hier noch einmal
mein Glück...

Ich habe eine ältere OpenVPN-Installation im Zuge eines Server-Umzugs
abgestellt und durch eine neue ersetzt. Die alte Installation nutzte
IPs im Bereich 10.100.100.x, die neue ist in 10.10.10.x zuhause.
Außerdem habe ich noch das Format für Schlüssel und Zertifikate auf
PKCS #12 umgestellt (was aber wohl nicht die Ursache für mein Problem
ist...). Ansonsten hat sich an der Konfiguration nichts verändert.

Mein Rechner (unter OS X 10.4.10) hängt in einem kleinen LAN
(10.0.0.x) und hat die IP 10.0.0.6. Der router des LANs hat die
10.0.0.1.

Während OpenVPN nicht läuft ist alles in Ordnung. "netstat -rn" liefert:

Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGSc 40 8 en0
10/24 link#4 UCS 3 0 en0
10.0.0.1 XX:XX:XX:XX:X:X UHLW 38 33 en0 1154
10.0.0.6 127.0.0.1 UHS 0 0 lo0
10.0.0.7 XX:XX:XX:XX:X:X UHLW 1 5001 en0 507
10.0.0.255 ff:ff:ff:ff:ff:ff UHLWb 0 3 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 10 5865 lo0
169.254 link#7 UC 0 0 fw0

Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en1/64 link#5 UC en1
ff01::/32 ::1 U lo0
ff02::/32 ::1 UC lo0
ff02::/32 link#5 UC en1

Nach erfolgreicher Verbindung mit dem entfernten OpenVPN server,
werden zwei Befehle ausgeführt:

ifconfig tun0 10.10.10.10 127.0.0.1 mtu 1500 netmask 255.255.255.255 up
route add -net 10.10.10.0 127.0.0.1 255.255.255.0

Diese sehen für mich korrekt aus und werden erfolgreich ausgeführt.
"netstat -rn" zeigt dann:

Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGSc 40 9 en0
10/24 link#4 UCS 2 0 en0
10.0.0.1 XX:XX:XX:XX:X:X UHLW 38 33 en0 936
10.0.0.6 127.0.0.1 UHS 0 0 lo0
10.0.0.7 XX:XX:XX:XX:X:X UHLW 1 408 en0 289
10.10.10/24 127.0.0.1 UGSc 1 8 tun0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 14 182 lo0
169.254 link#7 UC 0 0 fw0

Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en1/64 link#5 UC en1
ff01::/32 ::1 U lo0
ff02::/32 ::1 UC lo0
ff02::/32 link#5 UC en1

Verbindungen zum OpenVPN server und zu anderen clients im VPN
funktionieren einwandfrei. Aber, Verbindungen zu 127.0.0.1 werden nun
von der VPN-Adresse meines Rechners (10.10.10.10) aus gestartet.
"lsof -i" zeigt für eine telnet-Verbindung zu 127.0.0.1:

telnet 16347 502 3u IPv4 0x4f6da8c 0t0 TCP
10.10.10.10:54293->127.0.0.1:telnet (SYN_SENT)

Da auf meinem Rechner kein telnetd läuft, erwarte ich folgendes
umgehend zu sehen:

telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host

Stattdessen kommt nach einer ganzen weile (30 Sekunden?) ein timeout:

Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Operation timed out
telnet: Unable to connect to remote host

Wird gethostbyname ausgeführt und gibt 10.10.10.10 zurück? Wenn ja,
wieso tut es das wohl? Und vor allem, kann man es irgendwie davon
überzeugen 127.0.0.1 zurückzugeben (außer OpenVPN zu beenden)?

Ich habe beim vielen Suchen ein paar Hinweise gefunden, daß OS X hier
einmal durch seltsames Verhalten aufgefallen zu sein scheint, aber
das ist wohl schon lange her (OS X 10.2).

Hinweise aller Art sind herzlich willkommen, denn das Problem ist
äußerst lästig, schließlich wird an vielen Stellen zu localhost
verbunden...

Fabian

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 14 Jul 2007 - 11:01:08 CEST

search this site