Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2

Nos primeiros cinco passos descritos no artigo Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1 unimos três nós geograficamente distantes entre si por meio de uma rede virtual. Um dos nós está situado em uma rede física, enquanto os outros dois estão em diferentes data centers.  

Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2
Isso não levou muito tempo, embora cada um desses nós tenha sido adicionado à rede um por um. E como proceder se a rede virtual ZeroTier precisar conectar não um, mas todos os nós que estão na rede física? Essa tarefa surgiu um dia quando me deparei com a necessidade de organizar o acesso à impressora de rede e ao roteador a partir da rede virtual. 

Tentei usar o método descrito acima — o que não foi rápido nem fácil em todos os casos. Por exemplo, uma impressora de rede não é simplesmente conectada. O Mikrotik — o ZeroTier não suporta. O que fazer? Depois de pesquisar bastante e analisar a tecnologia, cheguei à conclusão de que precisava organizar uma ponte de rede.

Ponte de rede (também bridge do inglês. bridge) — é um dispositivo de rede de nível dois do modelo OSI, destinado a unir segmentos (subredes) de uma rede de computadores em uma única rede.

Quero compartilhar a história de como fiz isso neste artigo. 

O que nos custa, construir uma ponte...

Para começar, como administrador, eu precisava definir qual nó na rede serviria como ponte. Após estudar as opções, percebi que poderia ser qualquer dispositivo de computação que tivesse a capacidade de organizar uma ponte entre as interfaces de rede. Isso poderia ser um roteador — um dispositivo gerenciado pelo OpenWRT ou equipamento da série RUT da Teltonika, ou mesmo um servidor ou computador comum. 

Inicialmente, eu considerei a possibilidade de usar um roteador com OpenWRT. Mas levando em conta que o Mikrotik existente me satisfaz completamente, embora não suporte a integração com o ZeroTier, e não queria complicar as coisas, decidi usar um computador como ponte de rede. Especificamente, um Raspberry Pi 3 Model B permanentemente conectado à rede física e executando a versão mais recente do Raspbian — um sistema operacional baseado no Debian Buster.

Para organizar um bridge, deve haver uma interface de rede disponível que não esteja sendo utilizada por outros serviços no dispositivo. No meu caso, a Ethernet principal já estava em uso, então configurei uma segunda. Utilize um adaptador USB-Ethernet baseado no chip RTL8152 da Realtek para essa tarefa.

Após conectar o adaptador a uma porta USB livre, atualizar e reiniciar o sistema:

sudo apt update && sudo apt upgrade -y
sudo reboot

verifiquei se o sistema detectava o adaptador USB Ethernet:

sudo lsusb

Analisando os dados recebidos

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

notei com satisfação que o Device 004 era meu adaptador.

Em seguida, verifiquei qual interface de rede estava atribuída a esse adaptador:

dmesg | grep 8152

[    2.400424] usb 1-1.3: Novo dispositivo USB encontrado, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: driver de interface r8152 registrado
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

Descobriu-se eth1 🙂 Agora posso configurá-lo e o bridge. 

O que eu realmente fiz, seguindo o algoritmo indicado abaixo:

  • Instalei os pacotes para gerenciamento do bridge:
    sudo apt-get install bridge-utils
  • Instalei ZeroTier ONE:
     
    curl -s https://install.zerotier.com | sudo bash
  • Conectei ele à rede existente do ZeroTier:
    sudo zerotier-cli join
  • Executei o comando para desativar o gerenciamento de endereços IP e rotas do ZeroTier:
    sudo zerotier-cli set  allowManaged=0

Em seguida, no meu controlador de rede:

Em Networks cliquei em detalhe, encontrei e segui o link v4AssignMode e desativei a autoatribuição de endereços IP, desmarcando a caixa de seleção Auto-assign from IP Assignment Pool

Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2
Depois disso, autorizei o nó conectado, dando um nome e marcando as caixas de seleção Autorizado e Active Bridge. Não atribuí um endereço IP.

Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2
Depois, voltei para configurar o bridge na máquina, para isso abri o arquivo de configuração das interfaces de rede para edição no terminal:

sudo nano /etc/network/interfaces

Onde adicionei as seguintes linhas

auto eth1
allow-hotplug eth1
iface eth1 inet manual

auto br0
allow-hotplug br0
iface br0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
        bridge_ports eth1 ztXXXXXXXX
        bridge_fd 0
        bridge_maxage 0

Onde eth1 — adaptador USB Ethernet conectado, ao qual não atribuí um endereço IP.
br0 — uma ponte de rede criada com um IP fixo atribuído a partir do intervalo de endereços da minha rede física.
ztXXXXXXXX — o nome da interface virtual ZeroTier que aprendi pelo comando:

sudo ifconfig

Após inserir as informações, salvei o arquivo de configuração e reiniciei os serviços de rede com o comando:

sudo /etc/init.d/networking restart

Para verificar a funcionalidade da ponte, executei o comando:

sudo brctl show   

De acordo com os dados obtidos, a ponte foi levantada.

nome da ponte	id da ponte		STP ativado	interfaces
br0		8000.00e04c360769	não		eth1
							ztXXXXXXXX

Em seguida, acessei o controlador de rede para definir a rota.

Para isso, na lista de nós da rede, cliquei no link IP assignment da ponte de rede. Em seguida, na janela que se abriu, cliquei em Managed routes. Acesse a nova página, onde como Alvo referiu 0.0.0.0/0, e como Gateway — o IP da ponte de rede do intervalo de endereços da rede da organização, definido anteriormente. No meu caso, 192.168.0.10

Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2
Confirmei as informações inseridas e comecei a verificar a conectividade de rede entre os nós, pingando do nó da rede física para o nó da rede virtual e vice-versa.

E é isso!

Embora, ao contrário do protótipo de onde foram feitas as capturas de tela, os IPs dos nós da rede virtual estejam no mesmo intervalo que os IPs dos nós na rede física. Com a conexão em bridge entre redes, esse modelo é possível, desde que os endereços não se sobreponham aos endereços atribuídos pelo servidor DHCP.

Não entrarei em detalhes sobre a configuração da ponte de rede em nós gerenciados por MS Windows e outras distribuições Linux nesta artigo — há muitos materiais disponíveis na internet sobre esse tópico. No que diz respeito à configuração do lado do controlador de rede — ela é idêntica à descrição acima.

Gostaria apenas de ressaltar que o Raspberry PI é uma ferramenta acessível e conveniente para unir redes com o ZeroTier, e não apenas como uma solução estacionária. Por exemplo, prestadores de serviços podem usar uma ponte de rede pré-configurada baseada em Raspberry PI para unir rapidamente a rede física do cliente atendido com as redes virtuais baseadas em ZeroTier.

Com isso, permito-me encerrar esta parte da narrativa. Estou aguardando perguntas, opiniões e comentários — pois é com base neles que construirei o conteúdo do próximo artigo. Enquanto isso, sugiro que você tente organizar sua própria rede virtual com a ajuda de um controlador de rede privado com GUI baseado em VDS do marketplace. site RUVDS. Além disso, todos os novos clientes têm um período de teste gratuito de 3 dias!

-> Introdução. Parte teórica. Switch Ethernet inteligente para o planeta Terra
-> Guia prático para construção de redes virtuais. Parte 1
-> Guia prático para construção de redes virtuais. Parte 2

Powered by ZeroTier. Guia prático para construção de redes virtuais. Parte 2

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster