68 votos

¿Cuál es la forma moderna de hacer el transporte marítimo en El Capitán? (puerto de avanzada 80 a 8080)

La vieja utilidad ipfw se desanimó en las últimas versiones de Mac OS X y ahora ha desaparecido de El Capitán.

¿Cuál es la forma moderna de hacer el transporte portuario en El Capitán?

Sólo quiero que el puerto 80 se adelante al puerto 8080.

37voto

klanomath Puntos 19587

La forma moderna de avanzar en los puertos de El Capitán es usando pf . En el ejemplo siguiente todas las solicitudes del puerto 80 se envían al puerto 8080 en el mismo host. Por favor, ajuste las redirecciones a sus necesidades.

  1. Crear un archivo de anclaje org.user.forwarding en /private/etc/pf.anchors

    sudo touch /private/etc/pf.anchors/org.user.forwarding

    con el siguiente contenido y una línea vacía de seguimiento

    rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
    rdr pass on en0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
    rdr pass on en1 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080

    o

    rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
  2. Modifica el archivo /private/etc/pf.conf pero mantén una línea vacía.

    archivo original:

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"

    a

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    rdr-anchor "org.user.forwarding"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    load anchor "org.user.forwarding" from "/etc/pf.anchors/org.user.forwarding"
  3. Analice y pruebe su archivo de anclaje para asegurarse de que no hay errores:

    sudo pfctl -vnf /etc/pf.anchors/org.user.forwarding
  4. Ahora modifica /Sistema/Biblioteca/LanzamientoDemonios/com.apple.pfctl.plist de

    <array>
        <string>pfctl</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>

    a

    <array>
        <string>pfctl</string>
        <string>-e</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>

    Tienes que desactivar la Protección de Integridad del Sistema para lograrlo. Después de editar el archivo, vuelva a habilitar SIP. Después de reiniciar tu Mac pf estará habilitado (esa es la opción -e).

    Alternativamente puedes crear tu propio demonio de lanzamiento similar a la respuesta aquí: Usando el Servidor 5.0.15 para compartir internet SIN compartir internet .

Después de una actualización del sistema o una actualización de algunos de los archivos originales anteriores pueden haber sido reemplazados y hay que volver a aplicar todos los cambios.

Si quieres avanzar a través de diferentes interfaces tienes que habilitar esto en /etc/sysctl.conf:

net.inet.ip.forwarding=1
net.inet6.ip6.forwarding=1

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X