Wireguard - 客户端可以 ping 服务器,但不能互相 ping 通

Wireguard - 客户端可以 ping 服务器,但不能互相 ping 通

我有 3 个节点 - 1 个服务器和两个额外的客户端。

我可以从两个客户端成功 ping 服务器端点,并且可以从服务器 ping 这两个客户端。但是两个客户端无法成功互相 ping 通。

我不太确定是否正确发送了端点 - 我找不到关于应该设置的内容的太多信息。

在服务器上我看到调试错误日志:

[ 2848.826167] wireguard: wg0: Invalid MAC of handshake, dropping packet from 90.218.41.186:1024

我可能哪里出错了?


  peers = [
    # For a client configuration, one peer entry for the server will suffice.

    # server
    {
      publicKey = "***************";
      allowedIPs = [ "10.100.0.1"];
      endpoint = "**Server_IP_redacted**:51820"; 
      persistentKeepalive = 25;
    }

    # pineapple
    {
      publicKey = "*************";
      allowedIPs = [ "10.100.0.2" ];
      endpoint = "**Server_IP_redacted**:51820"; 
      persistentKeepalive = 25;
    }
  ];

答案1

在为服务器定义单个对等点并设置适当的子网(而不是allowedIps显式 IP)后,它开始正常工作。

peers = [

        # server
        {
          publicKey = "**********";
          allowedIPs = [ "10.100.0.0/24"];
          endpoint = "**Server_IP_redacted**:51820"; 
          persistentKeepalive = 25;
        }

  ];

我想我还需要在服务器上启用 NAT:

  networking.nat.enable = true;

相关内容