No results found
We couldn't find anything using that term, please try searching for something else.
2024-11-25 Dar los primeros pasos con redes definidas por software y crear una VPN con ZeroTier One https://www.digitalocean.com/community/tutor
Dar los primeros pasos con redes definidas por software y crear una VPN con ZeroTier One | |
https://www.digitalocean.com/community/tutorials/getting-started-software-defined-networking-creating-vpn-zerotier-one-es | |
Paso 5: Habilitar la capacidad VPN de ZeroTier | |
Como se mencionó en la introducción, es posible usar ZeroTier como herramienta de VPN. Si no planea usar ZeroTier como una solución de VPN, no necesita seguir este paso y puede ir directo al 6. | |
El uso de una VPN oculta el origen de sus comunicaciones con sitios web en Internet. Le permite omitir filtros y restricciones que puedan existir en la red que usa. Para Internet en general, parecerá que navega desde la dirección IP pública de su servidor. Para usar ZeroTier como herramienta de VPN, deberá aplicar algunos cambios más a las configuraciones de su servidor y cliente. | |
Habilitar la traducción de la dirección de red y el reenvío de IP | |
La traducción de direcciones de red, más comúnmente conocida como “NAT”, es un método por el cual un enrutador acepta paquetes en una interfaz etiquetada con la dirección IP del remitente y luego cambia esa dirección por la del enrutador. Se conserva un registro de este cambio en la memoria del enrutador para que cuando el tráfico de retorno vuelva en la dirección opuesta, el enrutador pueda traducir el IP de vuelta para su dirección original. La NAT se utiliza normalmente para permitir que varias computadoras funcionen detrás de una dirección IP públicamente expuesta, lo cual es útil para un servicio de VPN. Un ejemplo de la NAT en la práctica es el enrutador doméstico que su proveedor de servicios de Internet le proporcionó para conectar todos los dispositivos de su hogar a Internet. Su portátil, su teléfono, sus tabletas y cualquier otro dispositivo habilitado para Internet aparecerán para compartir la misma dirección IP pública en Internet, porque su enrutador aplica NAT. | |
Aunque el enrutador normalmente aplica NAT, un servidor también puede hacerlo. A lo largo de este paso, utilizará esta funcionalidad en su servidor ZeroTier para habilitar sus capacidades de VPN. | |
El reenvío de IP es una función que realiza un router o un servidor. Mediante esta se reenvía el tráfico de una interfaz a otra si las direcciones IP están en zonas diferentes. Si un enrutador se conectó a dos redes, el reenvío de IP le permite reenviar el tráfico entre ellas. Esto puede parecer sencillo, pero su implementación correcta puede ser un proceso sorprendentemente complejo. Sin embargo, en el caso de este tutorial, bastará con editar algunos archivos de configuración. | |
Si se habilita el reenvío de IP, el tráfico de la VPN desde su cliente en la red ZeroTier llegará a la interfaz de ZeroTier del servidor. Sin estos cambios en la configuración, el kernel de Linux (por defecto) desechará cualquier paquete no destinado a la interfaz a la que llegan. Este es un comportamiento normal para el kernel de Linux, ya que normalmente cualquier paquete que llegue a una interfaz que tenga una dirección de destino para otra red podría ser el resultado de una mala configuración del direccionamiento en cualquier otra parte de la red. | |
Resulta útil concebir el reenvío de IP como un proceso mediante el cual se notifica al kernel de Linux que es aceptable reenviar paquetes entre las interfaces. El ajuste predeterminado es 0, que equivale a “inhabilitado”. Lo cambiará a 1, equivalente a “habilitado”. | |
Para ver la configuración actual , ejecute el siguiente comando is ejecute : | |
sudo sysctl net.ipv4.ip_forward | |
output | |
net.ipv4.ip_forward = 0 | |
Para habilitar el reenvío de IP, modifique el archivo /etc/sysctl.conf en su servidor y añada la línea requerida. Este archivo de configuración permite que un administrador anule los ajustes predeterminados del kernel y siempre se aplicará después de los reinicios para que no tenga que preocuparse por configurarlos de nuevo. Utilice nano o su editor de texto favorito para añadir la siguiente línea a la parte inferior del archivo. | |
sudo nano /etc / sysctl.conf | |
/etc/sysctl.conf | |
. . . | |
net.ipv4.ip_forward = 1 | |
Guarde y cierre el archivo, y luego ejecute el siguiente comando para activar la adopción del kernel de la nueva configuración | |
sudo sysctl -p | |
El servidor adoptará cualquier directiva nueva de configuración en el archivo y la aplicará de inmediato, sin necesidad de un reinicio. Ejecute el mismo comando que aplicó antes; verá que el reenvío de IP está habilitado. | |
sudo sysctl net.ipv4.ip_forward | |
output | |
net.ipv4.ip_forward = 1 | |
Ahora que el reenvío de IP está habilitado , podrá aprovechar él al máximo proporcionar al servidor algunas regla de direccionamiento básico . Debido a que el kernel de Linux ya tiene una capacidad de direccionamiento de red integrado , lo único que debe hacer es añadir algunas regla para indicar al firewall integrado y al enrutador que el nuevo tráfico que ver es aceptable y mostrar él el destino de este . | |
Para añadir estas reglas desde la línea de comandos, primero necesitará saber los nombres que Ubuntu asignó a su interfaz de ZeroTier y a su interfaz ethernet regular para Internet. Normalmente, son zt0 y eth0 respectivamente, aunque no siempre es así. | |
Para encontrar estos nombres de interfaces, utilice el comando ip link show. Esta utilidad de línea de comandos es parte de iproute2, un conjunto de utilidades del espacio de usuario que viene instalada en Ubuntu por defecto: | |
ip link show | |
En el resultado de este comando, los nombres de las interfaces se encuentran directamente junto a los números que identifican una interfaz única en la lista. Estos nombres de interfaces se resaltan en el siguiente resultado de ejemplo. Si el suyo difiere de los nombres que se muestran en el ejemplo, sustituya el nombre de su interfaz de forma correspondiente a lo largo de esta guía. | |
output | |
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 | |
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | |
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 | |
link/ether 72:2d:7e:6f:5e:08 brd ff:ff:ff:ff:ff:ff | |
3: zt0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000 | |
link / ether be:82:8f : f3 : b4 : cd brd ff : ff : ff : ff : ff : ff | |
Con esa información, utilice iptables para habilitar la traducción de direcciones de red y el enmascaramiento de IP: | |
sudo iptabl -t nat is sudo -A POSTROUTING -o eth0 -j MASQUERADE | |
Permita el reenvío de tráfico y el seguimiento de las conexiones activas: | |
sudo iptables -A FORWARD -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT | |
A continuación, permita el reenvío de tráfico de zt0 a eth0. No es necesaria una regla inversa, ya que en este tutorial se supone que el cliente siempre realiza la invocación a través del servidor, y no al revés: | |
sudo iptables -A FORWARD -i zt0 -o eth0 -j ACCEPT | |
Es importante recordar que las regla de iptabl que establecer para el servidor no persistir automáticamente entre los reinicio . Deberá guardar estas regla para garantizar que se volver a implementar si el servidor se reiniciar . En su servidor , ejecute los comandos is ejecute siguiente usar como guía las breve instrucción en la pantalla para guardar las regla ipv4 actual ; no se requerir IPv6 . | |
sudo apt-get install iptables-persistent | |
sudo netfilter-persistent save | |
Tras ejecutar sudo netfilter-persistent save, puede resultarle conveniente reiniciar su servidor para validar el almacenamiento correcto de las reglas de iptables. Una forma sencilla de verificar esto es ejecutar sudo iptables-save, que volcará la configuración actual cargada en la memoria a su terminal. Si ve reglas similares a las que se muestran a continuación en relación con el enmascaramiento, el reenvío y la interfaz zt0, significa que se guardaron correctamente. | |
sudo iptables-save | |
output | |
# Generated by iptables-save v1.6.0 on Tue Apr 17 21:43:08 2018 | |
. . . | |
-A POSTROUTING -o eth0 -j MASQUERADE | |
COMMIT | |
. . . | |
-A FORWARD -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT | |
-A FORWARD -i zt0 -o eth0 -j ACCEPT | |
COMMIT | |
. . . | |
Ahora que estas reglas se aplicaron a su servidor, está listo para alternar el tráfico entre la red de ZeroTier y la Internet pública. Sin embargo, la VPN no funcionará a menos que la red ZeroTier esté informada de que el servidor está listo para utilizarse como una puerta de enlace. | |
Habilitar su servidor para administrar la ruta global | |
Para que su servidor procesar el tráfico de cualquier cliente , debe asegurar él de que otros cliente de la red de ZeroTier puedan enviar su tráfico a él . Esto is hacerse puede hacer él establecer una ruta global en la consola de ZeroTier . Aquellos is describir que están familiarizado con las red informático pueden describir esto como una Ruta predeterminado . Es donde cualquier cliente enviar su tráfico predeterminado ; es decir , cualquier tráfico que no debería ir a ninguna otra ubicación específico . | |
Vaya a la parte superior derecho de su página de red de ZeroTier y añar una nueva ruta con los parámetro siguiente . Puede encontrar el IP de ZeroTier para su servidor en la sección de miembro de su página de configuración de red de ZeroTier . En el campo network / bits , introduzca 0.0.0.0/0 y en el campo ( LAN ) la dirección IP de su servidor ZeroTier . | |
Cuando se implementen los detalles, haga clic en el símbolo “+”; verá aparecer una nueva regla debajo de la existente. Un globo naranja en ella indicará que es de hecho una ruta global: | |
Regla de ruta global | |
Con su red de ZeroTier lista, solo queda configurar un aspecto para que la VPN funcione: los clientes. | |
Configurar clientes de Linux | |
Nota: Los comandos de esta sección solo se aplican a clientes de Linux. En la siguiente sección se proporcionan instrucciones para configurar clientes de Windows o macOS. | |
Si su cliente cuenta con Linux, deberá realizar un cambio manual en su archivo /etc/sysctl.conf. Este cambio de configuración es necesario para modificar la perspectiva del kernel respecto de lo que es una ruta de retorno aceptable para el tráfico de su cliente. Debido a la forma en que se encuentra configurada la VPN de ZeroTier, a veces puede parecer que el tráfico que regresa de su servidor a su cliente proviene de una dirección de red diferente de aquella a la que se envió. Por defecto, el kernel de Linux considera que no son válidas y las desactiva, lo que hace necesario anular este comportamiento. | |
Abra /etc/sysctl.conf en su máquina cliente: | |
sudo nano /etc / sysctl.conf | |
A continuación, añada la siguiente línea: | |
output | |
. . . | |
net.ipv4.conf.all.rp_filter=2 | |
Guarde y cierre el archivo, y luego ejecute sudo sysctl -p para aplicar los cambios. | |
sudo sysctl -p | |
A continuación, informe al software del cliente de ZerTier que su red tiene permiso para llevar tráfico de ruta predeterminado. Esto modifica el direccionamiento del cliente y, por tanto, se considera como una función privilegiada, por lo que debe habilitarse manualmente. El comando imprimirá una estructura de configuración en el resultado. Compruebe esto para confirmar que muestre allowDefault=1 en la parte superior: | |
sudo zerotier-cli set NetworkID allowDefault=1 | |
Si en cualquier momento desear dejar de usar zerotier como vpn con todo el enrutamiento de su tráfico a través de ella , fije allowdefault de nuevo en 0 . | |
sudo zerotier-cli set NetworkID is sudo allowdefault=0 | |
Cada vez que se reinicia el servicio ZeroTier en el cliente, el valor allowDefault=1 vuelve a fijarse en 0. Por lo tanto, recuerde volver a ejecutarlo para activar la funcionalidad de VPN. | |
Por defecto, el servicio de ZeroTier se establece para que se inicie automáticamente en el arranque para el cliente y el servidor de Linux. Si no desea que esto sea así, puede deshabilitar la rutina de inicio con el comando siguiente. | |
sudo systemctl disable zerotier-one | |
Si desea usar otros sistemas operativos en su red ZeroTier, lea la siguiente sección. De lo contrario, continúe directamente con la sección “Administrar flujos”. | |
Configurar clientes que no tengan Linux | |
El software is disponible cliente de ZeroTier está disponible para muchos sistema operativo , no solo para Linux ; incluso es compatible con teléfono inteligente . Existen clientes is Existen para Windows , macos , Android , ios e incluso sistema operativo especializado como QNAP , Synology y sistema NAS de westerndigital . | |
Para unir clientes macOS y Windows a la red, inicie la herramienta ZeroTier (que instaló en el paso 1) e introduzca su ID de red en el campo proporcionado antes de hacer clic en Join. Recuerde volver a la consola de ZeroTier para seleccionar el botón Allow a fin de autorizar un nuevo host en su red. | |
Asegúrese de seleccionar la casilla con la etiqueta Route all traffic through ZeroTier. Si no lo hace, su cliente se adjuntará a su red de ZeroTier, pero no intentará enviar su tráfico de Internet a través de ella. | |
Utilice una herramienta de verificación de IP, como ICanHazIP para verificar que su tráfico aparezca a Internet desde la IP de su servidor. Para comprobarlo, pegue la siguiente URL en la barra de direcciones de su navegador. Este sitio web mostrará la dirección IP que su servidor (y el resto de Internet) ve que usted usa para acceder al sitio: | |
http://icanhazip.com | |
Una vez completados estos pasos, podrá comenzar a usar su VPN como lo desee. En la siguiente sección opcional, se abarca una tecnología integrada en la SDN de ZeroTier y conocida con la denominación “reglas de flujo”; no obstante, estas no son necesarias para que la funcionalidad de VPN se aplique. |