3개의 노드(서버 1개와 추가 클라이언트 2개)가 있습니다.
두 클라이언트 모두와 서버의 두 클라이언트 모두에서 서버 엔드포인트를 성공적으로 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;