Wie kann ich meinen Mac (OS X Yosemite) als Internet-Gateway einrichten?

6

Es sollte möglich sein, aber ich habe nach einem Tag gesucht und bekomme kein anständiges HowTo. Es schien einen Gateway-Einrichtungsassistenten zu geben, aber der Wikipedia-Link geht jetzt nur noch zur Server-App. Vielleicht ist es einfacher als ich denke, aber ich kann es nicht zum Laufen bringen.

Das Setup sollte sein:

Router <- USB-Ethernet -> MAC_GW <- Ethernet -> Switch <-> internes Netzwerk

Der MAC_GW ist ein Mac Mini (OS X Yosemite) mit einem USB-Ethernet-Adapter. Über diesen Adapter ist vom Mac Mini aus ein Internetzugang möglich. WiFi ist vorerst deaktiviert.

Ich habe die server.app installiert und den DHCP-Dienst gestartet, damit den Computern im internen Netzwerk IP-Adressen zugewiesen werden. Leider zeigt die Server-App keine Einstellungen für Gateway, NAT, Bridging, Firewall. Die Hilfefunktion ist genauso hilfreich wie die Website mit Apple-Funktionen. :(

Nun zur Frage: Was muss ich konfigurieren, damit Maschinen aus dem internen Netzwerk Zugang zum Internet erhalten?

Zusätzlich: Wie kann ich eine Firewall einrichten, um den Zugriff von außen zu steuern?

UPDATE: Wie @Froggard angedeutet hat, hat Internet Sharing den Zugriff auf das interne Netzwerk ermöglicht. Ich habe jedoch keine Kontrolle über die vom Server, der Firewall, dem Benutzerzugriff usw. angegebenen DHCP-Adressen. Die server.app-DHCP-Funktion ist jetzt deaktiviert, da sie nicht dem internen Netzwerkadapter zugewiesen werden kann.

Vielleicht kann jemand noch Details dazu geben, wie man die Firewall aktiviert oder die beteiligten Komponenten steuert?

gpinkas
quelle
Haben Sie versucht, das Internet zu teilen? Ich glaube, das wird zumindest einen Teil davon ausmachen.
William T Froggard

Antworten:

10

OS X Yosemite unterstützt natd binary oder ipfw nicht mehr. Stattdessen wird pfctl verwendet.

Ich gehe von folgenden IP-Adressen / Netzmasken aus:

Router: 192.168.0.1/24
Mac mini gateway: en0: 192.168.0.2/24 gateway 192.168.0.1 en1: 192.168.1.2/24
Internal network: 192.168.1.0/24
  1. Zuerst müssen Sie die Weiterleitung auf Ihrem Mac mit folgenden Befehlen aktivieren:

    sudo sysctl -w net.inet.ip.forwarding=1
    
  2. Um NAT zu machen, müssen Sie eine pfctl-Regel erstellen. Erstellen Sie eine Datei namens "nat-rules" mit folgendem Inhalt:

    nat on en0 from en1 to any -> (en0)
    
  3. Speichern Sie die Datei und starten Sie nun pfctl mit der Regel aus der zuvor erstellten Datei:

    sudo pfctl -d #disables pfctl
    sudo pfctl -F all #flushes all pfctl rules
    sudo pfctl -f /Path/to/file/nat-rules -e #starts pfctl and loads the rules from the nat-rules file
    
  4. Konfigurieren Sie nun eine statische Route auf Ihrem Router:

    192.168.1.0/24 (das interne Netzwerk) -> 192.168.0.2 (Mac mini IP-Adresse der an den Router angeschlossenen externen Schnittstelle)

  5. Aktivieren Sie den DHCP-Dienst auf Ihrem Mac mini Gateway:

    • Name: Wählen Sie einen Namen
    • Netzwerkschnittstelle: en1
    • Start-IP-Adresse: 192.168.1.10
    • Endende IP-Adresse: 192.168.1.100
    • Subnetz-Netzmaske: 255.255.255.0
    • Router: 192.168.1.2
    • DNS: einige DNS-Server (zB 8.8.8.8)
  6. Verwenden Sie nun pfctl, um Regeln hinzuzufügen, oder rufen Sie eine pfctl-GUI wie IceFloor oder Murus auf, um Ihre Firewall zu konfigurieren. Beide Apps sollten es Ihnen auch ermöglichen, NAT zu aktivieren (Schritt 2/3)

klanomath
quelle
2

Haben Sie versucht, Systemeinstellungen > Internetfreigabe freizugeben und zu aktivieren (wählen Sie die USB-Verbindung zum Router als Internetschnittstelle aus, die Sie freigeben)?

samh
quelle
Das ist die einfachste Antwort und hat für mich einwandfrei funktioniert.
29.
Aber wie werden IP-Adressen auf Mac (der als Router verwendete Mac) und anderen Computern konfiguriert?
Gefrorene Flamme
1

Als Erweiterung von Samhs Antwort und zur Beantwortung der Frage im Kommentar von Frozen Flame erfahren Sie hier, wie Sie die Internetfreigabe verwenden und auch steuern können, welcher IP-Adressbereich verwendet wird:

Ändern Sie den Standard-DHCP-IP-Bereich für macOS Internet Sharing

macOS verwendet standardmäßig 192.168.0.xxx als DHCP-Bereich, wenn Sie die Internetfreigabefunktion verwenden, um (zum Beispiel) eine Ethernet-Verbindung über WLAN freizugeben.

Dies kann problematisch sein, wenn Sie versuchen, sich über VPN bei einem anderen Netzwerk anzumelden, das denselben IP-Adressbereich verwendet, oder wenn ein anderer Konflikt vorliegt.

Um den von macOS verwendeten Bereich zu ändern, deaktivieren Sie zuerst die Internetfreigabe und beenden Sie die Systemeinstellungen. Geben Sie anschließend die folgenden Befehle in das Terminal ein:

(Sie können die ersten beiden IP-Bereiche nach Bedarf ersetzen.)

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkNumberStart 192.168.22.1
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkNumberEnd 192.168.22.254
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat NAT -dict-add SharingNetworkMask 255.255.255.0

Öffnen Sie dann die Systemeinstellungen erneut und aktivieren Sie die Internetfreigabe erneut.

Verwenden Sie den folgenden Befehl, um die aktuelle Konfiguration auszulesen:

sudo defaults read /Library/Preferences/SystemConfiguration/com.apple.nat

Und das war's auch schon!

Die Befehle zum Einstellen der NAT-Bereiche habe ich ursprünglich hier gefunden: http://hints.macworld.com/article.php?story=20090510120814850

Michael Smart
quelle