InglésFrancésEspañol

icono de página de OnWorks

nat-traverse: en línea en la nube

Ejecute nat-traverse en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando nat-traverse que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


nat-traverse: uso de UDP para atravesar puertas de enlace NAT

SINOPSIS


Para crear un túnel simple de solo texto, use los comandos

usuario @ izquierda $ nat-traverse 40000: natgw-of-right: 40001
usuario @ derecha $ nat-traverse 40001: natgw-of-left: 40000

donde 40000 es un puerto UDP no utilizado a la "izquierda" y 40001 es un puerto no utilizado a la "derecha". Ver
"EJEMPLOS" para más.

VERSION


Este documento describe nat-traverse v0.5.

DESCRIPCIÓN


nat-traverse establece conexiones entre los nodos que están detrás de las puertas de enlace NAT, es decir
anfitriones que hacen no tener direcciones IP públicas. Además, puede configurar una pequeña VPN
usando pppd encima de nat-traverse (ver "EJEMPLOS"). nat-traverse hace no necesita una
servidor externo en Internet, y no es necesario reconfigurar el NAT involucrado
pasarelas, tampoco. nat-atravesar funciona fuera de la caja.

Consulte "TÉCNICA" para ver cómo se logra esto.

Limitación: nat-traverse no funciona con puertas de enlace que cambian los números de puerto. Esta
es un problema fundamental del diseño de nat-traverse, ya que los números de puerto cambiados son (en
general) no predecible.

OPCIONES


"puerto_local: par: puerto_remoto " (requerido)
Establece el puerto local que se utilizará y la dirección remota a la que conectarse.

Tenga en cuenta que debe proporcionar la dirección IP o el nombre de host del NAT puerta del anfitrión
desea conectarse, ya que el host de destino no tiene una dirección IP pública.

"--cmd ="pppd ... ""
Ejecuta el comando especificado después de establecer la conexión.

El comando se ejecutará con su STDIN y STDOUT enlazados al socket, es decir
todo lo que el comando escribe en STDOUT se reenviará al par.

Si no se especifica ningún comando, nat-traverse retransmitirá la entrada de STDIN al par y
viceversa, es decir, nat-traverse se degrada a netcat.

"--ventana =10"
Establece el número de paquetes de basura iniciales que se enviarán. El valor predeterminado, 10, debería funcionar con
la mayoría de los cortafuegos.

"--timeout =10"
Establece el número máximo de segundos para esperar un reconocimiento por parte del par.

"--quit-after-connect"
Sale de nat-traverse después de que el túnel se haya establecido correctamente.

nat-traverse devuelve un código de estado distinto de 0 para indicar que no se pudo establecer
el tunel.

"--quit-after-connect" es útil si desea que otro programa use el túnel. Para
ejemplo, puede configurar OpenVPN para usar los mismos puertos que nat-traverse, por lo tanto
OpenVPN podría cruzar puertas de enlace NAT.

"--version", "--help"

TÉCNICA


nat-traverse establece conexiones entre hosts detrás de puertas de enlace NAT sin necesidad de
reconfiguración de las puertas de enlace NAT involucradas.

1. En primer lugar, nat-traverse en el host "left" envía paquetes UDP basura a la puerta de enlace NAT de
"Derecha". Estos paquetes, por supuesto, son descartados por el cortafuegos.

2. Luego, el nat-traverse de "right" envía paquetes UDP basura a la puerta de enlace NAT de "left".
Estos paquetes son no descartados, ya que la puerta de enlace NAT "izquierda" cree que estos paquetes son
responde a los paquetes enviados en el paso 1!

3. El nat-traverse de "left" continúa enviando paquetes de basura a la puerta de enlace NAT de "right".
Estos paquetes tampoco se descartan ahora, ya que la puerta de enlace NAT cree que los paquetes están
responde a los paquetes enviados en el paso 2.

4. Finalmente, ambos hosts envían un paquete de reconocimiento para indicar que están listos. Cuando estos
se reciben paquetes, se establece la conexión y nat-traverse puede retransmitir
STDIN / STDOUT al zócalo o ejecutar un programa.

EJEMPLOS


Preparar of a chica VPN con PPP
Es fácil configurar una VPN (red privada virtual) mediante el protocolo punto a punto.
Demonio, "pppd":

root @ left # nat-traverse \
--cmd = "pppd updetach noauth notty pasivo \
ipparam vpn 10.0.0.1:10.0.0.2 "
40000: natgw-of-right: 40001
root @ right # nat-traverse \
--cmd = "pppd nodetach notty noauth"
40001: natgw-de-izquierda: 40000

"pppd" crea una nueva interfaz, normalmente "ppp0". Usando esta interfaz, puede hacer ping
10.0.0.1 o 10.0.0.2. Como puede ver, "pppd" actualiza el túnel de solo datos nat-traverse
proporciona a un túnel IP completo. Por lo tanto, puede establecer conexiones TCP confiables a través del
túnel, aunque el túnel utiliza UDP! Además, incluso podría agregar direcciones IPv6
a "ppp0" ejecutando "ip -6 addr add ..."!

Sin embargo, tenga en cuenta que aunque esta VPN is posiblemente una red privada, es no asegurado en cualquier
camino. Es posible que desee utilizar SSH para cifrar la conexión.

Puerto Reenvío con netcat
Puede utilizar "netcat" para reenviar uno de sus puertos UDP o TCP locales a un UDP arbitrario o
Puerto TCP del host remoto, similar a "ssh -L" o "ssh -R":

usuario @ izquierda $ nat-traverse 10001: natgw-of-right: 10002 \
--cmd = "nc -vl 20000"
usuario @ derecha $ nat-traverse 10002: natgw-of-left: 10001 \
--cmd = "nc -v localhost 22"

Tan pronto como se establece el túnel (utilizando los puertos UDP 10001 y 10002), el puerto TCP "izquierdo"
20000 se reenvía al demonio SSH de "right" (puerto TCP 22):

usuario @ algún-otro-host $ ssh -p 20000 usuario @ izquierda
# ¡Se conectará al demonio SSH de right!

Pero tenga en cuenta que pierde la confiabilidad de TCP en este ejemplo, ya que los datos reales son
transportado a través de UDP; así que este es solo un ejemplo de juguete. Si desea transmisiones confiables, use PPP
encima de nat-traverse, como se describe arriba.

Preparar of a VPN con OpenVPN
Puedes usar sobre nat-traverse si quieres tener un seguro VPN.

El uso de OpenVPN sobre nat-traverse requiere solo un cambio en el archivo de configuración de OpenVPN,
suponiendo que no desea utilizar el modo multicliente de OpenVPN: debe ajustar el
las opciones "code" e "lport" en consecuencia, por ejemplo:

# Opciones para agregar a la configuración de OpenVPN de la izquierda y la derecha:
puerto 60001
puerto 60001

# Comando para ejecutar a la izquierda resp. Derecha:
root @ left # hasta \
nat-traverse --quit-after-connect 60001: derecha: 60001 \
hacer \
dormir 5 \
hecho; \
openvpn [...]
root @ right # hasta \
nat-traverse --quit-after-connect 60001: izquierda: 60001 \
hacer \
dormir 5 \
hecho; \
openvpn [...]

El bucle "hasta" asegura que OpenVPN no se iniciará antes de que nat-traverse pueda
establecer la conexión. Michael Kugele ("michael (at) kugele.net") también informó de una forma
para poder seguir usando el modo multicliente de OpenVPN con nat-traverse: Como todas las instancias de
nat-traverse tiene que usar puertos únicos (porque una conexión es identificada por el
combinación de puerto de origen / destino), debe usar reglas de redirección para redirigir el
puertos utilizados por nat-traverse al puerto en el que escucha el demonio OpenVPN:

iptables -t nat -A ENRUTAMIENTO PREVIO -p udp \
--dport $ LPORT -j DNAT --to $ HOST: $ PORT
iptables -t nat -A ENRUTAMIENTO PREVIO -p udp \
--dport $ PORT -j REDIRECT --to-port $ LPORT

$ LPORT especifica el puerto de origen que utiliza nat-traverse en el lado del servidor, y "$ HOST: $ PORT"
es la dirección del servidor OpenVPN.)

LIMITACIONES


Solo se admite IPv4, nat-traverse no funcionará con direcciones IPv6. Déjame una nota si tu
Necesita compatibilidad con IPv6.

nat-traverse no funciona con puertas de enlace que cambian los números de puerto. Esto es un
problema fundamental del diseño de nat-traverse, ya que los números de puerto cambiados son (en general)
no predecible.

Utilice nat-traverse en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    rpmsunidos
    rpmsunidos
    ¡Únase a nosotros en Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Habilite el repositorio URPMS en su
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Descargar unitedrpms
  • 2
    Impulsar las bibliotecas de C ++
    Impulsar las bibliotecas de C ++
    Boost ofrece portátiles gratuitos
    Bibliotecas de C++ revisadas por pares. Él
    El énfasis está en las bibliotecas portátiles que
    funciona bien con la biblioteca estándar de C++.
    Ver http://www.bo...
    Descargar bibliotecas Boost C++
  • 3
    VirtualGL
    VirtualGL
    VirtualGL redirige los comandos 3D de un
    Aplicación Unix / Linux OpenGL en un
    GPU del lado del servidor y convierte la
    renderiza imágenes en 3D en una secuencia de video
    con la cual ...
    Descargar VirtualGL
  • 4
    libusb
    libusb
    Biblioteca para habilitar el espacio de usuario
    programas de aplicación para comunicarse
    Dispositivos USB. Público: Desarrolladores, Fin
    Usuarios/Escritorio. lenguaje de programacion: c
    Categorías ...
    Descargar libusb
  • 5
    TRAGO
    TRAGO
    SWIG es una herramienta de desarrollo de software
    que conecta programas escritos en C y
    C ++ con una variedad de alto nivel
    lenguajes de programación. SWIG se utiliza con
    diferente...
    Descargar SWIG
  • 6
    WooCommerce Nextjs reaccionar tema
    WooCommerce Nextjs reaccionar tema
    Tema React WooCommerce, creado con
    Siguiente JS, Webpack, Babel, Node y
    Express, usando GraphQL y Apollo
    Cliente. Tienda WooCommerce en React(
    contiene: Productos...
    Descargar el tema WooCommerce Nextjs React
  • Más "

Comandos de Linux

Ad