본문 바로가기
Old Posts/Linux

[Linux] ifconfig 명령 사용법

by A6K 2022. 1. 1.

ifconfig는 네트워크 인터페이스와 관련된 정보를 조회하거나 수정하기 위해 사용되는 명령이다. (최근에는 ifconfig 명령보다 ip addr, ip route 등의 명령을 쓰도록 권장하는 분위기다)

ifconfig 사용법

네트워크 인터페이스 조회

아무런 인자 없이 ifconfig 명령만 입력하면 시스템에서 활성화되어 있는 인터페이스의 세부 내용을 조회하게 된다. 

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.3  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:03  txqueuelen 0  (Ethernet)
        RX packets 9257  bytes 13460395 (12.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5040  bytes 277131 (270.6 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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig 명령의 결과에서 볼 수 있는 eth0, lo 같은게 네트워크 인터페이스 이름이다. 비활성화되어 있는 인터페이스는 기본적으로 출력되지 않는다. 만약 비활성화 되어 있는 인터페이스까지 출력하고 싶으면 -a 옵션을 붙이면 된다. 만약 특정 인터페이스에 대한 정보만 출력하고 싶다면 ifconfig 명령의 인자로 인터페이스 이름을 넘겨주면된다.

ifconfig 명령이 출력하는 정보의 의미는 다음과 같다.

항목 의미
flags 네트워크 카드의 상태
mtu 네트워크 인터페이스의 최대 전송 단위(MTU, Maximum Transfer Unit)
inet IPv4 주소
netmask 네트워크 인터페이스에 할당된 넷마스크 주소
broadcast 네트워크 인터페이스에 할당된 브로드캐스트 주소
inet6 IPv6 주소
prefixlen IP 주소에서 서브 넷 마스크로 사용될 비트 수
scopeid IPv6의 범위
LOOPBACK / LINKLOCAL / SITELOCAL / COMPATv4 / GLOBAL
ether 네트워크 인터페이스의 하드웨어 주소
RX packets 받은 패킷 수
TX packets 보낸 패킷 수
collision 충돌된 패킷 수
Interrupt 네트워크 인터페이스가 사용하는 인터럽트 번호

인터페이스 활성/비활성화

특정 인터페이스를 비활성화하기 위해서는 인터페이스 이름 뒤에 down을 붙여주면 된다. 예를 들어 eth1 인터페이스를 비활성화하기 위해서는 다음을 실행하면 된다.

$ sudo ifconfig eth1 down

반대로 특정 인터페이스를 활성화하기 위해서는 인터페이스 이름 뒤에 up을 붙여주면 된다. eth1 인터페이스를 활성화하기 위해서는 다음을 실행하면 된다.

$ ifconfig eth1 up

 


인터페이스 IP 변경

ifconfig 명령으로 인터페이스의 ip를 변경할 수 있다.

$ sudo ifconfig eth1 10.1.2.3

넷 마스크를 변경하기 위해서는 netmast 옵션을 추가하면 된다.

$ sudo ifconfig eth1 netmast 255.255.255.0

브로드캐스트 주소를 변경할 수도 있다.

$ sudo ifconfig eth1 broadcast 10.0.0.255

이들을 하나의 명령으로 한꺼번에 바꿀 수도 있다.

$ sudo ifconfig eth1 10.1.2.3 netmast 255.255.255.0 broadcast 10.0.0.255

인터페이스 맥어드레스 변경

맥 어드레스도 변경할 수 있다.

$ sudo ifconfig eth1 02:42:ac:11:00:04

가상 인터페이스 만들기

별칭을 이용해서 네트워크 인터페이스에 여러개의 IP를 설정할 수도 있다.

$ sudo ifconfig eth1:0 10.1.2.4

ifconfig 명령은 서버의 네트워크 설정을 다룰 때 가장 많이 사용되는 명령이다. 잘 알아두도록 하자.

댓글