ZeroTier (Português)
ZeroTier é uma alternativa multi-plataforma e de fácil uso ao LAN virtual / Hamachi, também disponível no Android, iOS, Mac, e Windows. A interface gráfica (GUI) só está disponível para Mac e Windows, de acordo com os desenvolvedores.
Instalação
Instale o pacote zerotier-one.
Configuração
Você precisará criar uma conta em My ZeroTier, criar uma rede, e selecionar suas opções de interesse, como o suporte ao IPv4 ou IPv6 ou ambos. Tome nota do ID da rede recém-criada, pois você precisará dela mais tarde.
Deixe a página para a rede que você vai usar aberta, pois você precisará autorizar cada computador ou dispositivo que queira conectar, e também verificar que eles recebam um endereço IP.
Para começar, inicie zerotier-one.service. Caso queira que ele seja iniciado durante o boot do sistema, ative zerotier-one.service. Para encontrar o Endereço ZeroTier do seu computador, que será um número hexadecimal de 10 dígitos similar a 89e92ceee5, execute:
# zerotier-cli info
200 info 89e92ceee5 1.2.4 ONLINE
onde 89e92ceee5 é o Endereço, e 1.2.4 é a sua versão, seguida pelo status atual.
Em seguida, você precisará se juntar a uma rede:
# zerotier-cli join network_id
O ID de rede é um número hexadecimal de 16 dígitos como 8056c2e21c000001 que você pode encontrar na página de Redes (Networks).
De volta na página de rede em my.zerotier, desça até a seção de Membros onde você pode ver todos os endereços que se juntaram à rede. Para autorizar cada computador ou dispositivo, clique na checkbox mais à esquerda e verifique que ele recebeu um endereço IP (o que pode levar uns 10 ou 20 segundos). Você pode ter que executar dhcpcd para adquirir o novo endereço IP localmente.
Para verificar que todos os dispositivos enxergam uns aos outros você pode dar ping em cada endereço usando seu respectivo IP, como:
$ ping 192.168.192.91
PING 192.168.192.91 (192.168.192.91) 56(84) bytes of data. 64 bytes from 192.168.192.91: icmp_req=1 ttl=53 time=52.9 ms ...
Você também pode ver pares (peers) conectados executando:
# zerotier-cli listpeers
200 listpeers <ztaddr> <path> <latency> <version> <role> 200 listpeers 12ac4a1e71 87.98.218.130/30883;12;12;1.00 589 1.2.5 LEAF 200 listpeers 8841408a2e 159.203.2.154/9993;13262;13220;1.00 127 1.1.5 PLANET 200 listpeers 9d219039f3 159.203.97.171/9993;13241;3218;1.00 63 1.1.5 PLANET ...
e ver uma lista das redes que o computador está conectado com:
# zerotier-cli listnetworks
Configuração manual
Uma configuração manual pode ser feita criando o arquivo local.conf no diretório principal do programa: /var/lib/zerotier-one. Isso o permite definir diversas opções de configuração, como restringir o serviço a interfaces específicas, ou forçando o uso de uma outra porta. Esse arquivo deve estar em uma sintaxe JSON válida, pois ele pode ser reescrito pelo zerotier-one. Abaixo está um exemplo de local.conf que nega o uso de interfaces docker e bridged ao zerotier-one:
local.conf
{
"settings": {
"interfacePrefixBlacklist": [ "docker", "br-" ]
}
}
Mais informações sobre os itens de configuração disponíveis podem ser encontradas no repositório do programa no GitHub.
Solução de problemas
Dispositivos em rede virtual não alcançáveis
Verifique o status do unit do zerotier-one.service. Se você vê o seguinte erro:
ERROR: unable to configure virtual network port: could not open TUN/TAP device: No such file or directory
o módulo de kernel TUN/TAP provavelmente não está carregado. Um reboot deve resolver o problema.