Isto non levou moito tempo, aínda que cada un destes nodos foi engadido á rede un por un. Pero que pasa se precisas conectar non só un, senón todos os nodos da rede física á rede virtual ZeroTier? Esta tarefa xurdiu un día cando me desconcertaba o tema de organizar o acceso desde unha rede virtual a unha impresora e enrutador de rede.
Intentei usar o método descrito anteriormente, pero non foi rápido nin doado en todas partes. Por exemplo, unha impresora de rede: non pode simplemente conectala. Mikrotik - ZeroTier non é compatible. Que facer? Despois de buscar moito en Google e analizar o hardware, cheguei á conclusión de que é necesario organizar unha ponte de rede.
Ponte de rede (tamén ponte do inglés bridge) é un dispositivo de rede de segundo nivel do modelo OSI, deseñado para combinar segmentos (subredes) dunha rede informática nunha única rede.
Quero compartir a historia de como fixen isto neste artigo.
Que nos custa construír unha ponte...
Para comezar, eu, como administrador, tiña que decidir que nodo da rede actuaría como ponte. Despois de estudar as opcións, decateime de que podería tratarse de calquera dispositivo informático que teña a capacidade de organizar unha ponte entre interfaces de rede. Pode converterse nun enrutador - un dispositivo executando OpenWRT ou Equipos da serie RUT de Teltonika, así como un servidor ou ordenador normal.
Ao principio, por suposto, considerei usar un enrutador con OpenWRT a bordo. Pero dado o feito de que o Mikrotik existente me convén completamente, aínda que non admite a integración con ZeroTier, e realmente non quero pervertirme e "bailar cunha pandeireta", decidín usar un ordenador como ponte de rede. É dicir, un Raspberry Pi 3 Modelo B conectado constantemente á rede física que executa a última versión de Raspbian, un sistema operativo baseado en Debian Buster.
Para poder organizar unha ponte, debe estar dispoñible no dispositivo unha interface de rede que non sexa utilizada por outros servizos. No meu caso, a Ethernet principal xa estaba en uso, así que organizei unha segunda. Usando un adaptador USB-Ethernet baseado no chipset RTL8152 de Realtek para esta tarefa.
Despois de conectar o adaptador a un porto USB gratuíto, actualice e reinicie o sistema:
Comprobei se o sistema ve o adaptador Ethernet USB:
sudo lsusb
Despois de analizar os datos obtidos
Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Tiven o pracer de observar que o dispositivo 004 é só o meu adaptador.
A continuación, aclarei que interface de rede está asignada a este adaptador:
dmesg | grep 8152
[ 2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[ 6.363837] usbcore: registered new interface driver r8152
[ 6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[ 8.808282] r8152 1-1.3:1.0 eth1: carrier on
Resultou eth1 🙂 E agora podo configuralo e a ponte de rede.
O que realmente fixen foi seguir o seguinte algoritmo:
Executou o comando para desactivar o enderezo IP ZeroTier e a xestión de rutas:
sudo zerotier-cli set <networkID> allowManaged=0
A continuación no teu controlador de rede:
В Redes premeu detalle, atopou e seguiu a ligazón v4AssignMode e desactivou a asignación automática de enderezos IP desmarcando a caixa de verificación Asignación automática do grupo de asignacións de IP
Despois diso, autoricei o nodo conectado configurando o nome e marcando as caixas de verificación Autorizado и Ponte Activa. Non asignei un enderezo IP.
Despois volveu configurar a ponte de rede no nodo, para o que abriu o ficheiro de configuración da interface de rede para editar a través do terminal:
Onde eth1 — un adaptador Ethernet USB conectado ao que non se lle asignou un enderezo IP. br0 — se está creando unha ponte de rede cun enderezo IP permanente asignado desde o rango de enderezos da miña rede física. ztXXXXXXX — o nome da interface virtual ZeroTier, que foi recoñecido polo comando:
sudo ifconfig
Despois de introducir a información, gardei o ficheiro de configuración e recarguei os servizos de rede co comando:
sudo /etc/init.d/networking restart
Para comprobar a funcionalidade da ponte, executei o comando:
sudo brctl show
Segundo os datos recibidos, a ponte subiu.
bridge name bridge id STP enabled interfaces
br0 8000.00e04c360769 no eth1
ztXXXXXXXX
A continuación, cambiei ao controlador de rede para configurar a ruta.
Por que seguín a ligazón da lista de nós de rede? Asignación de IP ponte de rede. A continuación, na xanela que se abre, fai clic Rutas xestionadas. Fun a unha nova páxina, onde as Branco sinalou 0.0.0.0 / 0, e como Porta de entrada — Enderezo IP da ponte de rede do intervalo de enderezos da rede da organización, especificado anteriormente. No meu caso 192.168.0.10
Confirmou os datos introducidos e comezou a comprobar a conectividade da rede dos nodos, facendo ping ao nodo da rede virtual desde o nodo da rede física e viceversa.
Iso é todo!
Non obstante, a diferenza do prototipo do que se tomaron as capturas de pantalla, os enderezos IP dos nodos da rede virtual son do mesmo rango que os enderezos IP dos nodos do físico. Ao conectar redes, este modelo é posible, o principal é que non se solapen cos enderezos distribuídos polo servidor DHCP.
Non falarei por separado sobre a configuración dunha ponte de rede no lado do host que executa MS Windows e outras distribucións de Linux neste artigo: Internet está chea de materiais sobre este tema. En canto á configuración do controlador de rede, son idénticas ás descritas anteriormente.
Só quero sinalar que Raspberry PI é unha ferramenta orzamentaria e conveniente para conectar redes con ZeroTier, e non só como unha solución estacionaria. Por exemplo, os subcontratistas poden usar unha ponte de rede preconfigurada baseada en Raspberry PI para combinar rapidamente a rede física do cliente ao que serve con outras virtuais baseadas en ZeroTier.
Déixeme concluír esta parte da historia. Espero preguntas, respostas e comentarios, porque é sobre a súa base que construirei o contido do próximo artigo. Mentres tanto, suxíroche que probes a organizar a túa propia rede virtual usando un controlador de rede privada cunha GUI baseada en VDS do mercado de On-line RUVDS. Ademais, todos os novos clientes teñen un período de proba gratuíto de 3 días.