Redirigir el puerto local a través del puente a Internet estática compartida

4

Tengo mi cable módem (10.0.0.1) a mi iMac (10.0.0.36) y mi iMac (10.0.0.36) con una IP compartida de (bridge100 192.168.2.1) a mi máquina Debian (192.168.2.34) , y todo eso esta funcionando perfectamente. Ahora me gustaría reenviar el puerto 80 desde Internet a través del puente en mi iMac a mi máquina debian ...

10.0.0.1:80 <-> 10.0.0.36:8080 <-> 192.168.2.1:8080 <-> 192.168.2.34:80

Encontré el siguiente enlace , que llevame a

rdr on bridge100 inet proto tcp from any to 10.0.0.36 port = 8080 -> 192.168.2.34 port 80

Sin embargo, no está funcionando ... Ahora en el enlace van a localhost, y encontré esto enlace que dice que puedo necesitar algo como

pass out route-to (bridge100 192.168.2.1) from any to 10.0.0.36

Pero no he podido obtener pfctl para analizar correctamente la línea anterior

Cualquier idea sobre cómo puedo reenviar desde 10.0.0.36:80 < - > 192.168.2.1 < - > 192.168.2.34:80?

Editar: El cable módem / enrutador es un TG852G de Xfinity ...

Editar: pfdump

                                        r     scrub-anchor "com.apple/*" all fragment reassemble
                                        r     anchor "com.apple/*" all
                                        r     anchor "usr.home/*" all
                                        n     nat-anchor "com.apple/*" all
                                        n     rdr-anchor "com.apple/*" all
                                        A       com.apple
                                        A       com.apple.internet-sharing
                                        A       usr.home
com.apple                               r     anchor "200.AirDrop/*" all
com.apple                               r     anchor "250.ApplicationFirewall/*" all
com.apple                               A       com.apple/200.AirDrop
com.apple                               A       com.apple/250.ApplicationFirewall
com.apple/200.AirDrop                   A       com.apple/200.AirDrop/Bonjour
com.apple/200.AirDrop/Bonjour           r     pass in on p2p0 inet6 proto udp from any to any port = 5353 keep state
com.apple/200.AirDrop/Bonjour           r     pass out on p2p0 proto tcp all flags any keep state
com.apple.internet-sharing              r     scrub-anchor "base_v4" all fragment reassemble
com.apple.internet-sharing              r     anchor "base_v4" all
com.apple.internet-sharing              n     nat-anchor "base_v4" all
com.apple.internet-sharing              n     rdr-anchor "base_v4" all
com.apple.internet-sharing              A       com.apple.internet-sharing/base_v4
com.apple.internet-sharing/base_v4      r     scrub on en1 all no-df fragment reassemble
com.apple.internet-sharing/base_v4      r     scrub on bridge100 all no-df max-mss 1460 fragment reassemble
com.apple.internet-sharing/base_v4      r     scrub on bridge100 proto esp all no-df fragment reassemble
com.apple.internet-sharing/base_v4      r     pass on en1 all flags any keep state
com.apple.internet-sharing/base_v4      r     pass on en1 proto esp all no state
com.apple.internet-sharing/base_v4      r     pass on bridge100 all flags any keep state rtable 7
com.apple.internet-sharing/base_v4      n     nat on en1 inet from 192.168.2.0/24 to any -> (en1:0) extfilter ei
com.apple.internet-sharing/base_v4      n     no nat on bridge100 inet from 192.168.2.1 to 192.168.2.0/24
com.apple.internet-sharing/base_v4      n     rdr on bridge100 inet proto tcp from 192.168.2.0/24 to any port = 21 -> 127.0.0.1 port 8021
usr.home                                r     anchor "SSH" all
usr.home                                A       usr.home/SSH
usr.home/SSH                            n     rdr on en1 inet proto tcp from any to 10.0.0.36 port = 8080 -> 192.168.2.34 port 80
    
pregunta Jeffrey L. Roberts 22.01.2018 - 18:16

1 respuesta

2

El comando adecuado para redirigir el tráfico http en su caso es:

echo "rdr on $ext inet proto tcp from any to 10.0.0.36 port = 80 -> 192.168.2.34 port 80" | sudo pfctl -a com.apple/HTTP -f -

Con $ ext: la interfaz del iMac conectada al enrutador / módem (probablemente ya sea en0 o en1). ¡Se realiza una redirección en la interfaz entrante y el tráfico! Por lo tanto, rdr on bridge100 ... no tiene ningún sentido aquí: no esperas tráfico HTTP con el destino 192.168.2.34 desde el bridge100 a la red detrás del mismo bridge100 .

El comando anterior utiliza el sub-ancla temporal com.apple/HTTP y después de un reinicio desaparecerá.

Si desea habilitarlo permanentemente, cree un ancla independiente como se describe en esta respuesta: pfctl: cómo agregar un ancla y habilítelo / cárguelo o aquí: Reenvío de puertos en Mac Pro con macOS Sierra .

Solo se requiere pass out route-to ... si desea redireccionar el tráfico saliente desde el iMac.

En teoría, se requiere una ruta estática adicional en el enrutador / módem (TG852G):

route to 192.168.2.0/24 via 10.0.0.36

Aquí (sin embargo, un enrutador diferente) funcionó sin él.

Las soluciones Double-NAT generalmente no se recomiendan en entornos SOHO y sugiero que conecte el servidor Debian Linux directamente a uno de los puertos Ethernet del enrutador / módem o un conmutador interconectado.

    
respondido por el klanomath 23.01.2018 - 03:59

Lea otras preguntas en las etiquetas