Equipos y materiales > Openwrt & LEDE

ZeroTier en OpenWrt (VPN + SD-WAN)

(1/7) > >>

raphik:
Gracias al esfuerzo y a la dedicación de Moritz Warning, ZeroTier One es a día de hoy un paquete más de OpenWrt.

Posibles aplicaciones de ZeroTier en un router OpenWrt:

APLICACIÓN 1
Servidor (de archivos, páginas web, lectura de sensores, manejo de relés, etc.) (Ver más)


Router OpenWrt desempeñando rol de servidor en una VPN.


APLICACIÓN 2
Punto de acceso a la red privada virtual (masquerading) (Ver más)


Router OpenWrt en modo puente (bridged AP). El router asigna a sus hosts IPs ajenas a la VPN. Los hosts salen a la VPN con la IP del router utilizando una técnica llamada masquerading. Pueden navegar, pero no son direccionables.


APLICACIÓN 3
Punto de acceso a la red privada virtual (layer 2 bridging) (Ver más)


Router OpenWrt en modo pasarela (routed AP). El router asigna a sus hosts IPs dentro del rango VPN. Los hosts salen a la VPN con su propia IP utilizando una técnica llamada layer 2 bridging. Pueden navegar y son direccionables.


APLICACIÓN 4
LAN extendida. Los PCs situados en ubicaciones alejadas entre sí están en la misma red (Ver más)


Varios routers OpenWrt en modo pasarela (routed AP). Cada router asigna a sus hosts IPs dentro de un subrango VPN. Los hosts salen a la VPN con su propia IP utilizando una técnica llamada layer 2 bridging. Pueden navegar y son direccionables.

raphik:
=========================== ADVERTENCIA DE RIESGO ===========================
Buena parte de la información que aparece en este artículo la he recopilado
de distintos sitios de Internet. A pesar de las minuciosas coprobaciones pre-
vias a su publicación, no puedo garantizar su veracidad, exactitud, actuali-
dad, fiabilidad e integridad. Por lo tanto, el presente artículo no debe ser
considerado como un consejo de uso. Usted es responsable de cualquier uso que
haga de la información aquí contenida.
=============================================================================


Servidor (de archivos, páginas web, multimedia, video vigilancia, lectura de sensores, manejo de relés, etc.)


ZeroTier facilita la integración de un router OpenWrt en la VPN. En función del conjunto de paquetes de software que se le instale posteriormente, podrá desempeñar el rol de servidor de archivos, de páginas web, lectura de sensores, manejo de relés, etc.

NOTA: ZeroTier encripta el tráfico de un extremo al otro. La transmisión de vídeo implica un alto flujo de datos. Esto no debería suponer un problema si no fuera porque ZeroTier impone al router el cifrado/descifrado de la transmisión. El streaming de vídeo en tiempo real es inviable, dado que la imagen se congela cada pocos segundos.
Tal vez se podría resolver deshabilitando la encriptación. https://github.com/zerotier/ZeroTierOne/issues/340

0) Planteamiento

Router proveedor de Intenet
LAN IP: 192.168.1.1

Router OpenWrt (bridged AP)
LAN IP: 192.168.1.2 (IP estática)
Puerta de enlace: 192.168.1.1
Servidor DNS: 192.168.1.1
VPN IP: 192.168.100.2

Red ZeroTier (VPN)
Rango: 192.168.100.0/24 (Asignado por el usuario al registrar la red.)
Network ID: ID_DE_RED (El Network ID es un número hexadecimal único de 16 dígitos generado automáticamente por la capa VL2 de ZeroTier.)


1) Configurar la interfaz LAN

Asignar a la interfaz LAN una IP estática (192.168.1.2). Establecer DNS y Gateway (192.168.1.1, IP del proveedor de Internet.)

--- Código: ---uci del network.lan.ip6assign
uci set network.lan.ipaddr='192.168.1.2'
uci set network.lan.gateway='192.168.1.1'
uci add_list network.lan.dns='192.168.1.1'
uci commit network
--- Fin del código ---

Desconectar el servidor DHCP.

--- Código: ---uci del dhcp.lan.start
uci del dhcp.lan.limit
uci del dhcp.lan.leasetime
uci set dhcp.lan.ra_management='1'
uci set dhcp.lan.ignore='1'
uci commit dhcp
--- Fin del código ---

Reiniciar el router.

--- Código: ---reboot
--- Fin del código ---

2) Instalar y configurar ZeroTier

Actualizar lista de paquetes e instalar ZeroTier One.

--- Código: ---opkg update && opkg install zerotier
--- Fin del código ---

Configurar ZeroTier (yo lo hago a lo bruto). Sustituir 'ID_DE_RED' por el Network ID.

--- Código: ---rm /etc/config/zerotier
touch /etc/config/zerotier
uci set zerotier.openwrt_network=zerotier
uci add_list zerotier.openwrt_network.join='ID_DE_RED'
uci set zerotier.openwrt_network.enabled='1'
uci commit zerotier
/etc/init.d/zerotier restart
/etc/init.d/firewall restart
--- Fin del código ---

Se puede comprobar que la instalación de ZeroTier ha generado un nuevo dispositivo ethernet virtual "ztxxxxxxxx".

--- Código: ---ifconfig | grep zt
ztxxxxxxxx Link encap:Ethernet  HWaddr 0E:F4:4C:xx:xx:xx
--- Fin del código ---

También, se puede verificar que ZeroTier está ONLINE.

--- Código: ---zerotier-cli info
200 info 79aa2xxxxx 1.6.4 ONLINE
--- Fin del código ---
(El número hexadecimal "79aa2xxxxx" es el identificador de nodo generado por la capa VL1 de ZeroTier.)

Opcionalmente, se puede mejorar el rendimiento permitiendo las conexiones UDP entrantes por el puerto 9993. Yo nunca lo hago. Supongo que habría que hacer lo mismo con el router del proveedor de Internet.

--- Código: ---uci add firewall rule
uci set firewall.@rule[-1].name='Allow-ZeroTier-Inbound'
uci set firewall.@rule[-1].src='*'
uci set firewall.@rule[-1].target='ACCEPT'
uci set firewall.@rule[-1].proto='udp'
uci set firewall.@rule[-1].dest_port='9993'
uci commit firewall
/etc/init.d/firewall restart
--- Fin del código ---

Reiniciar el router. Algunas veces no es necesario.

--- Código: ---reboot
--- Fin del código ---


3) Autorizar al router a unirse a la red ZeroTier

En ZeroTier Central (https://my.zerotier.com), buscar el router (el identificador de nodo y la MAC ayudan) y marcar la casilla "Auth?". Cambiar la IP asignada automáticamente por la IP fija 192.168.100.2. Si se quiere, se le puede poner un nombre.




4) Esperar unos minutos a que ZeroTier establezca la red.

El router está conectado a la red ZeroTier 192.168.100.0/24. Responde a los pings que se le envían.

Desde cualquier host de la VPN se puede abrir una sesión SSH contra el router.

--- Código: ---ssh root@192.168.100.2
--- Fin del código ---

peperfus:
Estás hecho todo un cocinero  :D.
Gracias por la receta.

En el router ZT de la casa1, no hice la parte de añadir la interfaz desde luci. No sabía que había que hacerlo. En el tutorial que vi por ahí, no lo hacía. Lo probaré un día de estos.

EDITO:
De hecho, creo que la parte realmente importante (que tampoco hice) es la de firewall.

raphik:
Al instalar ZeroTier en OpenWrt se crea un dispositivo virtual, pero no su correspondiente interfaz que hay añadir "a mano". La interfaz es de tipo "unmanaged" que ya se encargará ZeroTier de asignarle una IP.

Darktakan:
Mil gracias raphik por tu tiempo y por el tuto que va al baúl para cuando tenga un rato!!! >:(

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa