Linux ルーターのアップリンク インターフェイスで不可解な rx_crc_errors が発生する

Linux ルーターのアップリンク インターフェイスで不可解な rx_crc_errors が発生する

私はDebian 11を実行しているLinuxマシンを持っており、これはエッジにあるデバイスとホストマシンの間のルーターとして機能しています。curlファイルをダウンロードするコマンドを実行しているときに、エッジに面しているインターフェースrx_crc_errors散発的にだが継続的に蓄積し始める- カウントは平均して 1 秒あたり 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

私がチェックした他のマシン上の他のすべてのインターフェースのエラーはすべてゼロであることに注意してください。

この時点で、次に何をチェックすればよいのか困惑しています。この問題は何らかの形でエッジ ルーターに関連していると思われますが、このエッジ ルーターに接続されている他のルーターでは同じ問題が発生しません。ある時点で、エッジ ルーターからスイッチへの VLAN トランキング (802.1q タグ付け) を使用していましたが、これを無効にし、MTU を 4 バイト増やして 1504 にしてみましたが、どちらも目に見える変化はなく、rx_crc_errors は依然として蓄積され、上記のようにパフォーマンスが低下しています。

これらの rx_crc_errors の原因を診断するための他のアイデアはありますか?

関連情報