Я исследую периодический сбой сети, и когда я смотрю на /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 сообщит об этом, а ваши физические интерфейсы - нет.
И да, в этом могут быть (и почти наверняка будут) отброшенные пакеты.