¿Configurar OS X para pasar el tráfico entrante a otro servidor?

1

Tengo una PC y una Mac mini 2011 en una red inalámbrica, que no tiene acceso a Internet. El Mac mini también está conectado a otra red que tiene acceso a Internet.

¿Hay alguna forma de compartir el acceso a una única IP usando la Mac? es decir, ¿Reenviar todas las solicitudes en los puertos XX-YY a AAA.BBB.CCC.DDD?

EDIT : prefiero una solución que se base 100% en la línea de comandos.

OS X 10.11.3
Necesito la PC para poder acceder a los recursos de la red de Mac.
El uso compartido de Internet reemplaza la conexión de la Mac a la red wifi.

La PC está conectada a un enrutador inalámbrico sin internet. La Mac está conectada a un enrutador inalámbrico con internet. El Mac también es wifi conectado al enrutador inalámbrico de la PC. El enrutador inalámbrico de la PC no es capaz de actuar como cliente.

    
pregunta Daniel 28.02.2016 - 04:56

2 respuestas

1

Un túnel SSH servirá para este propósito aquí, suponiendo que configure un gazillion LocalForward ports.

Coloque estos contenidos en su archivo ~/.ssh/config :

Host [hostname]
User [username]
Port [SSH port]              # (if using port 22, omit this line)
LocalForward 1 0.0.0.0:1     # Replace all these
LocalForward 2 0.0.0.0:2     # port numbers with
LocalForward 3 0.0.0.0:3     # the actual ports
LocalForward 4 0.0.0.0:4     # that you need.
LocalForward 5 0.0.0.0:5     #
LocalForward 6 0.0.0.0:6     # Format is like this:
LocalForward 7 0.0.0.0:7     # LocalForward [port] 0.0.0.0:[port]
LocalForward 8 0.0.0.0:8     #
LocalForward 9 0.0.0.0:9
LocalForward 10 0.0.0.0:10

... y así sucesivamente para cualquier puerto que desee.

Esto configurará los puertos de escucha en Mac y reenviará el tráfico en esos puertos a [hostname] a través de una conexión SSH a [username] en el puerto [SSH port] cada vez que ejecute este comando de Terminal:

ssh [hostname]

Tenga en cuenta que [hostname] debe estar ejecutando un servidor SSH, y obtendrá un shell en el host remoto en la Terminal. Es posible configurar un servidor SSH de solo puerto avanzado, pero eso está fuera del alcance de esta respuesta. Si no desea un shell en el servidor remoto, ejecute este comando en su lugar:

ssh [hostname] sleep 3600

En su lugar, obtendrá una conexión de 1 hora, y no shell. No cierre la ventana de la Terminal. Si lo desea, puede configurarlo de modo que pueda cerrar la Terminal ejecutando esto:

nohup ssh [hostname] sleep 3600 &

Reemplaza 3600 con la cantidad de segundos que quieres que dure la conexión.

    
respondido por el Daniel 21.03.2016 - 20:50
-2

NOTA: Resulta que estaba equivocado en lo que la pregunta estaba haciendo. Fue el intercambio de internet lo que @Daniel quería, no el reenvío de puertos. Mi error. Dejo esta respuesta aquí para informar sobre el reenvío de puertos, pero esta no es la mejor solución para resolver este problema.

¡Claro! Usted está tratando de lograr el reenvío de puertos, lo que pueden hacer una variedad de programas. Si te gusta usar el software de Apple con una GUI agradable, OS X Sever funciona bien. @klanomath me dijo que "OS X Server no permite el reenvío de puertos ni NAT / Enrutamiento. No permitir que ninguno de los dos proporcione una GUI", por lo que eliminé esta sugerencia.

ipfw solía ser el por defecto para el reenvío de puertos. Sin embargo, desde entonces ha quedado en desuso para pfctl . Personalmente, soy muy tonto y realmente no sé qué sucede cuando lo usas. Pegaré los contenidos (muy resumidos) de una cosa de instrucciones de GitHub . Cree un archivo de anclaje bajo /etc/pf.anchors/<anchor file> con su regla de redirección como: rdr pass on lo0 inet proto tcp from any to ABC.ABC.ABC.AB port AB-AB -> AAA.BBB.CCC.DD port XX-YY . Que yo sepa, no conozco a ningún cliente agradable de GUI.

SSH también admite tunneling . Para ti, probablemente querrás usar el comando ssh -D AAA.BBB.CCC.DD:XX-YY . También hay una variedad de clientes que se puede usar para que esto sea un poco más fácil de administrar que a través de la línea de comandos.

También puede configurarlo a nivel de su enrutador. Obviamente, esto depende de su enrutador, pero portforward.com tiene instrucciones para muchos enrutadores (como lo hace Google). Por ejemplo, puede usar la Utilidad AirPort para configurar el reenvío de puertos .

¡Pero no seas restringido! Mira a tu alrededor, hay toneladas y toneladas de software y métodos para hacer esto.

    
respondido por el JMY1000 29.02.2016 - 01:48

Lea otras preguntas en las etiquetas