리눅스 네트워크관리 2편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 20,535 조회
- 0 추천
- 목록
본문
제목 : 리눅스 네트워크관리 2편
ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 서버관리팀
ㅇ SULINUX 홈페이지 : www.sulinux.net
ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr
2. 네트워크 진단 명령
2-1. ifconfig
ifconfig는 interface config의 약자로 네트워크 인터페이스 관련 명령어로 설정하거나 직접 확인하는 명령어이다.
ifconfig명령으로 설정한 것은 시스템을 재부팅하면 그 정보가 사라진다. 따라서 지속적으로 유지하려면 /etc/rc.d/rc.local파일에 위의 설정을 입력해놓거나 /etc/sysconfig/network-scripts/ifcfg-eth0파일에 설정해 놓아야 한다.
ifconfig [interface] [address] [up/down] [옵션]
옵션 |
설 명 |
interface |
NIC(Network Interface Card)를 말하며, 보통 랜(LAN)카드 또는 이더넷(Ethernet) 카드라 한다. 리눅스에서는 랜카드가 하나인 경우 eth0으로 설정되며, 만약 두개를 장착하면 두번째 랜카드는 eth1이 된다. |
address |
보통 IP가 부여된다. |
up/down |
네트워크를 활성화/비활성화 시킨다. |
option |
netmask, broadcast등을 설정할 수 있다. |
ifconfig의 항목 설명
항 목 |
설 명 |
Link encap |
Ehternet 장치에 사용중인 프로토콜이 Ethernet임을나타낸다. |
Hwaddr |
이더넷 카드에 있는 고유 하드웨어 주소로, 48비트로 되어 있다. 보통 MAC(Media Address Control)주소라고도 한다. |
inet addr |
IP주소를 나타낸다. |
Bcast |
브로드 캐스트 주소를 나타낸다. |
Mask |
넷마스크(Netmask)값을 나타낸다. |
UP |
인터페이스가 활성화되어 있음을 나타낸다. |
BROADCAST |
브로드 캐스트를 사용한다. |
RUNNING |
동작중임을 뜻한다. |
MULTICAST |
멀티 캐스트를 사용한다. |
MTU |
Maximum Transmission Unit의 약자로 한 번에 전송할 수 있는 최대패킷의 크기를 말한다. |
Metric |
라우팅할 때 참조되는 거리로 로컬인 경우 값이 1이 된다. |
RX/TX |
받은 패킷/전송한 패킷의 총 개수(packets), 그 중 에러가 발생한패킷의 수는 errors에, 그냥 버린 패킷의 수는 dropped, 손실된패킷의 개수는 overruns에 표시 된다. |
collisions |
충돌이 발생한 패킷의 수 |
Interrupt |
Ethernet 카드가 현재 사용중인 IRQ |
Base address |
Ethernet 카드가 현재 사용중인 주소 |
ifconfig를 이용한 IP Alias 사용하기
Ethernet카드에 IP를 하나만 부여하는 것이 아니라 여러 개의 IP를 부여할 수 있다. 이러한 기능을 IP Alias라고 한다. 이 설정을 할수 있는 명령어 역시 ifconfig 이다. 첫번째 Ethernet카드에추가로 IP를 부여할 경우에는 eth0:0, eth0:1 등으로 표기하여 부여하면 된다.
[root@www root]# ifconfig eth0:0 192.168.1.210 |
실제 사용의 예
① ethernet카드에 부여된 IP확인
ifconfig [인터페이스이름] : 현재 네트워크 인터페이스에 설정되어 있는 값을 알 수 있다. 만약인터페이스 이름을 입력하지 않으면 모든 인터페이스의 값을 출력한다. ifconfig -a 한것과 같다.
[root@localhost ~]# ifconfig
설명 : 현재 설정된 모든 이더넷카드의 IP설정을 보여준다.
[root@localhost ~]# ifconfig eth0
설명 : 첫번째 이더넷카드인 eth0의 IP설정을 보여준다.
② ethernet카드의 작동을 중지시키거나 활성화시킨다.
[root@localhost ~]# ifconfig [인터페이스 이름] [up | down]
설명 : 특정 네트워크 인터페이스를 활성화(up)하거나 비활성화(down)시킨다.
[root@localhost ~]# ifconfig eth0 down
설명 : eth0카드의 작동을 중지시킨다. ifdown eth0과 같다.
[root@localhost ~]# ifconfig eth0 up
설명 : eth0카드의 작동을 활성화한다. ifup eth0과 같다.
③ ethernet카드에 IP주소, 넷마스크값, 브로드캐스트값을 부여한다.
ifconfig [인터페이스이름] [IP주소] [기타설정] [up|down] : 네트워크의 설정
[root@localhost ~]# ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
설명 : 첫번째 랜카드인 eth0에 IP주소를 192.168.0.2를 부여하고 Netmask는 255.255.255.0 Broadcast는 192.168.0.255를 부여하고 활성화시킨다.
[root@localhost ~]# ifconfig eth0 192.168.0.2 up
설명 : 첫번째 랜카드인 eth0에 192.168.0.2를 부여하고 활성화시킨다. 보통IP주소만 부여하면 Netmask등은 자동설정된다. 하지만 기본 클래스인 A,B,C 클래스가 아닌 다른 서브넷을 사용할 경우에는 꼭 부여한다.
([root@localhost ~]# ifconfig eth0 192.168.3.1 netmask 255.255.255.128 up)
2-2. mii-tool
mii-tool(Media Independent Interface tool)은 네트워크 인터페이스의 연결 상태를 확인하고, 강제적으로 랜카드의 속도와 duplex 모드(100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD)를 변경하는데 사용하는 유틸리티이다.
연결상태 확인
mii-tool은 옵션없이 실행하면 랜카드의 속도, duplex 모드, 연경 상태를 보여주며 각 옵션을 사용하여 각 상태를 확인 할 수 있다
-v 옵션을 추가하면 보다 상세한 MII 상태를 볼 수 있다.
-w 옵션을 사용하면 실시간으로 연결 상태를 확인할 수 있다.
만약 갑자기 no link라고 나온다면 회선에 문내가 생겼거나 연결된 장비간의 회선속도나 duplex 모드가 맞지 않은 경우이다.
[그림] mii-tool 사용의 예
속도 변경
autonegotiation으로 두 장비간의 연결 속도와 duplex 모드를 자동으로 맞추게 되지만 제대로 되지 않아 충돌(Late Collision)이 많이 발생하는 경우나 원하는 속도로 변경을 해야 할 때 mii-tool은 유용하게 쓰일 수 있다.
100MB, Full duplex 모드로 변경하는 예이다.
[root@localhost ~]# mii-tool -F 100baseTx-FD eth0
원래 autonegotiation로 restart하려면 -r 옵션을 사용하면 된다.
ethtool
ethtool명령은 네트워크 인터페이스의 상황을 조사 할 수 있다.
실제 사용의 예
정상적으로 동작하고 있으면, 아래와 같이 표시된다.
설명 : 이더넷(ethernet) 케이블이 빠져 있는 경우에는 Link detected : no라고 표시된다. 1000BASE의 NIC를 사용하고 있는데 스피드가 100Mb/s이었거나, 듀플렉스가 half 되어있는 경우는 허브와의 궁합이나 케이블의 이상 등을 고민하기 바란다. ethtool를 실행해 Speed나 Duplex의 값이 이상할 때는 아래와 같이 강제적으로 수정해 상황이 개선되는지 확인한다.
# ethtool -s eth0 speed 100 |
➡ 속도를100Mb/s로 설정 |
# ethtool -s eth0 duplex full |
➡ 듀플렉스를full로 설정 |
2-3. netstat
netstat는 네트워크의 연결 상태를 확인하는 명령
형식 : netstat [옵션] [address family options]
옵 션 |
설 명 |
-a |
연결된 모든 소켓을 출력 |
-n |
기호화된 호스트나 포트이름, 유저이름 대신에 숫자로 표시한다. 예를 들면 www은 80으로 표기 |
-p |
소켓에 대한 PID/프로그램을 출력 |
-r |
라우팅 테이블을 출력 |
-i |
인터페이스 테이블을 출력 |
-s |
SNMP(Simple Network Managemanet Protocol)와 같은 네트워크 통계를 출력 |
-c |
계속되는 리스트를 출력 |
-t |
tcp를 이용하여 접속한 리스트를 출력 |
-u |
udp를 이용하여 접속한 리스트를 출력 |
address family options |
형식 : --protocol (inet, unix, ipx, ax25등) 예제) netstat --inet |
실제 사용의 예
[root@localhost ~]# netstat -r
설명 : 라우팅 테이블에 대한 정보를 출력한다. route 명령의 결과와 유사하다.
[root@localhost ~]# netstat -t
설명 : tcp로 접속한 리스트를 출력한다.
[root@localhost ~]# netstat --inet -p
설명 : 인터넷으로 접속한 상태를 보여주고 프로그램과 PID를 출력한다.
netstat명령의 결과에서 state부분에 나타나는 연결상태
상태 항목 |
설 명 |
LISTEN |
서버의 데몬이 떠서 접속 요청을 기다리는 상태 |
SYS-SENT |
로컬의 클라이언트 어플리케이션이 원격 호스트에 연결을 요청한 상태 |
SYN_RECEIVED |
서버의 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답을 하였지만, 아직 클라이언트에게 확인 메시지는 받지 않는 상태 |
ESTABLISHED |
3Way-Handshaking이 완료된 후 서로 연결된 상태 |
FIN-WAIT1, CLOSE-WAIT, FIN-WAIT2 |
서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태 |
CLOSING |
흔하지 않지만 주로 확인 메시지가 전송도중 분실된 상태 |
TIME-WAIT |
연결은 종료되었지만 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어놓은 상태 |
CLOSED |
완전히 종료된 상태 |
2-4. traceroute
특정 호스트 또는 연결된 노드를 알아보는 명령어로 특히 라우팅에 어떤 장애가 있을 경우 그 위치를 파악할 수 있다. 윈도우계열의 tracert 명령과 유사하다. 루트권한자만 사용가능한 명령이다.
형식 : traceroute [Host_name or IP_Address]
설명 : www.naver.com은 멀티IP주소를 사용한다는 메시지로 먼저알려준다. 7번째까지는 잘 찾아갔지만 8번째부터는 방화벽에 의해 차단된 정보라고 ‘*’표시로 나타나고 있다.
2-5. nslookup
nslookup 도메인의 정보를 조회하는 명령이다.
형식 : nslookup [옵션] [hostname 또는 도메인]
실제 사용법
[root@localhost ~]# nslookup www.naver.com
설명 : 현재서버의 DNS이름과 IP출력과 함께 사이트의 정보도함께 출력한다.
[root@localhost ~]# nslookup -type=mx naver.com
설명 : mx(메일설정관련)에 대한 정보도 출력한다.
[root@localhost ~]# nslookup
설명 : 현재서버의 DNS이름과 IP를 출력하고, 대화형모드로 실행한다.
nslookup의 대화형모드
nslookup 명령만 내리면 '>'와 함께 대화형 모드로 접속한다. 조회 후 exit를 치면 빠져나온다.
설명 : 대화형 모드에서는 일반 nslookup 도메인값으로 검색하는것과 동일하다 하지만 환경설정을 변화하면 변화시키 환경설정값에 의존하여 그 결과값을 뿌러준다. 위의 예처럼 set type=mx 설정으로 특정 도메인의 메일서버를 확인 할 수 있다. exit 명령어로 nslookup 대화형모드를 중단한다.
2-6. dig
도메인명(FQDN:Fully Qualified Domain Name)으로 정보를 알아볼 수 있는 명령이다. nslookup보다 좀더 정확한 결과를 확인 할 수 있다.
형식 : dig 도메인명 [type]
설명 : [type] 에는 MX, A, ANY 등 DNS설정에 사용하는 값을 지정할 수 있다.
실제 사용의 예
설명 : 메일서버 세팅인 MX 설정관련 부분만 보여준다.
관련자료
-
이전
-
다음