Linux 에서 네트워크 MTU 설정 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 다양한 방법을 사용하여 Linux 에서 네트워크 인터페이스의 최대 전송 단위 (MTU, Maximum Transmission Unit) 를 확인하는 방법을 배우게 됩니다. MTU 를 이해하는 것은 네트워크 성능 및 문제 해결에 매우 중요합니다.

최신 ip link show 명령, 전통적인 ifconfig 유틸리티를 사용하고, /sys/class/net 파일 시스템 내에서 네트워크 인터페이스 정보를 직접 검사하는 세 가지 다른 접근 방식을 탐구할 것입니다. 이 랩을 마치면 네트워크 인터페이스의 MTU 설정을 능숙하게 식별할 수 있게 됩니다.

이 단계에서는 ip link show 명령을 사용하여 네트워크 인터페이스의 최대 전송 단위 (MTU, Maximum Transmission Unit) 를 확인하는 방법을 배우게 됩니다. MTU 는 네트워크 인터페이스가 조각화 없이 처리할 수 있는 가장 큰 데이터 패킷 크기입니다. MTU 를 이해하는 것은 네트워크 문제 해결 및 성능 튜닝에 중요합니다.

ip 명령은 네트워크 인터페이스, 라우팅 및 터널을 관리하기 위한 Linux 의 강력한 도구입니다. link 하위 명령은 네트워크 인터페이스를 표시하고 수정하는 데 사용됩니다.

아직 열려 있지 않다면 터미널을 엽니다. 데스크탑 왼쪽의 Xfce 터미널 아이콘을 클릭하여 열 수 있습니다.

이제 다음 명령을 입력하고 Enter 키를 누릅니다.

ip link show

이 명령은 시스템의 모든 네트워크 인터페이스에 대한 정보를 표시합니다. 다음과 유사한 출력을 보게 됩니다.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

기본 네트워크 인터페이스에 해당하는 줄을 찾습니다. 이 환경에서는 일반적으로 eth0입니다. 거기에서 mtu 값을 찾을 수 있습니다. 위의 예에서 eth0의 MTU 는 1500입니다.

lo 인터페이스는 시스템 내부 통신에 사용되는 루프백 인터페이스입니다. MTU 는 일반적으로 훨씬 더 큽니다.

잠시 시간을 내어 출력을 검토하고 eth0 인터페이스의 MTU 를 식별하십시오.

다음 단계로 진행하려면 계속을 클릭하십시오.

ifconfig 로 MTU 확인

이 단계에서는 ifconfig 명령을 사용하여 네트워크 인터페이스의 MTU 를 확인합니다. ip가 네트워크 구성을 위한 최신 명령인 반면, ifconfig는 더 오래되었지만 여전히 일반적으로 사용되는 유틸리티입니다. 이는 네트워크 인터페이스에 대한 유사한 정보를 제공합니다.

먼저, ifconfig 명령을 포함하는 net-tools를 설치해 보겠습니다. htop에서 했던 것처럼 다시 apt를 사용합니다.

아직 열려 있지 않다면 터미널을 엽니다.

다음 명령을 입력하고 Enter 키를 눌러 net-tools를 설치합니다.

sudo apt update
sudo apt install net-tools -y

-y 플래그는 설치 중에 발생하는 모든 프롬프트에 자동으로 "yes"로 응답하여 프로세스를 더 원활하게 만듭니다.

설치가 완료되면 ifconfig 명령을 사용할 수 있습니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

ifconfig

이 명령은 활성 네트워크 인터페이스에 대한 구성 정보를 표시합니다. 다음과 유사한 출력을 보게 됩니다.

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 1000  (Ethernet)
        RX packets 123  bytes 12345 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12345 (12.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 123  bytes 12345 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12345 (12.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

다시, eth0에 해당하는 섹션을 찾습니다. ip link show에서 본 값을 확인하는 mtu 값이 거기에 나열되어 있습니다.

ipifconfig를 모두 사용하는 것은 다른 시스템이나 문서에서 하나를 다른 것보다 더 많이 사용할 수 있으므로 도움이 될 수 있습니다.

계속 진행하려면 계속을 클릭하십시오.

/sys/class/net 에서 MTU 검사

이 단계에서는 /sys 파일 시스템을 탐색하여 MTU 값을 찾습니다. /sys 파일 시스템은 커널 데이터 구조에 대한 인터페이스를 제공하는 가상 파일 시스템입니다. 이를 통해 커널 매개변수 및 장치 정보를 검사하고 때로는 수정할 수 있습니다.

MTU 를 포함한 네트워크 인터페이스 정보는 /sys/class/net 디렉토리를 통해 노출됩니다. 시스템의 각 네트워크 인터페이스에는 여기에 하위 디렉토리가 있습니다.

아직 열려 있지 않다면 터미널을 엽니다.

먼저, 사용 가능한 네트워크 인터페이스를 확인하기 위해 /sys/class/net 디렉토리의 내용을 나열해 보겠습니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

ls /sys/class/net/

ip link show 또는 ifconfig의 출력과 유사한 네트워크 인터페이스 목록이 표시됩니다. 이 환경에서는 eth0lo가 표시될 가능성이 높습니다.

eth0  lo

이제 기본 인터페이스인 eth0의 디렉토리를 살펴보겠습니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

ls /sys/class/net/eth0/

그러면 eth0 인터페이스에 대한 정보를 포함하는 파일 및 디렉토리 목록이 표시됩니다.

addr_assign_type  broadcast    device       ifindex      mtu        phys_port_id  speed
address           carrier      dormant      iflink       napi_defer_hard_irqs  phys_port_name  statistics
addr_len          carrier_changes  duplex       link_mode    netdev_group  power         subsystem
bonding_slave     carrier_up_count  flags        lower_       operstate     proto_down_reason  tx_queue_len
bridge_slave      dev_id       gro_flush_timeout  name_assign_type  perms         qdisc         type

mtu라는 파일에 주목하십시오. 이 파일의 내용을 읽어 MTU 값을 얻을 수 있습니다. cat 명령을 사용하여 mtu 파일의 내용을 표시합니다. 다음 명령을 입력하고 Enter 키를 누릅니다.

cat /sys/class/net/eth0/mtu

터미널에 MTU 값인 1500이 출력되어야 합니다.

1500

/sys 파일을 읽어 MTU 를 확인하는 이 방법은 네트워크 인터페이스에 대한 커널 수준 정보에 직접 접근하는 방법을 제공합니다.

이제 ip link show, ifconfig/sys 파일 시스템 검사를 사용하여 MTU 를 성공적으로 확인했습니다. 이는 Linux 에서 동일한 작업을 수행하는 여러 가지 방법이 있음을 보여줍니다.

이 랩을 완료하려면 계속을 클릭하십시오.

요약

이 랩에서는 세 가지 다른 방법을 사용하여 Linux 에서 네트워크 인터페이스의 최대 전송 단위 (MTU, Maximum Transmission Unit) 를 확인하는 방법을 배웠습니다. 먼저 최신 ip link show 명령을 사용하여 MTU 값을 포함한 모든 네트워크 인터페이스에 대한 자세한 정보를 표시했습니다. 그런 다음, 오래되었지만 여전히 흔히 사용되는 ifconfig 명령을 사용하여 이 정보를 확인했습니다. 마지막으로, 네트워크 인터페이스 속성에 프로그래밍 방식으로 접근할 수 있는 /sys/class/net 파일 시스템에서 MTU 값을 직접 검사하는 방법을 살펴보았습니다. 이러한 방법은 네트워크 문제 해결 및 성능 최적화에 중요한 MTU 설정을 확인하는 다양한 방법을 제공합니다.