Configura il tuo server come un gateway interno simile alla configurazione di rete in questa domanda :
Router <-- ethernet (or Wi-Fi) --> Server <-- ethernet --> switch <-> internal network
Quindi regola tutte le impostazioni come indicato nella mia risposta qui:
Presumo i seguenti indirizzi IP / maschere di rete:
Router: 192.168.0.1/24
Server: en0: 192.168.0.2/24 gateway 192.168.0.1 en1: 192.168.1.2/24
Internal network: 192.168.1.0/24
-
Per prima cosa devi abilitare l'inoltro sul tuo computer server con i seguenti comandi:
sudo sysctl -w net.inet.ip.forwarding=1
sudo sysctl -w net.inet.ip.fw.enable=1
-
Per fare NAT devi creare una regola pfctl. Crea un file chiamato "nat-rules" con il seguente contenuto:
nat on en0 from en1 to any -> (en0)
-
Salva il file e ora avvia pfctl usando la regola dal file che abbiamo creato in precedenza:
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
-
Ora configura una route statica sul tuo router:
192.168.1.0/24 (la rete interna) - > 192.168.0.2 (indirizzo IP del server dell'interfaccia esterna collegata al router)
-
Abilita il servizio DHCP sul tuo server:
- Nome: scegli un nome
- Interfaccia di rete: en1
- Indirizzo IP iniziale: 192.168.1.10
- Fine indirizzo IP: 192.168.1.100
- Subnet Netmask: 255.255.255.0
- Router: 192.168.1.2
- DNS: alcuni o il tuo server DNS (ad esempio 8.8.8.8 o 192.168.1.2)
-
Ora usa pfctl per aggiungere regole o ottenere una GUI pfctl come IceFloor o Murus per configurare il firewall. Entrambe le app dovrebbero consentire anche di abilitare NAT (passaggio 2/3). È possibile definire due diversi set di regole: uno che consente al computer di accedere a Internet solo dalla rete interna e uno diverso che non limita l'accesso a Internet.