Назад | Перейти на главную страницу

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       

Это здесь, чтобы дать вам некоторую иллюстрацию того, что я вижу.

WireGuard использует UDP, поэтому отправляющая сторона почти никогда не будет сообщать об ошибках, как и принимающая сторона. Если пакеты теряются (отбрасываются) на своем пути, принимающий интерфейс WireGuard сообщит об этом, а ваши физические интерфейсы - нет.

И да, в этом могут быть (и почти наверняка будут) отброшенные пакеты.