Hin- und Herleiten des Datenverkehrs über einen Mac Mini-Server mit 2 Netzwerkschnittstellen

Ich habe mein Büronetzwerk, das so aussieht:

Netzwerkschema

Mein Büronetzwerk sieht so aus:

  • Das Büronetzwerk (WLAN und Kabel) hat das Subnetzwerk 192.168.88.0.
  • Ich habe einige Servermaschinen im Subnetzwerk 192.168.2.0(NODE_1,.... NODE_10).
  • Ich habe eine Maschine (es ist ein Mac mini) mit 2 Subnetzwerkschnittstellen, die wie folgt fungieren:
    • das Gateway für alle Maschinen im Subnetz 192.168.2.0.
    • stellt einen VPN-Dienst bereit (die Standardanwendung der Mac-Server-App)
    • und bietet zusätzliche Dienste wie DNS)

Die Mac mini Konfiguration ist mein großes Problem. So sieht es aus:

Ethernet-Schnittstelle en0

  • Adresse:192.168.88.10
  • Netzmaske:255.255.255.0
  • Tor:192.168.88.1

Ethernet-Schnittstelle en2

  • Adresse:192.168.2.1
  • Netzmaske:255.255.255.0
  • Tor:192.168.88.10

Ich brauche Routing von Maschinen in 192.168.88.0zu 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.33Ich 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.

VPN-Verbindung

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:

  1. -> 192.168.88.10
  2. -> 192.168.2.1
  3. -> 192.168.2.110
  4. <- 192.168.2.1
  5. <- 192.168.88.1

Das Paket geht an das Gateway 192.168.88.1statt 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:e7ist 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.0und 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.

1. Sie haben zwei Standard-Gateways: Das für en2 eingestellte ist falsch – es sollte nada/nothing sein. 2. Sie haben ein doppeltes NAT: 1. ist Ihr ADSL-Router 2. ist Ihr Mac mini en1>en2 (Internet Sharing!) 3. Ist es möglich, eine statische Route auf Ihrem ADSL-Router einzurichten? 4. Bitte fügen Sie Ihre System-/macOS-Serverversion hinzu. 5. Wie haben Sie die Weiterleitung auf Ihrem ADSL-Router eingerichtet (damit VPN funktioniert)?
3. leider nein 4. El Capitan 5. Ich habe die Ports für das L2TP-Protokoll geöffnet und an die Maschine 192.168.88.10 weitergeleitet.
der router ist der standard vodafone one, die "vodafone station revolution". Es sollte das Huawei hhg2500 sein.
Wo speichern MacOs die Netzwerk-IP-Tabellen und Konfigurationsdateien?

Antworten (1)

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.


  • Deaktivieren Sie die Internetfreigabe
  • Entfernen Sie das Gateway in den en2-Einstellungen des Mac mini und ändern Sie die IP-Adresse auf eine verfügbare in 192.168.88.0/24 (z. B. 192.168.88.11)
  • Entfernen Sie alle zusätzlichen statischen Routen
  • Suchen Sie nach Bridge-Schnittstellen mitifconfig
  • 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
    
  • eingebensudo 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
    
  • Ändern Sie die IP-Adressen von Knoten_1 und Knoten_10 auf verfügbare in 192.168.88.0/24 (z. B. 192.168.88.101 und 192.168.88.110). Ändern Sie ihre Standardgateways auf 192.168.88.1 und den DNS-Server auf 192.168.88.10.
Vielen Dank für die lange Antwort! Eigentlich würde ich es vorziehen, die 192.168.2.0 von der 192.168.88.0 getrennt zu halten. Wäre das mit Bridge möglich?
@JayZee Das macht nicht viel Sinn: Sie möchten von allen Geräten aus auf alles zugreifen, aber ohne Internetfreigabe / NAT. Dann müssen Sie entweder viele zusätzliche statische Routen erstellen (eine Route wird fehlschlagen, weil Sie anscheinend keine statischen Routen auf Ihrem Router hinzufügen können) oder Sie erstellen eine solche Brücke.