AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1179926
Accepted
one_new_message
one_new_message
Asked: 2025-04-26 08:03:14 +0800 CST2025-04-26 08:03:14 +0800 CST 2025-04-26 08:03:14 +0800 CST

O Wireguard parou de funcionar de repente; pacotes recebidos, mas sem handshake

  • 772

Minha configuração do Wireguard parou de funcionar repentinamente ontem, sem nenhuma alteração de configuração ou chave. Para solucionar o problema, reduzi-a à configuração mais simples. Um cliente na minha rede deve se conectar a um servidor rodando em um VPS.

Configuração do servidor ("posto avançado"):

outpost:~# cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <outpost-privkey>
Address = 10.5.0.1/16
MTU = 1440
ListenPort = 51820

[Peer]
PublicKey = <rp-pubkey>
AllowedIPs = 10.5.0.2/32
PersistentKeepAlive = 13

Configuração do cliente ("rp"):

rp:~# cat /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <rp-privkey>
Address = 10.5.0.2/16
MTU = 1440

[Peer]
PublicKey = <outpost-pubkey>
Endpoint = <outpost-ip>:51820
AllowedIPs = 10.5.0.1/32
PersistentKeepAlive = 23

Usando dmesge tcpdumpposso observar repetidas tentativas de iniciação de handshake enviadas pelo cliente:

rp:~# dmesg -wT
...
[Fri Apr 25 23:45:18 2025] wireguard: wg0: Sending handshake initiation to peer 1 (<outpost-ip>:51820)
rp:~# tcpdump -n -vvv -i ens18 udp port 51820
...
23:45:19.115710 IP (tos 0x88, ttl 64, id 34886, offset 0, flags [none], proto UDP (17), length 176)
    <rp-ip>.48825 > <outpost-ip>.51820: [bad udp cksum 0x825d -> 0x3db4!] UDP, length 148

O servidor recebe o pacote:

outpost:~# tcpdump -n -vvv -i enp0s6 udp port 51820
...
23:45:19.129033 IP (tos 0x8, ttl 55, id 34886, offset 0, flags [none], proto UDP (17), length 176)
    <rp-ip>.46567 > <outpost-rp>.51820: [udp sum ok] UDP, length 148

Mas o Wireguard no servidor não mostra nenhuma indicação de que recebeu algo.

outpost:~# wg
interface: wg0
  public key: <outpost-pubkey>
  private key: (hidden)
  listening port: 51820

peer: <rp-pubkey>
  allowed ips: 10.5.0.2/32
  persistent keepalive: every 13 seconds

O servidor tenta regularmente enviar sua própria iniciação de handshake:

outpost:~# dmesg -wT
[Fri Apr 25 23:46:45 2025] wireguard: wg0: Sending handshake initiation to peer 1 ((einval))

Mas como o servidor não tem conhecimento do IP público (dinâmico) do cliente, essa iniciação de handshake não aparece nem no servidor nem no cliente que o utiliza tcpdump.

Ambas as máquinas usam o mesmo servidor NTP ( ntp.ubuntu.com) e estão sincronizadas corretamente. Minha MTU de 1440 está otimizada para minha configuração, e o comportamento não muda sem esta linha. Também regenerei as chaves do servidor/cliente várias vezes sem alterações no comportamento.

iptables estão definidos corretamente no servidor/cliente:

# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
...

O UFW não está instalado.

Qualquer sugestão é bem-vinda.

networking
  • 1 1 respostas
  • 118 Views

1 respostas

  • Voted
  1. Best Answer
    one_new_message
    2025-04-27T06:39:25+08:002025-04-27T06:39:25+08:00

    Estava faltando uma iptablesregra na filtertabela que, de alguma forma, esqueci (e precisei adicionar como primeira regra na INPUTcadeia):

    iptables -I INPUT 1 -j ACCEPT
    

    Agora o WireGuard se conecta. Eu entendi errado a ordem dos iptablespacotes de processamento e pensei que isso -P INPUT ACCEPTfosse suficiente. Agora, com uma configuração funcional, posso substituir essa regra por uma mais seletiva (segura).

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve