Ich verwende einen MacMini Mitte 2010 als Server. OS X 10.11.3 und Server 5.0.15. Ich verbinde mich über das eingebaute Ethernet ( Ethernet ) mit dem Internet und habe einen USB-zu-GigaBit-Ethernet-Adapter ( Ethernet 2 ), der zu einem drahtlosen AP ( WAP ) geht .
Ich habe DHCP- und DNS-Dienste konfiguriert und aktiviert. Wenn ich ICS im Sharing Control Panel einschalte, ignoriert es den DHCP-Dienst des Servers, erlaubt mir jedoch, von meinen Clients aus eine Verbindung zum Internet herzustellen. Dies unterbricht auch das lokale DNS, es sei denn, ich beginne, IPs und dergleichen zu ändern. Wenn ich es ausschalte, bekomme ich die Kontrolle über den DHCP-Server, aber es wird keine Verbindung zum Internet hergestellt.
Wie kann ich BEIDE verwenden? Oder konfigurieren Sie zumindest die Einstellungen auf dem Server richtig, um die Ethernet- und Ethernet 2-Adapter zu "überbrücken", um meinen Clients den Internetzugang zu ermöglichen?
Ich suche irgendwo nach einer NAT-Funktion, die NICHT die gemeinsame Nutzung der Internetverbindung in der Systemsteuerung für die gemeinsame Nutzung ist.
Eingebaute Ethernet-Konfiguration:
Konfiguration des USB-zu-GigaBit-Adapters:
DHCP:
WAP:
DNS:
Ich bin mir nicht sicher, welche anderen Informationen ich hier eingeben soll, es ist spät und ich bin müde ...
Stellen Sie mir einige Fragen und lassen Sie mich wissen, wenn Sie einen Einblick in die neue 5.0.15 server.app haben
Die neuesten Versionen von OS X Server bieten keine Tools zum Aktivieren von NAT/Routing in OS X.
Damit NAT ohne Internetfreigabe funktioniert, müssen Sie eine pf-Regel verwenden und eine plist erstellen, um die Weiterleitung zu aktivieren und die pf-Regel zu laden:
Im Folgenden gehe ich von en0 aus: die mit dem Kabelmodem verbundene Schnittstelle und en1: die mit dem LAN verbundene Schnittstelle. DHCP und DNS sind im internen LAN richtig eingerichtet.
Erstellen Sie eine pf-NAT-Regel:
Erstellen Sie eine Datei namens nat-rules in /private/etc/ mit folgendem Inhalt
nat on en0 from en1 to any -> (en0)
Erstellen Sie ein Shell-Skript namens nat-pf.sh , das die Weiterleitung und das Laden der pf-Regel ermöglicht. Ich habe es in /usr/local/ gespeichert:
#!/bin/sh
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.ip.fw.enable=1
#disables pfctl
pfctl -d
sleep 1
#flushes all pfctl rules
pfctl -F all
sleep 1
#starts pfctl and loads the rules from the nat-rules file
pfctl -f /private/etc/nat-rules -e
Erstellen Sie eine Plist namens org.user.natpf.plist mit folgendem Inhalt und speichern Sie sie in /Library/LaunchDaemons/, um das obige Shell-Skript beim Start auszuführen:
<?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>Disabled</key>
<false/>
<key>KeepAlive</key>
<dict>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>Label</key>
<string>org.user.natpf</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/nat-pf.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/org.user.natpf.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.user.natpf.stdout</string>
</dict>
</plist>
Alle drei Dateien benötigen eine abschließende Leerzeile, kopieren Sie also nicht einfach den obigen Code/die obigen Zeilen.
Eigentums- und Dateimodi ändern:
sudo chown root:wheel /private/etc/nat-rules
sudo chown root:wheel /usr/local/nat-pf.sh
sudo chmod 755 /usr/local/nat-pf.sh
sudo chown root:wheel /Library/LaunchDaemons/org.user.natpf.plist
Laden Sie den Launch-Daemon:
sudo launchctl load /Library/LaunchDaemons/org.user.natpf.plist
Nachdem Sie alles getestet haben, können Sie den folgenden Teil in der plist löschen:
<key>StandardErrorPath</key>
<string>/tmp/org.user.natpf.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.user.natpf.stdout</string>
org.user.natpf.stderr liefert Fehlermeldungen zum Debuggen Ihrer plist.
Auf meinem lokalen Router musste ich eine statische Route hinzufügen:
192.168.3.0/24 (das interne Netzwerk) -> 192.168.0.2 (Mac mini IP-Adresse der externen Schnittstelle, die mit dem Router verbunden ist)
Dieser letzte Schritt gilt möglicherweise nicht für Ihre Netzwerkumgebung!
Medbot
klanomath
Takagami