Ubuntu 22.04 - 네트워크 - 유선 연결에 케이블이 연결되지 않았다고 표시됨

Ubuntu 22.04 - 네트워크 - 유선 연결에 케이블이 연결되지 않았다고 표시됨

Windows 10 및 Ubuntu 22.04 LTS를 실행하는 이중 부팅 시스템이 있는데 유선 연결이 제대로 작동하지 않는 것 같습니다. 나는 다음을 시도했다:

ethtool을 설치했어요

sudo apt-get install ethtool

간단히 명령을 실행했습니다.

sudo ethtool -s ens5f5 autoneg off speed 100 duplex full

여기서 ens5f5는 이전에 ifconfig로 얻은 이더넷 인터페이스입니다.

나는 그것을 발견했다18.04를 사용하여 홈 이더넷 네트워크에 연결할 수 없음 - 케이블이 연결되지 않음하지만 해당 솔루션을 구현하고 속도 테스트를 실행하면 Wi-Fi 연결을 사용하는 것보다 훨씬 느립니다. 속도를 1000으로 대체하려고 했지만 오류가 반환되었습니다. netlink 오류: 잘못된 인수

Wi-Fi 속도에 만족하지만 이더넷 연결이 허용 가능한 속도로 작동하지 않는 이유가 무엇인지 궁금합니다.

답변1

문제 해결됨

Ubuntu 22.04를 다시 설치하고 실행한 후:

sudo ethtool -s ens5f5 autoneg on speed 100 duplex full

속도 테스트 결과 허용 가능한 속도(다운로드 속도 93.45)를 얻을 수 있었습니다. autoneg를 off에서 on으로 변경했기 때문에 이것이 도움이 되었는지, 아니면 Ubuntu를 새로 설치한 것인지, 아니면 둘을 조합한 것인지는 확실하지 않지만 그대로 사용하겠습니다.

그런 다음 컴퓨터가 부팅될 때마다 명령을 실행할 필요가 없도록 시작 시 실행할 스크립트를 만들었습니다.

먼저 아래 예와 같이 Systemd 서비스 파일을 만듭니다(제가 만든 파일은 /etc/systemd/system/start-ethernet.service입니다).

[Unit]
After=network.target

[Service]
ExecStart=/usr/local/bin/start-ethernet.sh

[Install]
WantedBy=default.target

이후: 스크립트를 실행해야 하는 시기를 systemd에 지시합니다. 우리의 경우 스크립트는 네트워크 연결 후에 실행됩니다. 다른 예로는 mysql.target 등이 있을 수 있습니다.

ExecStart: 이 필드는 시작 시 실행될 실제 스크립트에 대한 전체 경로를 제공합니다.

WantedBy: 시스템 장치를 어떤 부팅 대상에 설치해야 하는지

Ubuntu 시스템 시작 시 실행할 스크립트를 만듭니다. 위의 1단계에서 지정한 대로 새 스크립트의 경로와 이름은 /usr/local/bin/start-ethernet.sh입니다.

다음은 그러한 스크립트의 예입니다.

#!/bin/bash

ethtool -s ens5f5 autoneg on speed 100 duplex full

Systemd 서비스 단위와 스크립트 모두에 대해 적절한 권한을 설정합니다.

$ sudo chmod 744 /usr/local/bin/start-ethernet.sh

$ sudo chmod 664 /etc/systemd/system/start-ethernet.service

다음으로 서비스 단위를 활성화합니다.

$ sudo systemctl daemon-reload

$ sudo systemctl enable start-ethernet.service

이제 시스템을 재부팅할 준비가 되었습니다. 재부팅하면 유선 연결이 활성화됩니다.

다음에서 시작 스크립트를 만들고 실행하는 방법에 대한 지침을 찾았습니다.https://linuxconfig.org/how-to-run-script-on-startup-on-ubuntu-22-04-jammy-jellyfish-server-desktop그런 다음 내 용도에 맞게 조정했습니다.

관련 정보