Ich habe mein Büronetzwerk, das so aussieht:
Mein Büronetzwerk sieht so aus:
192.168.88.0
.192.168.2.0
(NODE_1,.... NODE_10).192.168.2.0
.Die Mac mini Konfiguration ist mein großes Problem. So sieht es aus:
Ethernet-Schnittstelle en0
192.168.88.10
255.255.255.0
192.168.88.1
Ethernet-Schnittstelle en2
192.168.2.1
255.255.255.0
192.168.88.10
Ich brauche Routing von Maschinen in 192.168.88.0
zu denen in 192.168.2.0
.
Dazu habe ich die "Internet Sharing" -Funktion von Mac OS aktiviert: Eigentlich weiß ich nicht, was unter der Haube passiert, aber die Maschinen NODE_1 ... NODE_10 gehen ins Internet.
Wenn ich dann mit dem Büronetzwerk verbunden bin, bekomme ich eine IP wie: 192.168.88.33
Ich füge eine Routing-Regel hinzu wie:
sudo route -n add 192.168.2.0/24 -gateway 192.168.88.10
So weit so gut: alles funktioniert!!!!!
Das große Problem ist, wenn ich mich über das VPN verbinde.
Ich verbinde mich erfolgreich mit dem VPN, das unter verfügbar gemacht wird: 192.168.88.10
, dann füge ich die Routing-Regel hinzu.
sudo route -n add 192.168.2.0/24 -gateway 192.168.88.10
Ich kann die Maschinen im Subnetz nicht erreichen 192.168.2.0
.
Beim Sniffen der Pakete sehe ich, dass die Pakete den Hops folgen:
Das Paket geht an das Gateway 192.168.88.1
statt an die 192.168.88.10
. Wenn ich in die Mac mini-Routingtabellen schaue, sehe ich:
192.168.88.202 192.168.88.10 UH 2 93 ppp1
192.168.88.202 40:6c:8f:3:d5:e7 UHLS2 0 0 en0
40:6c:8f:3:d5:e7
ist die MAC-Adresse von 192.168.88.1
.
Ich möchte das Routing ändern, ohne die Internetfreigabe zu verwenden, um den Internetzugang für zuzulassen 192.168.2.0
und sowohl das VPN- als auch das lokale Szenario abzudecken, aber ich weiß nicht, welche Schritte ich ausführen muss und wie ich die Regeln handschriftlich schreibe.
Vielen Dank.
Es sollte möglich sein, eine Brücke mit en0 und en2 zu erstellen und net.inet.ip.forwarding zu aktivieren, um alle Routing-Probleme zu beseitigen. Die Brücke fungiert mehr oder weniger als ein weiterer Schalter zwischen en0 und en2.
ifconfig
Erstellen Sie auf dem Server eine Dateibrücke :
sudo mkdir -p /usr/local/bin/ #only if the folder is missing
sudo nano /usr/local/bin/bridge
mit dem Inhalt
#!/bin/bash
sysctl -w net.inet.ip.forwarding=1
ifconfig bridge create
ifconfig bridge0 addm en0 addm en2 up #use the first available bridge number here and the proper interface device names
sudo chmod +x nano /usr/local/bin/bridge
Erstellen Sie einen Start-Daemon usr.bridge.plist :
sudo nano /Library/LaunchDaemons/usr.bridge.plist
mit dem Inhalt
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>usr.bridge</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>/usr/local/bin/bridge</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/usr.bridge.err</string>
<key>StandardOutPath</key>
<string>/tmp/usr.bridge.out</string>
</dict>
</plist>
Laden Sie die Liste
sudo launchctl load /Library/LaunchDaemons/usr.bridge.plist
klanomath
JayZee
JayZee
JayZee