У меня 3 узла - 1 сервер и два дополнительных клиента.

Я могу успешно пропинговать конечную точку сервера с обоих клиентов, и я могу пропинговать двух клиентов с сервера. Однако два клиента не могут успешно пропинговать друг друга.

Я не слишком уверен, правильно ли я отправил конечную точку - я не могу найти много информации о том, что это должно быть установлено.

На сервере я вижу журнал ошибок отладки:

[ 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;
    }
  ];
0
Chris Stryczynski 28 Июл 2021 в 13:17
1
Обратите внимание, что wireguard не имеет «внутренней» функции «клиент-клиент», как OpenVPN, поэтому убедитесь, что IP-переадресация включена (с помощью sysctl) и разрешена (в механизмах брандмауэра).
 – 
Tom Yan
28 Июл 2021 в 13:24

1 ответ

Лучший ответ

Он начал работать правильно после определения одного узла для сервера и установки соответствующей подсети вместо allowedIps вместо явного IP-адреса.

peers = [

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

  ];

Я думаю, мне также нужно было включить NAT на сервере с помощью:

  networking.nat.enable = true;
2
Chris Stryczynski 13 Сен 2021 в 18:19