본문 바로가기

리눅스

우분투에서 ethtool을 사용하여 랜 카드의 속도 및 전송 모드를 설정하는 방법

728x90

우분투에서 ethtool을 사용하여 랜 카드의 속도 및 전송 모드를 설정하는 방법

ethtool 설치

sudo apt-get update
sudo apt-get -y install ethtool

네트워크 인터페이스 확인

설정할 랜 카드의 네트워크 인터페이스를 확인합니다. 일반적으로 ifconfig 또는 ip addr 명령을 사용하여 확인할 수 있습니다.

ifconfig enp0s8
$ ifconfig enp0s8
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.71  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fe2a:e26b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:2a:e2:6b  txqueuelen 1000  (Ethernet)
        RX packets 1  bytes 60 (60.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9  bytes 726 (726.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ip addr show enp0s8
$ ip addr show enp0s8
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:2a:e2:6b brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.71/24 brd 192.168.56.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe2a:e26b/64 scope link 
       valid_lft forever preferred_lft forever

ethtool 사용

  • 네트워크 인터페이스의 속도와 전송 모드를 확인
    • Speed: 100Mb/s
    • Duplex: Full
    • Auto-negotiation: off
ethtool enp0s8
$ ethtool enp0s8
Settings for enp0s8:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: umbg
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
  • 네트워크 인터페이스의 속도와 전송 모드를 설정
sudo ethtool -s [interface_name] speed [speed_value] duplex [duplex_mode]
  • [interface_name] : 설정하려는 네트워크 인터페이스의 이름입니다.
  • [speed_value] : 설정할 속도 값입니다. 일반적으로 Mbps 단위로 지정됩니다.
  • [duplex_mode] : 설정할 전송 모드입니다. 주로 half 또는 full 중 하나로 설정됩니다.
728x90

사용 예시

  • enp0s8 인터페이스의 속도를 1000Mbps로 전송 모드를 전이중으로 설정하는 명령어 라인
sudo ethtool -s enp0s8 speed 1000 duplex full autoneg on
  • 영구적으로 설정

위의 설정은 임시적이므로 시스템이 재부팅되면 다시 초기 상태로 돌아갑니다. 영구적으로 설정하려면 네트워크 설정 파일에 해당 설정을 추가해야 합니다. 우분투에서는 /etc/network/interfaces 또는 /etc/netplan/*.yaml 파일에서 네트워크 설정을 관리합니다. 이 파일들을 편집하여 설정을 추가하고 저장한 후에는 시스템을 다시 부팅하거나 네트워크를 재시작하여 변경 사항을 적용합니다.

vim /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      addresses: 
      - 192.168.1.2/24
      nameservers:
        addresses:
        - 8.8.8.8
        search: []
      routes:
      - to: default
        via: 192.168.0.1
    enp0s8:
      dhcp4: no
      addresses: [192.168.56.71/24]
      # 아래 라인 추가
      ethtool:
        speed: 100
        duplex: full
sudo netplan apply

또는

sudo vim /etc/network/interfaces
auto enp0s8
iface enp0s8 inet manual
    pre-up /sbin/ethtool -s enp0s8 speed 1000 duplex full
sudo systemctl restart networking
  • 주의 사항

속도 및 전송 모드 설정은 네트워크 장비와 연결된 장비와 호환되어야 합니다. 설정을 변경하기 전에 네트워크 환경 및 연결된 장비의 지원을 확인하는 것이 중요합니다. 또한 랜 카드가 제대로 동작하지 않을 수 있는 경우를 대비하여 설정을 변경하기 전에 백업을 만드는 것이 좋습니다.

 

참고URL

- Cisco 기술 지원 및 문서 : 이더넷 10/100/1000Mb 하프(half)/풀 듀플렉스(full-duplex) 자동 협상 설정 및 확인

 

728x90