강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

리눅스 네트워크관리 2편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문


제목 : 리눅스 네트워크관리 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 모드가 맞지 않은 경우이다.



PIC39B.gif


[그림] mii-tool 사용의 예



속도 변경


autonegotiation으로 두 장비간의 연결 속도와 duplex 모드를 자동으로 맞추게 되지만 제대로 되지 않아 충돌(Late Collision)이 많이 발생하는 경우나 원하는 속도로 변경을 해야 할 때 mii-tool은 유용하게 쓰일 수 있다.


100MB, Full duplex 모드로 변경하는 예이다.

[root@localhost ~]# mii-tool -F 100baseTx-FD eth0

원래 autonegotiation로 restart하려면 -r 옵션을 사용하면 된다.


ethtool


ethtool명령은 네트워크 인터페이스의 상황을 조사 할 수 있다.


실제 사용의 예


정상적으로 동작하고 있으면, 아래와 같이 표시된다.


PIC39C.gif



설명 : 이더넷(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]


PIC39D.gif



설명 : 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를 치면 빠져나온다.


PIC39E.gif



설명 : 대화형 모드에서는 일반 nslookup 도메인값으로 검색하는것과 동일하다 하지만 환경설정을 변화하면 변화시키 환경설정값에 의존하여 그 결과값을 뿌러준다. 위의 예처럼 set type=mx 설정으로 특정 도메인의 메일서버를 확인 할 수 있다. exit 명령어로 nslookup 대화형모드를 중단한다.




2-6. dig


도메인명(FQDN:Fully Qualified Domain Name)으로 정보를 알아볼 수 있는 명령이다. nslookup보다 좀더 정확한 결과를 확인 할 수 있다.



형식 : dig 도메인명 [type]


설명 : [type] 에는 MX, A, ANY 등 DNS설정에 사용하는 값을 지정할 수 있다.



실제 사용의 예


PIC39F.gif




PIC3A0.gif



설명 : 메일서버 세팅인 MX 설정관련 부분만 보여준다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  96 명