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