Não é possível conectar peer local a peer local pelo Wireguard

Não é possível conectar peer local a peer local pelo Wireguard

Tenho servidor online com IP 1.2.3.4 e dois computadores locais em locais diferentes. computador A e computador B.

Eu segui as instruções sobre como configurar o Wireguard aqui:https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/

Mas o computador A não consegue executar ping ou conectar-se ao computador B.

Acho que preciso, mas não sei como configurar um servidor online para fazer essa comunicação entre pares locais.

Como fazer isso?

Os pares locais são desktop Mac e Ubuntu.

Minha configuração: Servidor:

[Interface]
Address = 192.168.6.1/24
ListenPort = 41194
PrivateKey = <key>


[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

Par local A:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

Par local B:

[Interface]
PrivateKey = <key>
Address = 192.168.6.3/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

O servidor pode se comunicar com o ponto A e o ponto B, mas o ponto A não pode com o ponto B.

Responder1

O tutorial que você mencionou parece estar direcionando você para uma topologia "hub and spoke", onde o ponto A e o ponto B não se conectam diretamente um ao outro - em vez disso, a conexão deles é roteada através do seu servidor. Se é isso que você deseja fazer, você deve remover a segunda [Peer]entrada dos arquivos de configuração do Peer A e do Peer B e alterar a AllowedIPsconfiguração da primeira [Peer]entrada para isto:

AllowedIPs = 192.168.6.0/24

Você também precisará ativar o encaminhamento de pacotes no servidor. Existem algumas maneiras diferentes de fazer isso, mas a mais simples com o WireGuard é apenas adicionar o seguinte PreUpcomando à [Interface]seção do arquivo de configuração do servidor:

PreUp = sysctl -w net.ipv4.ip_forward=1

No entanto, se o que você deseja fazer é conectar o ponto A ao ponto B diretamente (ou seja, "ponto a ponto"), você precisa ter um endereço IP público estático para um dos pontos. Se for esse o caso, você manteria essa segunda [Peer]entrada nos arquivos de configuração do Peer A e do Peer B; e adicione uma Endpointconfiguração à segunda [Peer]entrada de um de seus arquivos e uma ListenPortconfiguração à [Interface]entrada do outro.

Por exemplo, se o Peer A estiver acessível ao Peer B pela Internet (ou alguma rede interna) em 198.51.100.123 e tiver a porta UDP 51820 acessível a novas conexões do Peer B, altere a segunda [Peer]entrada no arquivo de configuração do Peer B para isto:

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
Endpoint = 198.51.100.123:51820
PersistentKeepalive = 15

E altere a [Interface]entrada na configuração do Peer A para isto:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32
ListenPort = 51820

informação relacionada