계층 4 손상을 일으키는 LAN 드라이버

계층 4 손상을 일으키는 LAN 드라이버

내 드라이버가 내 시스템에서 레벨 4 패킷 손상을 일으키고 있다고 비교적 확신합니다. 이 문제를 해결하는 방법을 알고 싶습니다 ..

진단:

  • 어떤 종류의 git clone대규모 저장소라도 항상 오류가 발생합니다 RPC failed; curl 56 GnuTLS recv error (-24): Decryption has failed.
  • 큰 패키지에 대한 작업은 실패 apt-get upgrade하게 됩니다 bad mac.
  • 웹사이트는 때때로 리소스를 무작위로 로드하지 않습니다. 여기에는 CSS부터 이미지까지 모든 것이 포함됩니다.
  • curl몇 MB보다 큰 파일을 시도 하면 OpenSSL SSL_read: error:0A000119:SSL routines::decryption failed or bad record mac, errno 0.
  • 이는 레이어 3을 전송으로 사용하여 기본 설정으로 잘 작동하는 ping 또는 Traceroute에서는 발생하지 않습니다.
  • Windows를 부팅하거나 PC에서 USB WiFi 어댑터를 사용할 때는 이런 일이 발생하지 않습니다.

그래서 이제 내 시스템 어딘가에 드라이버 버그나 손상이 있다고 확신합니다. 나는 이것을 직접 디버깅하는 방법을 완전히 모르겠습니다. 이 문제를 추가로 진단하고 해결하려면 어떻게 해야 합니까?

여기에 구성을 포함하겠습니다.

커널 버전:

$ uname -r 
5.15.0-78-generic

PCI ID:

$ lspci -nn 
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)

인터페이스 드라이버 및 펌웨어:

$ sudo ethtool -i eno1
driver: r8125
version: 9.011.01-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

인터페이스 구성:

$ ethtool -k eno1
Features for eno1:
rx-checksumming: on
tx-checksumming: on
    tx-checksum-ipv4: on
    tx-checksum-ip-generic: off [fixed]
    tx-checksum-ipv6: on
    tx-checksum-fcoe-crc: off [fixed]
    tx-checksum-sctp: off [fixed]
scatter-gather: off
    tx-scatter-gather: off
    tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
    tx-tcp-segmentation: off
    tx-tcp-ecn-segmentation: off [fixed]
    tx-tcp-mangleid-segmentation: off
    tx-tcp6-segmentation: off
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]
rx-udp-gro-forwarding: off
hsr-tag-ins-offload: off [fixed]
hsr-tag-rm-offload: off [fixed]
hsr-fwd-offload: off [fixed]
hsr-dup-offload: off [fixed]

편집하다:

제안된 단계를 검토하고 유니버설 스테이징/수신 오프로드를 끈 후에도 wget대용량 파일을 처리할 때 다음 오류가 계속 발생합니다.

Read error at byte 128106483/6140975104 (error:0A000119:SSL routines::decryption failed or bad record mac). Retrying.

답변1

따라서 Realtek RTL8125는 코어 외부 드라이버입니다. 직접 다운로드하셨나요, 아니면 배포판에서 자동으로 로드하셨나요?

드라이버 버전 9.011.01-NAPI는 다음과 같을 수 있음을 나타냅니다.Realtek에서 출시한 최신 버전의 드라이버. 분명히 버전 번호에는 선택한 빌드 시간 옵션에 따라 다양한 접미사( -NAPI, -REALWOW및 또는 ) 가 있을 수 있습니다.-PTP-RSS-PRINTER-DASH

있는 것 같다Github에는 Realtek이 출시한 드라이버 포크가 많이 있습니다.

출력의 다음 줄은 ethtool -k약간 의심스러워 보입니다.

generic-segmentation-offload: off [requested on]

따라서 네트워크 드라이버주장하다범용 분할 오프로드 기능을 구현했지만 분명히 약속을 이행하지 못했고 요청 시 활성화하지 못했습니다. 이로 인해 네트워크 인터페이스의 하드웨어나 이를 사용하려는 드라이버에 문제가 있을 수 있다는 생각이 듭니다.

Universal Segmentation Offload에 대한 수신기 측 보완 기능이므로 이를 비활성화하고 범용 수신 오프로드 기능을 사용해 볼 수 있습니다.

sudo ethtool -K eno1 generic-segmentation-offload off generic-receive-offload off

나도 찾았어이 드라이버의 OpenWrt 프로젝트 버전문서에 언급된 대로 네트워크 인터페이스 칩은 RSS(Receive Side Scaling) 기능과 관련하여 몇 가지 문제가 발생할 수도 있습니다 README.md.

최신 버전의 드라이버는 기본적으로 RSS 기능을 비활성화하며, 컴파일 옵션을 활성화해도 효과가 없습니다.

드라이버 버전에 접미사가 표시되지 않으므로 -RSS아직 내장되지 않았을 수 있으므로 귀하의 경우에는 관련이 없을 수 있습니다.

안타깝게도 저는 이 카드나 Realtek에서 제공하는 드라이버에 대한 경험이 없습니다. 하지만 이제 최소한 귀하의 질문에는 유용한 정보가 많이 있으므로 올바른 지식을 가진 다른 사람이 질문을 찾고 답변하는 것이 더 쉬울 수 있습니다.

관련 정보