ifconfig eth0 RX отбросил пакеты

Эта проблема

Команда ifconfig показывает все больше и больше пропущенных пакетов в разделе RX. Таким образом, кажется, что есть проблема с некоторыми пакетами, поступающими из Интернета на мой сервер.

Вопросы

  1. Какие типы пакетов учитывает этот счетчик сбрасываний? Требуются ли все пакеты, поступающие до достижения брандмауэра iptables или после того, как пакеты были приняты iptables?

  2. Как решить ситуацию, чтобы счетчик отбрасываемых пакетов ipconfig перестал увеличиваться?

Полезная информация по устранению неполадок

Поскольку я не знаю, в чем заключается моя проблема, не стесняйтесь попросить меня заполнить этот раздел, если вы считаете, что понадобится какая-то другая информация.

Ifconfig

eth0      Link encap:Ethernet  HWaddr 00:cc:cc:cc:cc:cc  
          inet adr:90.0.0.2  Bcast:90.0.0.255  Masque:255.255.255.0
          adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
          adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:113264620 errors:0 dropped:2523 overruns:0 frame:0
          TX packets:168526529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:59171827564 (55.1 GiB)  TX bytes:223993117711 (208.6 GiB)

Обратите внимание на "drop: 2523" в разделе RX. Это самое главное. Это число постоянно увеличивается.

ip -4 route show

default via 90.0.0.254 dev eth0 
90.0.0.0/24 dev eth0  proto kernel  scope link  src 90.0.0.2

ip -6 route show

2001:a100:1:bbbb::1/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
default via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0  metric 1024

Мунинский график плагина if_err_eth0_day

введите описание здесь

3 ответа

http://www.novell.com/support/kb/doc.php?id=7007165

Начиная с ядра 2.6.37, было изменено значение количества отброшенных пакетов. Ранее отброшенные пакеты, скорее всего, были связаны с ошибкой. Теперь счетчик rx_dropped показывает статистику для пропущенных кадров из-за:

  • Журнал Softnet заполнен
  • Плохие / непреднамеренные теги VLAN
  • Неизвестные / незарегистрированные протоколы
  • IPv6 кадры, когда сервер не настроен для IPv6

[...]

Если счетчик rx_dropped прекращает увеличиваться во время работы tcpdump; тогда это более чем вероятно, показывает падение из-за причин, перечисленных ранее.

Я тоже пытался отследить эту проблему, но безрезультатно. Я также заметил падение пакетов RX со скоростью примерно один раз в секунду на моем компьютере с Ubuntu 12. По результатам моего поиска я нашел людей с похожими проблемами на различных других платформах Linux, SUSE, Rpi и других. Похоже, что-то с ядром Linux. Некоторые более интересные подсказки, которые я заметил, заставляют проблему временно исчезнуть, но не совсем объяснения.

  1. Если я изменю свою конфигурацию со статического на DHCP в моих /etc/network/interfaces, пакеты RX прекратятся. Может быть, нераспознанные пакеты будут иметь какое-то отношение к DHCP, и когда он будет готов, не знает, что с ними делать?

  2. Если я запускаю tcpdump, отбрасывание пакетов прекращается во время работы дампа и возвращается, когда я его останавливаю.

Может быть, эти подсказки помогут докопаться до сути?

В целом производительность моей сети выглядит просто отлично, просто интересно, почему это тоже происходит.

Я долго разыскивал эту проблему и, наконец, сумел собрать воедино части, которые решают эту проблему - для меня.

Ответ дан здесь https://superuser.com/questions/1421591/disable-homeplug-feature-on-fritzbox .

В моем случае это FRITZ!Box 7590, который генерирует пакеты с протоколами 0x88E1 и 0x8912 со средней скоростью один в секунду, как видно из ifconfig, которые «отбрасываются на уровне сетевого интерфейса» (формулировка netdata) на моем компьютере. Удаление их с помощью фильтра XDP, указанного на вышеупомянутой странице, решает эту проблему. Т.е. счетчик сброса RX в ifconfig перестает увеличиваться.

Мне удалось сузить проблему, используя Wireshark с выражением фильтра "!(eth.addr == yo:ur:ma:ca:dd:re) && !(ip.addr == 192.168.5.255)". Т.е. показывать только пакеты, не адресованные напрямую моей машине или широковещательному IP-адресу моей сети. Это устранило достаточно шума, чтобы оставить нежелательный трафик (плюс ARP и другой трафик небольшого объема). Так что, если у вас нет FRITZ!Box, который создает для вас эту проблему, возможно, этот подход поможет определить, какие пакеты вызывают проблему.

Одна небольшая вещь, которая мне пока не совсем ясна: каждые две секунды принимаются три пакета, соответствующие этим протоколам, как можно наблюдать с помощью Wireshark. В результате средняя скорость потери пакетов составит 1,5 в секунду. По-видимому, только два из этих трех являются «нарушающими», поэтому фильтр XDP также отбрасывает один, что не будет проблемой. Но, думаю, я смогу с этим жить.

Другие вопросы по тегам