Usando el Servidor 5.0.15 para compartir internet SIN compartir internet

4

Estoy ejecutando un MacMini a mediados de 2010 como servidor. OS X 10.11.3 y Servidor 5.0.15. Me estoy conectando a Internet en el Ethernet incorporado ( Ethernet ) y tengo un adaptador de Ethernet a GigaBit Ethernet ( Ethernet 2 ) y voy a un punto de acceso inalámbrico ( WAP ).

Tengo los servicios DHCP y DNS configurados y habilitados. Si enciendo el ICS en el panel de control compartido, ignora el servicio DHCP del servidor y me permite conectarme a Internet desde mis clientes. Esto también rompe el DNS local a menos que comience a cambiar las direcciones IP y demás. Si lo apago, obtengo el control del servidor DHCP, pero nada se conecta a Internet.

¿Cómo puedo usar AMBOS? ¿O al menos configurar correctamente las configuraciones en el servidor para "conectar" los adaptadores Ethernet y Ethernet 2 para permitir el acceso de Internet a mis clientes?

Estoy buscando una función NAT en algún lugar que NO sea la Conexión compartida a Internet en el Panel de control de uso compartido.

Configuración Ethernet incorporada:

  • IP: DHCP desde el módem por cable
  • Máscara de subred: 255.255.255.0 - DHCP desde el módem por cable
  • DNS: 127.0.0.1 para usar el Servicio DNS propio de los Servidores
  • Buscar dominio: mi FQDN del servidor.
  • Enrutador: DHCP desde el módem por cable

Configuración de adaptador de USB a GigaBit:

  • IP: 192.168.3.1
  • Máscara de subred: 255.255.255.0
  • DNS: 127.0.0.1
  • Buscar dominio: mi FQDN del servidor.
  • Enrutador: dirección adquirida de DHCP para el Ethernet incorporado

DHCP:

  • Nombre: Inicio
  • Grupo de direcciones IP: 192.168.3.2 - 192.168.3.253
  • Arrendamiento: 1 hora
  • Interfaz: Adaptador de USB a GigaBit
  • Enrutador: 192.168.3.1: debe estar en la misma red que el grupo de IP y la interfaz.
  • Nota: más de 16 reservas de IP para dispositivos en la casa.

WAP:

  • IP: 192.168.3.254

DNS:

  • Permisos: todas las redes
  • Búsqueda de clientes: todos los clientes
  • Servidores de reenvío: 8.8.8.8, 8.8.4.4

No estoy seguro de qué otra información debo poner aquí, es tarde y estoy cansado ...

Hazme algunas preguntas y hazme saber si tienes alguna idea del nuevo server.app 5.0.15

    
pregunta Takagami 26.02.2016 - 06:50

1 respuesta

4

Las versiones más recientes de OS X Server no proporcionan herramientas para habilitar NAT / Enrutamiento en OS X.

Para que NAT funcione sin usar Internet Sharing, debe usar una regla pf y crear una lista para habilitar el reenvío y cargar la regla pf:

A continuación, asumo en0: la interfaz conectada al módem por cable y en1: la interfaz conectada a la LAN. DHCP y DNS están configurados correctamente en la LAN interna.

  1. Crear una regla de NAT pf:

    Cree un archivo llamado nat-rules en / private / etc / con el siguiente contenido

    nat on en0 from en1 to any -> (en0)
    
  2. Cree un script de shell llamado nat-pf.sh que permita reenviar y cargar la regla pf. Lo guardé en / usr / local /:

    #!/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
    
  3. Cree una lista llamada org.user.natpf.plist con el siguiente contenido y guárdela en / Library / LaunchDaemons / para ejecutar el script de shell anterior al inicio:

    <?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>
    

    Los tres archivos necesitan una línea vacía al final, así que no copie simplemente el código o las líneas anteriores.

  4. Modificar modos de propiedad y archivo:

    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
    
  5. Cargar el demonio de lanzamiento:

    sudo launchctl load /Library/LaunchDaemons/org.user.natpf.plist
    
  6. Después de probar todo, puedes eliminar la siguiente parte del plist:

        <key>StandardErrorPath</key>
        <string>/tmp/org.user.natpf.stderr</string>
        <key>StandardOutPath</key>
        <string>/tmp/org.user.natpf.stdout</string>
    

    org.user.natpf.stderr proporciona mensajes de error para depurar tu lista.

  7. En mi enrutador local tuve que agregar una ruta estática:

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

    ¡Este último paso puede no aplicarse a su entorno de red!

respondido por el klanomath 29.02.2016 - 21:13

Lea otras preguntas en las etiquetas