¿Cómo puedo configurar mi Mac (OS X Yosemite) como puerta de enlace a Internet?

Debería ser posible, pero busqué un día y no puedo obtener un HowTo decente. Parecía haber un asistente de configuración de puerta de enlace, pero el enlace de Wikipedia ahora solo va a la aplicación del servidor. Tal vez sea más fácil de lo que pienso, pero no puedo hacerlo funcionar.

La configuración debe ser:

Enrutador <-- USB ethernet --> MAC_GW <-- ethernet --> conmutador <-> red interna

El MAC_GW es un Mac Mini (OS X Yosemite) con un adaptador Ethernet USB. El acceso a Internet es posible desde el Mac Mini a través de este adaptador. WiFi está deshabilitado por ahora.

Instalé server.app y ejecuté el servicio DHCP, por lo que las máquinas en la red interna obtienen direcciones IP asignadas. Desafortunadamente, la aplicación del servidor no muestra ninguna configuración para puerta de enlace, NAT, puente, firewall. La función de ayuda es tan útil como el sitio web de características de Apple. :(

Ahora la pregunta: ¿Qué debo configurar para que las máquinas de la red interna tengan acceso a Internet?

Además: ¿Cómo puedo configurar un firewall para controlar el acceso externo?

ACTUALIZACIÓN: como insinuó @Froggard, Internet Sharing funcionó para dar acceso a la red interna. Sin embargo, no tengo control sobre las direcciones DHCP proporcionadas por el servidor, el cortafuegos, el acceso de los usuarios, etc. El servidor DHCP de la aplicación está desactivado ahora porque no se puede asignar al adaptador de red interno.

¿Quizás alguien aún pueda dar detalles sobre cómo habilitar el firewall o controlar los componentes involucrados?

¿Has probado el uso compartido de Internet? Creo que eso hará al menos parte de esto.

Respuestas (3)

OS X Yosemite ya no tiene soporte para natd binary o ipfw. En su lugar, se utiliza pfctl.

Asumo las siguientes direcciones IP/máscaras de red:

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. Primero debe habilitar el reenvío en su computadora Mac con los siguientes comandos:

    sudo sysctl -w net.inet.ip.forwarding=1
    
  2. Para hacer NAT, debe crear una regla pfctl. Cree un archivo llamado "nat-rules" con el siguiente contenido:

    nat on en0 from en1 to any -> (en0)
    
  3. Guarde el archivo y ahora inicie pfctl usando la regla del archivo que hemos creado anteriormente:

    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. Ahora configure una ruta estática en su enrutador:

    192.168.1.0/24 (la red interna) -> 192.168.0.2 (dirección IP Mac mini de la interfaz externa conectada al enrutador)

  5. Habilite el servicio DHCP en la puerta de enlace de su Mac mini:

    • Nombre: elige un nombre
    • Interfaz de red: en1
    • Dirección IP inicial: 192.168.1.10
    • Dirección IP final: 192.168.1.100
    • Máscara de subred: 255.255.255.0
    • Enrutador: 192.168.1.2
    • DNS: algún servidor DNS (por ejemplo, 8.8.8.8)
  6. Ahora use pfctl para agregar reglas u obtenga un pfctl-GUI como IceFloor o Murus para configurar su firewall. Ambas aplicaciones también deberían permitirle habilitar NAT (paso 2/3)

¿Ha intentado Preferencias del sistema > Compartir y habilitar Compartir Internet (seleccione la conexión USB al enrutador como la interfaz de Internet que está compartiendo)?

Esa es la respuesta más simple y funcionó para mí sin problemas.
Pero, ¿cómo configurar las direcciones IP en Mac (la Mac utilizada como enrutador) y otras computadoras?

Como una expansión de la respuesta de samh , y para responder la pregunta en el comentario de Frozen Flame , así es como puede usar Internet Sharing y también controlar qué rango de direcciones IP se usa:

Cambiar el rango de IP de DHCP predeterminado para macOS Internet Sharing

macOS usa de manera predeterminada 192.168.0.xxx como el rango de DHCP cuando usa la función Compartir Internet para compartir (por ejemplo) una conexión Ethernet a través de WiFi.

Esto puede ser problemático si está intentando iniciar sesión en otra red a través de VPN que usa el mismo rango de direcciones IP, o si tiene algún otro conflicto.

Para cambiar el rango que usa macOS, primero desactive el uso compartido de Internet y salga de Preferencias del sistema, luego ingrese los siguientes comandos en la terminal:

(puede reemplazar los primeros dos rangos de IP según sea necesario)

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

Luego, vuelva a abrir las Preferencias del sistema y vuelva a habilitar el uso compartido de Internet, y debería estar listo para comenzar.

Para leer la configuración actual, use el siguiente comando:

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

¡Y eso es todo!

Originalmente encontré los comandos para configurar los rangos de NAT aquí: http://hints.macworld.com/article.php?story=20090510120814850