https://www.itworld.co.kr/news/180644
10시간 전
Sandra Henry-Stocker | Network World
리눅스에는 네트워크 설정과 연결을 확인하는 다양한 명령어가 있다. 여기서는 매우 유용한 여러 가지 명령과 각 기능을 살펴보자.
ifquery는 매우 유용한 명령으로, 간략한 네트워크 인터페이스 목록을 보여준다. 그러나 다음과 같이 루프백 인터페이스만 표시될 수도 있다.
$ ifquery --list lo
이런 현상은 /etc/network/interfaces 파일에 루프백 인터페이스 이외의 네트워크 인터페이스에 관한 정보가 포함돼 있지 않기 때문이다. 주소 할당에 DHCP가 사용된다고 가정하면 예제의 마지막 두 줄과 같은 코드를 추가해 해결할 수 있다.
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
파일에 필요한 데이터가 있다면 ifup과 ifdown 명령을 사용해 필요에 따라 네트워크 연결을 불러오거나 종료할 수 있다. 이 명령에서 “if”는 “만일”을 의미하는 if가 아니라 ifconfig 명령의 경우와 마찬가지로 “interface”를 의미한다는 점만 기억하면 된다.
반면 ifconfig 명령은 /etc/network/interfaces 파일을 아예 읽지 않으면서도 네트워크 인터페이스에 관한 여러 유용한 정보를 제공한다. 구성 데이터와 함께 패킷 수를 보여주므로 각 인터페이스의 사용량이 얼마나 많은지 확인할 수 있다. 네트워크 인터페이스를 종료하고 재시작하는 데도 ifconfig 명령을 사용할 수 있다. 예를 들면 ifconfig eth0 down이다.
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:1e:4f:c8:43:fc inet addr:192.168.0.6 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::b44b:bdb6:2527:6ae9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:60474 errors:0 dropped:0 overruns:0 frame:0 TX packets:33463 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:43922053 (43.9 MB) TX bytes:4000460 (4.0 MB) Interrupt:21 Memory:fe9e0000-fea00000
이 출력의 RX와 TX 패킷 수는 매우 낮다. 또한 보고된 오류 또는 패킷 충돌도 없다. uptime 명령을 사용하면 알 수 있겠지만 아마 이 시스템은 최근에 재부팅됐을 것이다. 앞의 예제에서 브로드캐스트(Bcast)와 네트워크 마스크(Mask) 주소는 시스템이 클래스 C(Class C) 등급 네트워크에서 작동하며(기본값), 로컬 주소의 범위가 192.168.0.1부터 192.168.0.254까지임을 보여준다.
netstat 명령은 라우팅 및 네트워크 연결에 대한 정보를 제공한다. 인수가 없으면 열린 소켓 목록을 출력한다. 거의 모든 항목이 로컬 시스템의 프로세스와 관련된다. 예를 들어 다음 예제를 보면 로컬 시스템(dragonfly)으로 가는 수신 ssh 연결이 2개만 설정됐음을 알 수 있다.
$ netstat | head -4 Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 64 dragonfly:ssh dragonfly:8812 ESTABLISHED tcp 0 0 dragonfly:ssh dragonfly:33505 ESTABLISHED