나는 가장자리에 있는 장치와 호스트 컴퓨터 사이에서 라우터 역할을 하는 Debian 11을 실행하는 Linux 컴퓨터를 가지고 있습니다. 파일을 다운로드하라는 명령을 수행하는 동안 curl
인터페이스가 가장자리를 향하고 있습니다.rx_crc_errors
산발적으로, 그러나 지속적으로 축적되기 시작합니다.- 카운트는 초당 평균 1~2회씩 증가합니다. 결과적으로 이 curl
명령은 라우터 뒤에 있는 호스트 시스템 모두에서 매우 느리게 실행되고 회선에서 사용할 수 있는 속도의 일부만 다운로드됩니다. (그리고 동일한 에지 장치를 통과하는 다른 라우터와 서버를 확인했는데 더 빠른 속도로 실행하고 rx_crc_errors를 누적하지 마세요).
에지 라우터(이러한 rx_crc_errors를 축적하는 시스템/인터페이스의 게이트웨이)는 pfSense 22.01(최신)을 실행하는 NetGate 1537입니다.
지금까지 시도한 것:
- 케이블을 교체했습니다
- SFP 어댑터를 교체했습니다.
- 다른 스위치 포트를 사용했습니다.
- 전체 호스트 시스템을 동일한 구성 중 하나로 교체했습니다.
이들 중 어느 것도 동작을 변경하지 않았으며, 내가 알 수 있는 한 문제의 원인인 하드웨어를 제거했습니다.
curl https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz --output t.dat
엣지 머신에서 수행하는 작업은 약 1초 안에 완료됩니다. rx_crc_errors가 있는 라우터에서는 17초가 걸리고 그 뒤에 있는 호스트에서는 21초가 걸립니다.
오류는 업링크 인터페이스에 다음과 같이 표시됩니다.
...
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 10:1f:74:35:fc:94 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
1609100899 1250023 508 0 0 2534
TX: bytes packets errors dropped carrier collsns
20574398 206727 0 0 0 0
...
그런 다음 ethtool을 사용하면 CRC 오류( rx_crc_errors: 508
) 를 보여주는 추가 세부 정보를 얻을 수 있습니다.
ethtool -S enp3s0f0
NIC statistics:
rx_bytes: 1609111223
rx_error_bytes: 0
tx_bytes: 20588905
tx_error_bytes: 0
rx_ucast_packets: 1245869
rx_mcast_packets: 2554
rx_bcast_packets: 1687
tx_ucast_packets: 202770
tx_mcast_packets: 4038
tx_bcast_packets: 0
tx_mac_errors: 0
tx_carrier_errors: 0
rx_crc_errors: 508
rx_align_errors: 0
tx_single_collisions: 0
tx_multi_collisions: 0
tx_deferred: 0
tx_excess_collisions: 0
tx_late_collisions: 0
tx_total_collisions: 0
rx_fragments: 22
rx_jabbers: 0
rx_undersize_packets: 0
rx_oversize_packets: 0
rx_64_byte_packets: 1823
rx_65_to_127_byte_packets: 9084
rx_128_to_255_byte_packets: 2371
rx_256_to_511_byte_packets: 585
rx_512_to_1023_byte_packets: 80
rx_1024_to_1522_byte_packets: 1236167
rx_1523_to_9022_byte_packets: 0
tx_64_byte_packets: 0
tx_65_to_127_byte_packets: 200168
tx_128_to_255_byte_packets: 5659
tx_256_to_511_byte_packets: 370
tx_512_to_1023_byte_packets: 230
tx_1024_to_1522_byte_packets: 381
tx_1523_to_9022_byte_packets: 0
rx_xon_frames: 0
rx_xoff_frames: 0
tx_xon_frames: 0
tx_xoff_frames: 0
rx_mac_ctrl_frames: 0
rx_filtered_packets: 33361
rx_ftq_discards: 0
rx_discards: 0
rx_fw_discards: 0
내가 확인한 다른 컴퓨터의 다른 모든 인터페이스에 대한 오류는 모두 0입니다.
이 시점에서 다음에 무엇을 확인해야 할지 막막합니다. 문제가 어떤 방식으로든 에지 라우터와 관련이 있는 것으로 의심되지만, 동일한 문제를 나타내지 않는 이 에지 라우터에 연결된 다른 라우터가 있습니다. 어느 시점에서 나는 에지 라우터에서 스위치까지 VLAN 트렁킹(802.1q 태깅)을 사용하고 있었지만 이를 비활성화하고 MTU를 4바이트씩 1504로 높이려고 시도했지만 둘 다 눈에 띄는 차이는 없었습니다. rx_crc_errors는 여전히 누적되고 위와 같이 성능이 좋지 않습니다.
이러한 rx_crc_errors의 원인 진단에 대한 다른 아이디어가 있습니까?