Equipos y materiales > Openwrt & LEDE

ZeroTier en OpenWrt (VPN + SD-WAN)

<< < (6/8) > >>

raphik:
@plumanegra

Acabo de instalar una imagen estable recién descargada en un HG556a ver.C y parece que va bien.

plumanegra:
Caramba.

Yo lo probé en un Comtrend AR-5315u con OpenWrt 19.07.7 y no tiraba la cosa.

Lo hice 2 veces y en la página de ZeroTier Central podía ver como aparecía el dispositivo con la IP, autorizado y registrado y al poco tiempo desaparecía la IP pública y el dispositivo como desconectado.

Un misterio.

Con la 1.6.4-1 sin problemas.

Tki2000:
Hay un problema que están intentando solucionar desde hace varias versiones. Busca "zerotier network coma issue".
Parece que te puedes estar viendo afectado.

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.
=============================================================================


Este post es una adaptación del artículo Layer 2 Bridging with LEDE/OpenWRT creado por Grant Limberg y actualizado el 12 de marzo de 2019 por Travis LaDuke.



LAN extendida. Los PCs situados en ubicaciones alejadas entre sí están en la misma red


LAN extendida en la que los hosts están situados en tres ubicaciones distintas. En cada ubicación, un router OpenWrt en modo pasarela (routed AP) 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.


0) Planteamiento

La red xLAN para las tres ubicaciones es 192.168.100.0/22
Las IPs de los routers proveedores de Internet son irrelevantes, ya que la interfaz WAN OpenWrt tomará su IP por DHCP.

Router OpenWrt
----------------------------------------------------------------------------
 Ubicación | Interfaz LAN  | Interfaz VPN   | DHCP leases
----------------------------------------------------------------------------
     A     | 192.168.100.5 | 192.168.103.10 | 192.168.100.100 - 192.168.100.250
     B     | 192.168.101.5 | 192.168.103.11 | 192.168.101.100 - 192.168.101.250
     C     | 192.168.102.5 | 192.168.103.12 | 192.168.102.100 - 192.168.102.250
----------------------------------------------------------------------------
Máscara de red: 255.255.252.0
Puerta de enlace: 192.168.1.1 (es la IP del router ISP)
Servidor DNS: 1.1.1.1, 1.0.0.1

SWITCH
Bocas 1, 2 y 3 : LAN
Boca 4: WAN

Red ZeroTier (VPN)
Rango: 192.168.100.0/22 (Asignado por el usuario al registrar la red.)
Auto-Assign [Advanced] Pools. Start 192.168.103.10 Stop 192.168.103.12 (Si se quiere, se puede elegir un rango más amplio.)
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 el router OpenWrt en cada ubicación
(A continuación se muestran valores IP para la Ubicación A. Para la Ubicación B y la Ubicación C, sustituir por los valores pertinentes.)

Conectar el PC al zócalo LAN1 del router OpenWrt e iniciar sesión ssh root@192.168.1.1 (PuTTY, en Windows)

Configurar la interfaz LAN

--- Código: ---uci set dhcp.lan.ra_management='1'
uci del network.lan.ip6assign
uci set network.lan.ipaddr='192.168.100.5'
uci set network.lan.netmask="255.255.252.0"
uci set dhcp.lan.start='192.168.100.100'
uci add_list network.lan.dns='1.1.1.1'
uci add_list network.lan.dns='1.0.0.1'
--- Fin del código ---

Configurar el SWITCH (conectores LAN1 a LAN4)

--- Código: ---puertoCPU=$(uci get network.@switch_vlan[0].ports | awk '{print $5}')
uci set network.@switch_vlan[0].ports='0 1 2 '$puertoCPU
uci add network switch_vlan
uci set network.@switch_vlan[-1].device='switch0'
uci set network.@switch_vlan[-1].vlan='2'
uci set network.@switch_vlan[-1].ports='3 '$puertoCPU
--- Fin del código ---

Configurar la interfaz WAN

--- Código: ---uci set network.wan=interface
uci set network.wan.ifname='eth0.2'
uci set network.wan.proto='dhcp'
--- Fin del código ---

Aplicar cambios y reiniciar

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

Conectar un cable ethernet entre el router ISP y el zócalo LAN4 del router OpenWrt.


2) Instalar y configurar ZeroTier

Tras el reinicio, el PC habrá perdido la conexión con el router, que ahora tiene una nueva IP: 192.168.100.5. Para que el PC retome una IP dentro del nuevo rango, suele bastar con desconectar y volver a conectar el latiguillo ethernet que lo une al router.

Abrir una nueva sesión ssh root@192.168.100.5 (PuTTY, en Windows)

Actualizar lista de paquetes e instalar ZeroTier One

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

Configurar ZeroTier. Sustituir 'ID_DE_RED' por la Network ID de la red ZeroTier.

--- 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 ---

Si la instalación de ZeroTier ha ido bien, se habrá generado un nuevo dispositivo ethernet virtual "ztxxxxxxxx".

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

Además, se puede verificar que ZeroTier está ONLINE.

--- Código: ---zerotier-cli info
200 info 79axxxxxxx 1.6.5 ONLINE
--- Fin del código ---
(El número hexadecimal "79axxxxxxx" 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.

Reiniciar el router. Algunas veces no es necesario.


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

Definir una interfaz para el dispositivo virtual ztxxxxxxxx

--- Código: ---uci set network.ZeroTier=interface
uci set network.ZeroTier.ifname=$(ifconfig | grep zt | awk '{print $1}')
uci set network.ZeroTier.proto='none'
--- Fin del código ---

Puentear la interfaz LAN con la interfaz ZeroTier

--- Código: ---uci set network.lan.ifname="$(uci get network.lan.ifname) $(uci get network.ZeroTier.ifname)"
--- Fin del código ---

Aplicar los cambios y reiniciar

--- Código: ---uci commit network
uci commit firewall
reboot
--- Fin del código ---


3) Autorizar al router OpenWrt 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?". Se puede dejar la IP asignada automáticamente o cambiarla por la IP fija 192.168.103.10. Si se quiere, se le puede poner un nombre. Marcar la casilla "Allow Ethernet Bridging" (para verla, hacer clic en el icono 🔧)




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

El router está conectado a la red ZeroTier con su propia IP (192.168.103.10). Además, reparte IPs VPN entre sus hosts, que pueden navegar por la red virtual. Los hosts, al tener una IP propia en la VPN, son miembros "de pleno derecho" de la VPN. Responden a los pings recibidos, reaccionan al recibir paquetes mágicos "wake-on-lan" y es posible acceder a ellos mediante escritorio remoto.

Tki2000:
Una preguntita:

Al tener los dispositivos el mismo acceso por la máscara 22 a la misma red, (se tiene acceso a todos los ordenadores de la red 100.x a la 103.x) ¿no sería más difícil hacer alguna regla de firewall para parar algún ataque desde una oficina externa? Me refiero, a que con ese rango y máscara la zona de firewall estará en la LAN, y no se podrá distinguir ninguna regla para parar un ataque externo desde tus propias oficinas si alguna queda comprometida. Aunque estén comunicadas es preferible habilitar reglas de acceso que puedan cortar el tráfico radicalmente.

Para comunicar distintas casas privadas puede estar bien, pero la seguridad en las oficinas creo que es un poco más complejo que eso.

Además, si no me equivoco, las direcciones de x, y y z de las WAN deben estar fuera de ese rango 100 a 103, ¿no?

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa