私はそれぞれファイアウォール/ルーターとして実行される複数のUbuntuサーバーを持っています。私はそのうちの1つが他のものよりはるかに高いRXドロップ番号を持っていることを発見しました。水滴がはねているようでした。最後のnetstatは約2.6%の低下を示しています。
$ sudo netstat -ni
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 1715434 0 45323 0 672858 0 0 0 BMORU
eth1 1500 7146 0 0 0 18148 0 0 0 BMRU
lo 65536 200950 0 0 0 200950 0 0 0 LRU
wlan0 1500 679702 0 0 0 1315730 0 0 0 BMRU
これは他の人が示した〜0.01%よりはるかに高いです。この問題の原因をどのように理解できますか?
これまで、インターフェイスリングの受信バッファサイズを増やしてみました。
$ sudo ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 256
$ sudo ethtool -G eth0 rx 4096 tx 4096
また、ntupleフィルタを使用して物理層からいくつかのパケットをドロップすることができると思いましたが、このIntel i210 NICではethtoolを使用してこれらのルールを変更することはできません。
参考までに、ethtoolが提供する追加情報は次のとおりです。 (このパラメータも変更できません。)
$ sudo ethtool -c eth0
Coalesce parameters for eth0:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0
rx-usecs: 3
rx-frames: 0
rx-usecs-irq: 0
rx-frames-irq: 0
tx-usecs: 0
tx-frames: 0
tx-usecs-irq: 0
tx-frames-irq: 0
rx-usecs-low: 0
rx-frames-low: 0
tx-usecs-low: 0
tx-frames-low: 0
rx-usecs-high: 0
rx-frames-high: 0
tx-usecs-high: 0
tx-frames-high: 0
ベストアンサー1
多くのトラブルシューティングと読書の後、これはカーネルブートパラメータでipv6を無効にしただけであることに気づきました。イーサネットカードでパケットが破棄されていると思っていましたが、これはipv6パケットがカーネルでサポートされていないため削除されていることを示しています。
このリンクは私がそれを見つけるのを助けました。https://www.suse.com/support/kb/doc/?id=000017478
したがって、grubコマンドラインでipv6を無効にする代わりに、sysctl.conf(/etc/sysctl.d/20-local.confなど)から直接無効に戻りました。
# disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
これで削除がなくなり、ipv6はまだ無効になっています。あるサーバーが他のサーバーよりも悪いことは少し奇妙ですが、今は両方とも機能します。