En la era actual de interconexión global, dependemos cada vez más de Internet. Sin embargo, los métodos tradicionales de conexión de red pueden estar sujetos a algunas limitaciones en algunos casos, como restricciones de alcance de LAN, bloqueo de firewall o NAT multicapa donde se encuentra el dispositivo. Sin embargo, ahora ha surgido una herramienta llamada ZeroTier, que nos proporciona una solución innovadora para romper estas limitaciones y construir una red P2P privada. De hecho, se puede considerar que ZeroTier construye un entorno de red similar a una LAN en Internet.
En pocas palabras, ZeroTier actúa como una red privada virtual (VPN) de igual a igual, conectando varios dispositivos entre sí para que puedan interconectarse directamente como si estuvieran en la misma LAN. Esto significa que puede usar fácilmente su teléfono móvil para acceder al NAS de su hogar en el trabajo o compartir archivos directamente con miembros remotos del equipo sin tener que realizar configuraciones engorrosas ni transferencias de servidores de terceros. En comparación con las VPN tradicionales, ZeroTier tiene sus ventajas únicas. Utiliza STUN y tecnología de túnel para permitir que los dispositivos se comuniquen directamente detrás de NAT, evitando la engorrosa configuración y mapeo de puertos. Esta conexión P2P no solo proporciona un mejor rendimiento y seguridad de la red, sino que también establece conexiones disponibles instantáneamente entre dispositivos a través de diferentes redes y ubicaciones geográficas.
Ya sea trabajo remoto, colaboración interregional o construcción de redes privadas, ZeroTier nos brinda una solución simple y poderosa. Cambia por completo las limitaciones de las conexiones de red tradicionales y aporta mayor comodidad y flexibilidad a nuestra vida digital. Exploremos ZeroTier en profundidad y descubramos cómo esta apasionante tecnología nos está llevando a una nueva forma de conectarnos a las redes en la era actual de Internet.
Diagrama de topología simple
nombre propio
PLANET: servidor Planet, servidor raíz Zerotier
MOON: servidor satélite, que desempeña el papel de aceleración del proxy.
LEAF: Cliente de red, que es cada nodo conectado a la red.
¿Por qué construir tu propio servidor PLANET?
condiciones necesarias
- Servidor con IP pública
- instalar la ventana acoplable
- El firewall abre el puerto TCP 3443/9993 y el puerto UDP 9993
Copiar el código fuente del proyecto
git clone https://github.com/xubiaolin/docker-zerotier-planet.git
ejecutar deploy.sh
script
./docker-zerotier-planet/deploy.sh
欢迎使用zerotier-planet脚本,请选择需要执行的操作:
1. 安装
2. 更新
3. 复制planet文件到当前目录
其他任意键退出
La captura de pantalla es la siguiente: Simplemente seleccione de acuerdo con las indicaciones y se implementará automáticamente después de que se complete la operación.
Se espera que el script completo demore entre 3 y 10 minutos, dependiendo de la red y el modelo.
Cuando vea palabras similares a lo siguiente, significa que la instalación fue exitosa.
Preste atención a la imagen DOCKER que se inicia automáticamente en el proyecto aquí. Debido a que no hay solidificación de datos, el nombre de usuario y la contraseña para iniciar sesión en ztncui, así como la información de configuración, se perderán después de cada reinicio. Necesitamos eliminar la imagen de DOCKER y volver a abrirla con el siguiente comando.
docker rm -f -v zerotier-planet
docker volume create zerotier-app
docker volume create zerotier-one
docker run -d -v zerotier-app:/app -v zerotier-one:/var/lib/zerotier-one -p 9993:9993 -p 9993:9993/udp -p 127.0.0.1:3443:3443 --name zerotier-planet --restart unless-stopped zerotier-planet
Aquí hay una explicación detallada de la línea de comando anterior:
docker rm -f -v zerotier-planet
Este comando se utiliza para forzar la eliminación del zerotier-planet
contenedor Docker nombrado y eliminar el volumen asociado con el contenedor (si existe). -f
La opción significa forzar la extracción del contenedor incluso si está en ejecución. -v
La opción significa eliminar también los volúmenes asociados con el contenedor.
docker volume create zerotier-app
docker volume create zerotier-one
Estos dos comandos se utilizan para crear dos volúmenes Docker respectivamente. El primer comando crea zerotier-app
un volumen con nombre mientras que el segundo comando crea zerotier-one
un volumen con nombre.
docker run -d -v zerotier-app:/app -v zerotier-one:/var/lib/zerotier-one -p 9993:9993 -p 9993:9993/udp -p 127.0.0.1:3443:3443 --name zerotier-planet --restart unless-stopped zerotier-planet
Este comando se utiliza para ejecutar un zerotier-planet
contenedor Docker llamado. en:
-d
La opción significa ejecutar el contenedor en segundo plano (ejecutar en estado de demonio).
-v zerotier-app:/app
La opción zerotier-app
monta el volumen nombrado en el /app
directorio del contenedor.
-v zerotier-one:/var/lib/zerotier-one
La opción zerotier-one
monta el volumen nombrado en el /var/lib/zerotier-one
directorio del contenedor.
-p 9993:9993
La opción indica la asignación del puerto del host 9993
al puerto del contenedor 9993
para el tráfico TCP.
-p 9993:9993/udp
La opción indica la asignación del puerto del host 9993
al puerto del contenedor 9993
para el tráfico UDP.
-p 127.0.0.1:3443:3443
La opción significa 127.0.0.1:3443
asignar el puerto del host al puerto del contenedor 3443
, permitiendo solo el acceso local.
--name zerotier-plane
La opción t especifica un nombre para el contenedor zerotier-planet
.
--restart unless-stopped
La opción significa que cuando se detenga el contenedor, se reiniciará automáticamente a menos que se detenga manualmente.
zerotier-planet
Es el nombre de la imagen que se va a ejecutar y la resolución del nombre proviene del almacén de imágenes de Docker.
Al acceder http://ip:3443
a la página del controlador,
el nombre de usuario predeterminado es: admin
Contraseña predeterminada: password
simplemente restablezca la contraseña según su propia situación.
Descargar archivo planeta
Una vez que el script termine de ejecutarse, habrá un archivo /tmp/
en el directorioplanet
Descargue este archivo para usarlo más adelante
Configuración del cliente
Para la configuración del cliente, consulte la introducción del autor del proyecto github.