Wireguard 报告传输错误,但底层接口未报告任何错误

Wireguard 报告传输错误,但底层接口未报告任何错误

我正在调查间歇性网络故障,查看/proc/net/dev文件时我发现 WireGuard 接口报告了集群中所有虚拟机的可变数量的传输错误(它随着通过该接口的流量而或多或少地扩展)。

然而,据报道没有错误在接收端。并且底层接口没有报告任何错误。

我应该如何解释这种情况?这是预料之中的吗?这是 WireGuard 中的错误吗?这可能是间歇性断开连接的原因吗?

ip -s -s link show wg0
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/none 
    RX: bytes  packets  errors  dropped overrun mcast   
    18229925236 135673958 0       0       0       0       
    RX errors: length   crc     frame   fifo    missed
               0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    951387346088 775255612 26278   0       0       0       
    TX errors: aborted  fifo   window heartbeat transns
               0        0       0       0       0       

我在这里只是为了向您展示我所看到的情况。

答案1

WireGuard 使用 UDP,因此发送方几乎不会报告任何错误 - 接收方也是如此。如果数据包在传输过程中丢失(丢弃),接收方 WireGuard 接口将报告该情况,但您的物理接口不会报告。

是的,丢失的数据包可能是(并且几乎肯定会是)罪魁祸首。

相关内容