[Linux] Linux 네트워크 인터페이스 ifconfig(interface configuration) 명령어 정리하기!
개발자가 서비스를 모니터링하는데 필요한 네트워크 명령어인 ifconfig부터 알아보겠습니다.
ifconfig는 interface configutaion의 약자로 리눅스 네트워크 관리를 위한 인터페이스 구성 유틸리티입니다.
ifconfig는 현재 네트워크 구성 정보를 표시하고 네트워크 인터페이스에 IP주소, 넷 마스크, broadcast 주소를 설정하고
네트워크 인터페이스의 별칭을 만들고, 하드웨어 주소를 설정하고 네트워크 활성화 또는 비활성화하는 등 다양한 곳에서 쓰입니다.
1. 네트워크 인터페이스 구성 확인 ifconfig
단지 ifconfig만 입력했을때는 비활성화된 네트워크 인터페이스를 볼 수는 없습니다.
- [enp0s3] : 네트워크 인터페이스
- [flags] : 네트워크 카드의 상태 표시
- [inet] : 네트워크 인터페이스에 할당된 ip 주소
- [netmask] : 네트워크 인터페이스에 할당된 넷마스크 주소
- [broadcast] : 네트워크 인터페이스에 할당된 브로드캐스트 주소
- [inet6] : 네트워크 인터페이스에 할당된 IPv6 주소
- [prefixlen] : IP 주소에서 서브 넷 마스크로 사용될 비트 수
- [scopeid] : IPv6의 범위
- [eher] : 네트워크 인터페이스의 하드웨어 주소
- [Rx packets] : 받은 패킷 정보
- [Tx packets] : 보낸 패킷 정보 *Transmit
- [collision] : 충돌된 패킷 수
- [interrupt] : 네트워크 인터페이스가 사용하는 인터럽트 번호
2. 모든 네트워크 인터페이스 구성 확인하기 inconfig -a
3. 해당 인터페이스 정보만 보기 ifconfig [interface명]
인터페이스가 많은 경우에 원하는 인터페이스만 볼 수 있습니다.
4. 해당 인터페이스 비활성화 하기 ifconfig [인터페이스명] down
flags : 네트워크의 상태 표시를 하게 됩니다.
flags 값이 달라진 것을 볼 수 있습니다. down 명령어는 해당 인터페이스를 비활성화하는 것입니다.
다음으로 해당 인터페이스를 활성화해보겠습니다.
5. 해당 인터페이스 활성화 하기 ifconfig [인터페이스명] up
6. 해당 인터페이스 IP 변경하기 ifconfig [인터페이스명] [IP]
inet이 인터페이스에 할당된 IP 주소입니다.
7. 해당 인터페이스에 넷마스크 변경하기 <ifconfig [인터페이스명] netmask [IP]
네트워크 인터페이스에 넷마스크 설정을 바꾸는 방법은 인터페이스 정보와 netmask 옵션 그리고 마스크 정보를 입력하는 것으로 가능합니다.
netmask가 255.255.255.0에서 255.255.0.0으로 변경된 것을 볼 수가 있습니다.
8. 해당 인터페이스에 브로드 캐스트 주소 변경하기 inconfig [인터페이스명] broadcast [IP]
네트워크 인터페이스에 브로드 캐스트 설정을 바꾸는 방법은 인터페이스 정보와 broadcast 옵션 그리고 마스크 정보를 입력하는 것으로 가능합니다.
broadcast 주소가 10.0.255.255로 변경된 것을 보실 수가 있습니다.
9. 해당 인터페이스에 IP/넷마스크/브로드캐스트 주소 한꺼번에 변경하기 <ifconfig [인터페이스명] [IP] netmask [IP] broadcast [IP]
ip 172.30.1.20
netmask 255.255.255.0
broadcast 172.30.1.255 기존으로 다시 변경해보도록 하겠습니다.
10. 해당 인터페이스에 맥 어드레스 할당하기 ifconfig [인터페이스명] hw ether [mac address]
다음과 같이 했으나, mac주소가 변경되지 않네요 이유가 무엇일까요
다시 시도해보니 되는 것을 확인하였습니다. 위를 확인해보니 오타가 있었네요! 역시 컴퓨터는 거짓말을 하지 않습니다.
여러분들도 오타에 주의하시길 바랄게요
11. 인터페이스에 별칭 추가해서 가상 인터페이스 만들기 ifconfig [인터페이스명]:0 [IP]
별칭을 사용하여 네트워크 인터페이스에 여러개의 ip를 설정할 수 있습니다.
enp0s3:0으로 네트워크 인터페이스에 여러 가지 IP를 설정한 것을 볼 수 있고 ifconfig -a 명령어를 통해
새로운 네트워크 인터페이스가 추가된 것을 확인할 수 있습니다.
네트워크의 모니터링 필요가 커지게 된다면
Cacti, Zabbix, Munin과 같은 모니터링 도구를 도입할 수 있습니다.