<* 네트워크 설정 명령어 *>
리눅스 환경에서 네트워크를 다루려면 가장 기본이 되는 네트워크 설정과 상태 정보를 읽을 수 있어야 한다.
$ sudo apt install ifupdown
1. 네트워크 설정과 상태 확인
[ 1 ] ifquery 명령
fquery는 매우 유용한 명령으로, 간략한 네트워크 인터페이스 목록을 보여준다.
< 기본 형식 > ifquery [옵션]
예 )
$ ifqury -l
예 ) Allow-hotplug 키워드를 사용하여 인터페이스 구성 출력
$ ifquery -l --allow=hotplug
[ 2 ] ifup와 ifdown 명령
ifdown 및 ifup은 각각 인터페이스를 활성화하고 비활성화하는데 사용된다.
- 이 명령어는 대부분 Debian 및 Ubuntu와 같은 Debian 계열의 리눅스 배포판에서 사용된다.
- Red Hat 및 CentOS와 같은 다른 리눅스 배포판에서는 ifconfig를 사용하여 네트워크 인터페이스를 구성하거나
systemctl을 사용하여 서비스를 제어한다.
(1) ifdown 명령
ifdown 명령은 네트워크 인터페이스를 비활성화합다.
이 명령은 root 권한이 필요하다.
예 ) eth0 인터페이스를 비활성화
$ sudo ifdown eth0
(2) ifup 명령
ifup 명령은 비활성화된 네트워크 인터페이스를 활성화한다.
이 명령은 root 권한이 필요하다.
예 ) eth0 인터페이스를 활성화
$ sudo ifup eth0
[ 3 ] ifconfig 명령
가장 기본적으로 사용하는 명령어로 네트워크 인터페이스의 설정과 상태 정보를 출력해 준다.
< 기본 형식 > ifconfig [interface] [option] [address] [up/down]
(1) 네트워크 정보 확인
$ ifconfig
**< ifconfig 주요 필드의 의미 >**
현재는 eth0`과 `lo`두 가지의 네트워크 인터페이스를 확인할 수 있다. `
◎ eth0:
`eth0`은 우분투 설치 시 기본으로 세팅되는 네트워크 인터페이스로 유선 이더넷 인터페이스를 의미한다.
이더넷(ethernet)의 `이더(ehe)`를 표현한 것으로 무선 인터페이스는 `wlan0` 등으로 표현된다.
◎ lo:
이름 짓기 규칙을 보면 `lo`도 어떤 단어의 앞글자를 딴 것이라고 합리적으로 추측해 볼 수 있다.
`lo`는 루프백(loopback)이며, 루프백 인터페이스라고 불린다.
주로 시스템에서 자체 통신을 위해 사용되는 인터페이스를 말한다.
◎ flags
`flags`는 인터페이스의 상태와 옵션을 나타낸다.
예를 들어 `UP(활성화됨)`, `BROADCAST(브로드캐스트 지원)`, `MULTICAST(멀티캐스트 지원)` 등을 포함할 수 있다.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>
◎ mtu(Maximum Transmission Unit)
mtu`란 네트워크 인터페이스의 최대 전송크기 이다.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- 단위는 `바이트(byte)`로 즉 여기서는 1500바이트가 최대전송단위임을 알 수 있다.
- 이더넷 환경에서는 기본 1500바이트가 디폴트 값이라고 한다.
◎ ether, txqueuelen
▷ ether: MAC주소
▷ exqueuelen: 전송 큐 길이
▷ Ex) ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
MAC주소와 전송큐의 길이가 1000 임을 나타낸다.
◎ RX packets, TX packets
▷ RX packets 470 bytes 74575 (74.5 KB)
▷ RX errors 0 dropped 0 overruns 0 frame 0
▷ TX packets 25 bytes 1822 (1.8 KB)
▷ TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
----------------------------------------------------------------------
▷ RX packets: 수신된 패킷 수
▷ bytes: 수신된 데이터 바이트 수
▷ errors: 수신 중 발생한 오류 수
▷ dropped: 드롭된 수신 패킷 수
▷ overruns: 오버런 된 수신패킷 수
▷ frame: 프레임 오류 수
▷ TX packets: 전송된 패킷 수
▷ bytes: 전송된 데이터 바이트 수
▷ errors: 전송 중 발생한 오류 수
▷ dropped: 드롭된 전송 패킷 수
▷ overruns: 오버런된 전송패킷 수
▷ carrier: 캐리어 오류 수
▷ collisions: 충돌 수