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 명령은 서버의 네트워크 설정을 다룰 때 가장 많이 사용되는 명령이다. 잘 알아두도록 하자.
댓글