WAN 이더넷 인터페이스에서 들어오는 패킷 삭제 수를 어떻게 진단하고 줄일 수 있습니까?

WAN 이더넷 인터페이스에서 들어오는 패킷 삭제 수를 어떻게 진단하고 줄일 수 있습니까?

저는 각각 방화벽/라우터로 실행되는 여러 Ubuntu 서버를 가지고 있습니다. 나는 그 중 하나가 다른 것보다 훨씬 높은 RX-drop 번호를 가지고 있음을 발견했습니다. 물방울이 튀는 것 같았습니다. 마지막 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은 여전히 ​​비활성화되어 있습니다. 한 서버가 다른 서버보다 나쁘다는 것이 조금 이상하지만 이제는 둘 다 작동합니다.

관련 정보