GNU/Linux >> Tutoriales Linux >  >> Linux

Ssh Port Forward para acceder a la máquina doméstica desde cualquier lugar?

Vengo de esta pregunta:https://superuser.com/questions/359799/how-to-make-freebsd-box-accessible-from-internet

Quiero entender todo este proceso de port forwarding .

Leí muchas cosas, pero no entiendo el concepto básico del reenvío de puertos.

Lo que tengo:

un servidor freebsd sentado en mi casa.
enrutador netgear

Esto es lo que estoy tratando de lograr:

para poder acceder al servidor freebsd desde una máquina con Windows a través de Internet para poder abrir un navegador web y acceder a Internet.

También quiero acceder a este cuadro freebsd desde una máquina ubuntu que tengo.

Será genial si alguien puede ayudarme.

Aquí está la configuración del enrutador netgear que hice para el reenvío de puertos.

Respuesta aceptada:

Comenzaré con los hechos en bruto:

  1. Tienes:A – su caja de FreeBSD, B – su enrutador y C – alguna máquina con acceso a Internet. Así es como se ve:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    _________ ________/
              v
               `- this is your LAN
    

    Observe cómo su enrutador normalmente funciona:permite conexiones desde máquinas en su LAN a Internet (simplemente hablando). Así que si el A (o cualquier otra máquina en LAN) quiere acceder a Internet, se le permitirá (nuevamente, solo hablando de comprensión y configuración básicas):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Y lo siguiente no permitido por defecto:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Es decir, el enrutador protege las máquinas en su LAN sean accedidas desde Internet). Observe que el enrutador es la única parte de su LAN que se ve desde Internet.

  2. El reenvío de puertos es lo que permite que se lleve a cabo el tercer esquema. Esto consiste en decirle al enrutador qué conexión desde C debe ir a que máquina en la LAN. Esto se hace en función de los números de puerto – por eso se llama reenvío de puertos . Usted configura eso instruyendo al enrutador que todas las conexiones provenientes de un puerto determinado de Internet deben ir a una determinada máquina en la LAN. Aquí hay un ejemplo para el puerto 22 reenviado a la máquina A :

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Tales conexiones a través de Internet se producen en función de las direcciones IP. Entonces, una representación un poco más precisa del ejemplo anterior sería:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Si no tienes una conexión a Internet con una estática IP, entonces tendría que saber de alguna manera qué IP está asignada actualmente a su enrutador por el ISP. De lo contrario, C no sabrá a qué IP tiene que conectarse para llegar a su enrutador (y más aún, a A ). Para solucionar esto de forma sencilla, puedes utilizar un servicio llamado DNS dinámico . Esto haría que su enrutador envíe información periódicamente a un servidor DNS especial que hará un seguimiento de su IP y le proporcionará un nombre de dominio . Hay bastantes proveedores de DNS dinámicos gratuitos. Muchos enrutadores vienen con opciones de configuración para comunicarse fácilmente con ellos.

Relacionado:¿Apagar una máquina con Windows 7 a veces la reinicia?

Esto es, nuevamente, una simplificación:el dispositivo real que se ve en Internet es el módem, que a menudo se puede integrar con el enrutador, pero también puede ser una caja separada.
o cualquier otra máquina con Conexión a Internet.

Ahora lo que quieres:

  1. Simplemente permitir el acceso ssh a su máquina desde Internet es una mala idea. Hay miles de bots instalados por crackers que buscan en Internet máquinas con puerto SSH abierto. Por lo general, "tocan" el puerto SSH predeterminado de tantas direcciones IP como pueden y, una vez que encuentran un demonio SSH ejecutándose en algún lugar, intentan obtener fuerza bruta acceso a la máquina. Esto no solo es un riesgo de posible intrusión, sino también de ralentización de la red mientras la máquina está siendo forzada.

  2. Si realmente necesita dicho acceso, al menos debería

    • asegúrese de tener fuerte contraseñas para todas las cuentas de usuario,

    • no permitir el acceso a la raíz a través de SSH (siempre puede iniciar sesión como usuario normal y su o sudo entonces),

    • cambie el puerto predeterminado en el que se ejecutaría su servidor SSH,

    • Introducir un mecanismo para rechazar numerosos intentos de inicio de sesión SSH (con un tiempo de espera cada vez mayor para intentos posteriores; no recuerdo cómo se llama exactamente esto; lo tenía habilitado hace algún tiempo en FreeBSD y recuerdo que fue bastante fácil:intente buscando en algunos foros de FreeBSD, etc. sobre cómo proteger SSH y lo encontrará).

    • Si es posible, intente ejecutar ssh daemon solo cuando sepa que accederá a la máquina en un futuro cercano y apáguelo después

  3. Acostúmbrate a revisar los registros de tu sistema. Si comienza a notar algo sospechoso, introduzca mecanismos de seguridad adicionales como tablas de IP o golpe de puerto .


Linux
  1. Cambiar el puerto SSH en CentOS y Red Hat

  2. Cambiar el puerto SSH en el sistema operativo Linux Ubuntu

  3. ¿Debo cambiar el puerto SSH predeterminado en los servidores Linux?

  4. ¿Cómo reenviar un puerto de una máquina a otra?

  5. IPTables - Puerto a otra ip y puerto (desde el interior)

Bashhub:acceda al historial de su terminal desde cualquier lugar

¿Conexión Ssh rechazada desde el interior de la LAN?

Cómo cambiar el puerto SSH en CentOS

LA MANERA FÁCIL de cómo SSH en Bash y WSL2 en Windows 10 desde una máquina externa

Cómo SSH en WSL2 en Windows 10 desde una máquina externa

Cómo SSH en una máquina con Windows 10 desde Linux O Windows O en cualquier lugar