Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Continuando a história sobre ZeroTier, da teoria exposta no artigo "Comutador Ethernet Inteligente para o Planeta Terra», passo para a prática, onde:

  • Vamos criar e configurar um controlador de rede privado
  • Vamos criar uma rede virtual
  • Vamos configurar e conectar nós a ela
  • Vamos testar a conectividade de rede entre eles
  • Vamos fechar o acesso à interface gráfica do controlador de rede externamente

Controlador de Rede

Como mencionado anteriormente, para criar redes virtuais, gerenciá-las e conectar nós, o usuário precisa de um controlador de rede, cuja interface gráfica (GUI) existe em duas formas:

Opções de ZeroTier GUI

  • Uma do desenvolvedor do ZeroTier, disponível como uma solução pública em nuvem, oferecida no modelo SaaS, com quatro planos de assinatura, incluindo um gratuito, mas limitado em número de dispositivos gerenciados e nível de suporte.
  • A segunda — de um desenvolvedor independente, com funcionalidades um pouco simplificadas, mas disponível como uma solução privada de código aberto, para uso on-premise ou em recursos de nuvem.

Em minha prática, usei ambas e, no final, decidi pela segunda. O motivo foi os avisos do desenvolvedor.

«Os controladores de rede servem como centros de certificação para redes virtuais ZeroTier. Arquivos contendo as chaves secretas do controlador devem ser cuidadosamente protegidos e arquivados de forma segura. Sua compromissão permite que atacantes não autorizados criem configurações fraudulentas de redes; a perda — resulta na perda da capacidade de controlar e gerenciar a rede, tornando-a inutilizável»

→ Link para a documentação

E também, sinais da minha própria paranoia em segurança da informação 🙂

  • Mesmo que o Cheburnet venha — eu devo manter acesso ao meu controlador de rede;
  • O controlador de rede deve ser utilizado apenas por mim. Quando necessário, concedendo acesso a pessoas de confiança;
  • Deve haver a possibilidade de restringir o acesso ao controlador de rede externamente.

Parar para discutir como implantar o controlador de rede e sua GUI em recursos físicos ou virtuais on-premise nessa artigo, não vejo grande sentido. E há três razões para isso:

  • o texto terminará sendo maior do que eu planejei
  • já falamos sobre isso foi relatado no GitHab do desenvolvedor GUI
  • o tema do artigo é diferente

Portanto, escolhendo o caminho de menor resistência, vou usar nesta narrativa um controlador de rede com GUI baseado em VDS, criado a partir de um template, gentilmente desenvolvido por meus colegas da ProHoster.

Configuração inicial

Após a criação servidor a partir do template indicado, o acesso ao Web-GUI do controlador é feito pelo navegador, acessando o endereço httрs://:3443

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Por padrão servidor já contém um certificado TLS/SSL autoassinado pré-criado. Para mim, isso é suficiente, pois estou restringindo o acesso externo. Para aqueles que desejam usar outros tipos de certificados, há está disponível para instalação no GitHab do desenvolvedor GUI.

Ao acessar o sistema pela primeira vez Iniciar sessão com login e senha padrão — admin e senha:

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Ele sugere alterar a senha padrão para uma personalizada

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Eu faço um pouco diferente — não altero a senha do usuário existente, mas crio um novo — Criar Usuário.

Defino o nome do novo usuário — Nome de usuário:
Defino a nova senha — Digite a nova senha:
Confirme a nova senha — Reinsira a senha:

Os caracteres digitados são sensíveis a maiúsculas e minúsculas — tenha cuidado!

Caixa de seleção para confirmação da alteração de senha no próximo login — Alterar senha no próximo login: não marco.

Para confirmar os dados inseridos, clico em Definir senha:

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Depois: faço logout — Sair / Iniciar sessão, já com as credenciais do novo usuário:

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Em seguida, vou para a guia usuários — Usuários e excluo o usuário admin, clicando no ícone da lixeira localizado à esquerda do nome dele.

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Futuramente, é possível alterar a senha do usuário clicando em seu nome ou em definir senha.

Criando uma rede virtual

Para criar uma rede virtual, o usuário deve acessar a guia Adicionar rede. A partir do item User isso pode ser feito pela página Home — a página principal do Web-GUI, onde é exibido o endereço ZeroTier deste controlador de rede e há um link para a página da lista de redes criadas por ele.

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Na página Adicionar rede o usuário atribui um nome à nova rede que está sendo criada.

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Ao aplicar os dados inseridos — Criar Rede o usuário é levado à página com a lista de redes, onde estão indicados:

Nome da rede — o nome da rede em formato de link, onde ao clicar pode ser alterado
ID da rede — identificador da rede
detalhe — link para a página com os parâmetros detalhados da rede
configuração fácil — link para a página de configuração simples
membros — link to the node management page

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
For further configuration, we go to the link configuração fácil. On the opened page, the user sets the range of IPv4 addresses for the created network. This can be done automatically by clicking the button Generate network address or manually by entering the network mask into the corresponding field CIDR.

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
When the data entry is confirmed successfully, it is necessary to return to the network list page using the Back button. At this point, the main network configuration can be considered complete.

Connecting network nodes

  1. First, the user must install the ZeroTier One service on the node they want to connect to the network.What is ZeroTier One?ZeroTier One — a service running on laptops, desktops, servers, virtual machines, and containers, which provides connections to a virtual network through a virtual network port, similar to a VPN client. After installing and starting the service, you can connect to the virtual networks using their 16-digit addresses. Each network appears as a virtual network port in the system that behaves exactly like a regular Ethernet port.
    Links to distributions and installation commands can be found on the manufacturer's page. The installed service can be managed through the command line terminal (CLI) with admin/root rights. In Windows/MacOS also through a graphical interface. In Android/iOS only through the GUI.
  2. Checking the success of the service installation:CLI:
    zerotier-cli status

    Resultado:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    The mere fact that the application is running and there is a line with the Node ID addressed to the node.

  3. Connecting the node to the network:CLI:
    zerotier-cli join

    Resultado:

    200 join OK

    GUI:

    Windows: by right-clicking the icon ZeroTier One in the system tray and selecting the item — Join Network.

    Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
    MacOS: Launch the application ZeroTier One in the bar menu, if it is not already running. Click the ⏁ icon and select Join Network.

    Android/iOS: + (the plus image) in the app

    Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
    In the field that appears, enter the network controller specified in the GUI ID da rede, and click Join / Add Network.

  4. Assigning an IP address to the node
    Now we return to the network controller and on the page with the list of networks go to the link membros. If you see an image like this on the screen — it means your network controller has received a request to confirm network connection from the connecting node.Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
    On this page, we leave everything as it is for now and follow the link IP assignment vamos para a página de destino do nó com o endereço IP:Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
    Após atribuir o endereço, clique no botão Verso voltamos para a página da lista de nós conectados e definimos o nome — Nome do membro e marcamos a caixa de seleção para autorizar o nó na rede — Autorizado. A propósito, esta caixa de seleção é muito conveniente para desconectar/conectar o nó da rede posteriormente.Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
    Salve as alterações usando o botão Atualizar.
  5. Verificando o status de conexão do nó à rede:
    Para verificar o status de conexão no próprio nó, executamos:
    CLI:
    zerotier-cli listnetworks

    Resultado:

    200 listnetworks
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    O status da rede deve ser OK

    Para conectar os outros nós, repetimos as operações 1-5 para cada um deles.

 

Verificação da conectividade de rede dos nós

Faço isso executando o comando ping no dispositivo conectado à rede que estou gerenciando no momento.

Powered by ZeroTier. Guia prático para construir redes virtuais. Parte 1
Na captura de tela do Web-GUI do controlador, é possível ver três nós conectados à rede:

  1. ZTNCUI — 10.10.10.1 — meu controlador de rede com GUI — VDS em um dos DCs da ProHoster. Para operação normal, não é necessário adicioná-lo à rede, mas eu fiz isso porque quero restringir o acesso à interface web de fora. Farei mais sobre isso mais adiante.
  2. MyComp — 10.10.10.2 — meu computador de trabalho — um PC físico
  3. Backup — 10.10.10.3 — VDS em outro DC.

Portanto, do meu computador de trabalho, verifico a acessibilidade dos outros nós com os comandos:

ping 10.10.10.1

Enviando ping para 10.10.10.1 com 32 bytes de dados:
Resposta de 10.10.10.1: bytes=32 tempo=14ms TTL=64
Resposta de 10.10.10.1: bytes=32 tempo=4ms TTL=64
Resposta de 10.10.10.1: bytes=32 tempo=7ms TTL=64
Resposta de 10.10.10.1: bytes=32 tempo=2ms TTL=64

Estatísticas do ping para 10.10.10.1:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Tempos aproximados de ida e volta em milissegundos:
Mínimo = 2ms, Máximo = 14ms, Médio = 6ms

ping 10.10.10.3

Enviando ping para 10.10.10.3 com 32 bytes de dados:
Resposta de 10.10.10.3: bytes=32 tempo=15ms TTL=64
Resposta de 10.10.10.3: bytes=32 tempo=4ms TTL=64
Resposta de 10.10.10.3: bytes=32 tempo=8ms TTL=64
Resposta de 10.10.10.3: bytes=32 tempo=4ms TTL=64

Estatísticas do ping para 10.10.10.3:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Tempos aproximados de ida e volta em milissegundos:
Mínimo = 4ms, Máximo = 15ms, Médio = 7ms

O usuário tem o direito de usar outras ferramentas para verificar a acessibilidade dos nós na rede, tanto as integradas ao sistema operacional quanto ferramentas como NMAP, Advanced IP Scanner, etc.

Ocultando o acesso ao GUI do controlador de rede de fora.

Na verdade, para reduzir a probabilidade de acesso não autorizado ao VDS, onde está meu controlador de rede, posso usar firewall na minha conta pessoal da ProHoster. Este tema é mais adequado para um artigo separado. Portanto, aqui mostrarei como garantir o acesso ao GUI do controlador apenas a partir da rede que criei neste artigo.

Para isso, é necessário se conectar via SSH ao VDS onde está o controlador, abrir o arquivo de configuração usando o comando:

nano /opt/key-networks/ztncui/.env

No arquivo aberto, após a linha "HTTPS_PORT=3443", que contém o endereço da porta pela qual a GUI é aberta, é necessário adicionar uma linha adicional com o endereço pelo qual a GUI será acessada — no meu caso, é HTTPS_HOST=10.10.10.1.

Em seguida, salvarei o arquivo

Ctrl+C
Y
Enter 

e executarei o comando:

systemctl restart ztncui

E é isso, agora a GUI do meu controlador de rede está disponível apenas para os nós da rede 10.10.10.0/24.

Em conclusão

Com isso, quero encerrar a primeira parte do guia prático sobre a criação de redes virtuais baseadas em ZeroTier. Aguardarei seus comentários.

Enquanto isso, para passar o tempo até a publicação da próxima parte, na qual falarei sobre como conectar a rede virtual com a rede física, como organizar o modo "road warrior" e mais algumas coisas, recomendo que você tente organizar sua própria rede virtual usando um controlador de rede privado com GUI baseado em VDS do marketplace da site ProHoster. Além disso, todos os novos clientes têm um período de teste gratuito de 3 dias!

P.S. Ah! Quase me esqueci! Você pode remover um nó da rede com o comando no CLI desse nó.

zerotier-cli leave

200 leave OK

ou com o comando Delete na GUI do cliente no nó.

-> 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 construir redes virtuais. Parte 1

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