Mac OS X 10.8 VPN-Server: VPN für LAN-Verkehr umgehen (LAN-Verkehr an sekundäre Verbindung weiterleiten)


10

Ich habe ein seltsames Setup für einen VPN-Server mit OS X Mountain Lion. Es wird im Wesentlichen als Brücke verwendet, um die Firewall meines Unternehmens an unsere Extranet-Verbindung zu umgehen. Bestimmte Dinge, die unser Team tun muss, erfordern uneingeschränkten Zugriff nach außen, und eine Änderung der IT-Richtlinien, um den Datenverkehr durch die Haupt-Firewall zuzulassen, ist einfach keine Option.

Die Extranet-Verbindung wird über einen Wireless-N-Router bereitgestellt (nennen wir es Wi-Fi X). Mein Mac Mini-Server ist mit der Verbindung zu diesem Router als primäre Verbindung konfiguriert, sodass der Zugriff auf das Internet über den Router ungehindert ist. Verbindungen zu diesem Gerät im unmittelbaren Subnetz sind über den LAN-Port möglich, aber außerhalb des Subnetzes sind die Dinge weniger zuverlässig.

Ich konnte den VPN-Server so konfigurieren, dass Clients im Bereich 192.168.11.150-192.168.11.200 IP-Adressen über PPTP und L2TP bereitgestellt werden, und ich kann über das VPN mit dem Standard-Mac OS X-VPN eine Verbindung zum Extranet herstellen Client in den Systemeinstellungen, jedoch nicht überraschend, gibt eine lokale Adresse (nennen wir sie internal.company.com) nichts zurück.

Ich habe versucht, die Einschränkung des VPN-Servers zu umgehen, indem ich Routen in den VPN-Einstellungen eingerichtet habe. Unser Unternehmen verwendet 13.xxx für den gesamten internen Datenverkehr anstelle von 10.xxx. Die Routing-Tabelle sah also ungefähr so ​​aus:

IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0               248.0.0.0              Private
8.0.0.0               252.0.0.0              Private
12.0.0.0              255.0.0.0              Private
13.0.0.0              255.0.0.0              Public
14.0.0.0              254.0.0.0              Private
16.0.0.0              240.0.0.0              Private
32.0.0.0              224.0.0.0              Private
64.0.0.0              192.0.0.0              Private
128.0.0.0             128.0.0.0              Private

Ich hatte den Eindruck, dass der gesamte Datenverkehr über das VPN geleitet wurde, wenn hier nichts eingegeben wurde. Wenn etwas eingegeben wird, wird nur der speziell für das VPN gekennzeichnete Datenverkehr durch das VPN geleitet, und der gesamte andere Datenverkehr kann vom Client über seine eigene Standardverbindung abgerufen werden. Aus diesem Grund musste ich jedes Subnetz außer 13.xxx speziell als privat markieren.

Mein Verdacht ist, dass ich den VPN-Server nicht von außerhalb des lokalen Subnetzes erreichen kann, keine Verbindung zum Haupt-DNS-Server herstelle und daher im größeren Netzwerk nicht erreichbar bin. Ich denke, dass die Eingabe von Hostnamen wie internal.company.com nicht zur Auflösung an den Client zurückgeschickt wird, da der Server keine Ahnung hat, dass die IP-Adresse in den öffentlichen Bereich fällt, da ich vermute (wahrscheinlich sollte Ping es aber testen Ich habe momentan keinen Zugriff darauf), dass es den DNS-Server nicht erreichen kann, um etwas über diesen Hostnamen herauszufinden.

Es scheint mir, dass alle meine Optionen zur Lösung dieses Problems auf dieselbe Art von Lösung hinauslaufen:

Finden Sie heraus, wie Sie den DNS mit der sekundären Verbindung auf dem Server erreichen. Ich denke, wenn ich in der Lage bin, [etwas] zu tun, damit mein Server erkennt, dass er auch mein lokales Gateway überprüfen sollte (sagen wir Server IP == 13.100.100.50 und Gateway IP == 13.100.100.1). Von dort aus kann Gateway IP mich auffordern, DNS Server unter 13.1.1.1 zu suchen und mir Informationen über mein internes Netzwerk zu geben. Ich bin sehr verwirrt über diesen Weg - wirklich nicht sicher, ob ich überhaupt Sinn mache.

Ich habe darüber nachgedacht, diese Clientseite zu verwenden, aber das macht auch keinen Sinn, da dies jedem einzelnen clientseitigen Setup Zeit hinzufügen würde. Außerdem scheint es nur logischer, es auf dem Server zu lösen - ich könnte entweder meine Routing-Tabelle ganz entfernen oder behalten - ich denke, der einzige Unterschied wäre, dass der interne Datenverkehr auch über den Server gehen würde - wahrscheinlich eine unnötige Belastung für den Server es.

Hilfe da draußen? Oder bin ich über meinem Kopf? Forward-Proxy oder transparenter Proxy ist für mich ebenfalls eine Option, obwohl ich keine Ahnung habe, wie ich eines davon einrichten soll. (Ich weiß, Google ist mein Freund.)


Vielleicht kann dieser andere Beitrag hilfreich sein: superuser.com/questions/453766/…
Lorenzo Von Matterhorn

Antworten:


2

Nun, ich probiere es aus:

Ich bin mir nicht sicher, wie ich nur etwas Verkehr durchbringen kann. Ich kann Ihr Problem lösen, aber es würde eine kleine Änderung Ihres Setups erfordern. Ich gehe davon aus, dass Ihr Mac zwei Netzwerkschnittstellen hat. Nennen wir sie eth0 und eth1 :-)

Wir gehen davon aus, dass eth0 mit Ihrem Arbeitsnetzwerk verbunden ist und eine interne Adresse (Arbeitsnetzwerk) von 13.1.1.6, Subnetz 255.0.0.0 hat.

Wir gehen auch davon aus, dass eth1 mit Ihrem WiFi X verbunden ist und eine Adresse (eth1 <---> WiFi X-Netzwerk) von 192.168.1.10, Subnetz 255.0.0.0 hat, um die Dinge einfach zu halten.

Ich habe VPN-Server unter BSD und Linux eingerichtet, aber nicht unter Mac. Das Konzept bleibt jedoch unverändert. Sie haben Optionen. Ich werde eine auflisten:

1) Stellen Sie sicher, dass die Routing-Tabelle auf dem Mac einen Eintrag wie folgt enthält:

$>sudo route add 13.0.0.0/8 eth0

Dadurch wird sichergestellt, dass der Datenverkehr über die WiFi X- oder VPN-Schnittstelle, die für das Netzwerk Ihres Unternehmens (das 13-Netzwerk) bestimmt ist, dort eingeht. Ohne dies hat der Mac (der die Bridge bereitstellt) wirklich keine Möglichkeit zu wissen, wie der Verkehr zwischen den beiden Schnittstellen weitergeleitet wird, und er versucht standardmäßig, ihn über die von Ihnen angegebene Standardschnittstelle (WiFi X) zu senden.

Ich würde rückgängig machen, was Sie mit der obigen VPN-Routing-Tabelle gemacht haben, und dies versuchen, wenn es nicht (hoffentlich) bereits vorhanden ist.

Wenn dies nicht der Fall ist, aktualisieren Sie bitte die Routing-Tabelle und die IP-Adressliste Ihres VPN-Servers oder aktualisieren Sie sie mit einem Fix, auf den Sie gestoßen sind. Hoffe das weist dich in die richtige Richtung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.