나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
이제 더위는 가고 젤 좋아하는 가을이 온당!!!
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가
thisrule (thisrule1)
프로필     
 인기도 :
 이 블로그 점수주기
전체 글보기(69)
예준사진 목록
지우사진 목록
리눅스 팁 목록
기본폴더
예준 사진
지우 사진
가족사진
리눅스 팁
가요
설문
오늘 전체
방문자 61 36241
구독자 0 4
댓글 0 10
참조글 2 38
HanRSS 로 구독하기Fish 로 구독하기
2009 12월
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
최근 댓글 전체보기
압축파일에 대한 글 올..
윗글 출처 : 커피닉스..
열심히 하겠습니다
열심히 하겠습니다
열심히 하겠습니다
최근 참조글 전체보기
리눅스의 마스코트는 왜..
다녀간 블로거 더보기
- 소라게
- wonnychung
- 윤노털
- ritzcarltn
- 나에게로
 즐겨찾기
 즐겨찾기 글모음
개설일 : 2004/08/23
 

리눅스는 개인용 컴퓨터로서의 위치도 넓혀가고 있기는 하지만, 아직까지는 네트웍 서버로서의 입지를 확고히 하고 있다.
또한 인터넷에서 탄생된 리눅스는 커널 차원에서 지원하는 강력하고 뛰어난 네트웍 기능을 가지고 있으며,
대형 서버로서의 기능과 개인용 서버로의 기능을 동시에 만족시킬 수 있다.

이 글에서는 이제 막 리눅스에 입문한 초보들을 위해서
리눅스의 강력한 네트워크 기능을 사용하기 위한 기본 네트워크 지식과 리눅스 네트워크 도구에 대해 알아보고자 한다.


기본적인 네트워크 용어

 

TCP/IP 란?

TCP/IP는 원래 미국방성 ARPANET 프로젝트에서 시작된 프로토콜이다. 미국방성 내부 프로젝트이었으나 대학이 참여함으로써 세상에 널리 알려지는 계기가 되었다. TCP/IP는 특정 운영체제에 한정된 프로토콜이 아닌 개방되어 있는 프로토콜이므로 서로 다른 운영체제, 네트워크 장치가 서로 통신이 가능한 프로토콜이다. 또한 TCP/IP는 네트워크 크기와 그 네트워크를 구성하는 호스트들의 수에 따라 클래스를 나누어서 네트워크를 구축하여 관리할 수 있으므로 확장성과 네트워크 관리의 융통성을 제공한다.

 

TCP란?

TCP는 Transmission Control Protocol의 약자이며 말 그대로 전송을 제어하는 프로토콜이다. IP위에서 구현되어 안정적인 연결, 메시지 교환, 패킷 손실 문제를 다루는 프로토콜이다.

 

IP란?

IP는 Internet Protocol의 약자이며, TCP/IP상에서의 데이터 교환 단위를 패킷이라고 하는데 IP는 패킷의 생성방법, 보내는 사람의 주소(발신지), 받는 사람의 주소(수신지), 전송하는 문제등을 다룬다. 즉, IP주소는 인터넷에 연결된 컴퓨터들끼리 서로를 구별하기 위해 붙인 주소라고 보면 된다.


프로토콜이란?

다른 종류의 컴퓨터를 네트워크를 통하여 통신이 가능하기 위해 서로를 연결해주는 하드웨어나 운영체제를 연결하기 위한 통신 규약이다.

TCP/IP에 기반한 프로토콜로는 무엇이 있을까?

가장 널리 알려지고 많이 구현된 프로토콜들은 다음과 같다.
 

telnet

네트워크 터미널 프로토콜(Network Terminal Protocol). 네트워크를 통한 원격 로그인을 제공한다.

FTP

파일 전송 프로토콜(File Transfer Protocol). 양방향 파일 전송에 사용된다.

SMTP

메일 전송 프로토콜(Simple Mail Tranfer Protocol). 전자 메일을 전달한다.

SNMP

네트워크 관리 프로토콜(Simple Network Management Protocol). 네트워크 구성을 관리한다.

HTTP

하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol). 네트워크를 통해 웹페이지를 전달한다.

 

IP 주소

IP주소는 인터넷상에서 각각의 컴퓨터를 구분해주는 유일한 번호이다. 이 번호는 컴퓨터에 연결된 각각의 네트워크 연결 인터페이스에 부여된다. 따라서 인터페이스가 여러 개이면(이더넷카드 인터페이스(eth0), 모뎀 다이얼 업을 위한 ppp0 등) 각각의 장치에 다른 IP주소를 부여할 수 있다. IP주소는 4바이트의 크기로 나타낸다. 각 바이트는 '.(dot)'으로 구분하여 표시하고 각 바이트는 0부터 255까지의 십진수로 바뀌어 표시된다. 다음과 같은 형식으로 표기 된다.


   aaa.bbb.ccc.ddd

   192.168.0.1 과 같이 표기되며 192.168.000.001과 같이는 쓰지 않는다.
 

 

IP 주소의 구분 (클래스)

IP 네트워킹 프로토콜이 이해할 수 있는 것은 32비트 수이다. 모든 컴퓨터는 네트웍 환경에서 유일한 수의 IP를 지정해야 한다. 만약 로컬 네트웍에서 TCP/IP를 사용하여 다른 네트웍과 연결하지 않는다면 이 숫자들은 당신 마음대로 지정할 수 있으나, 그렇지 않고 인터넷의 사이트로서 존재하고자 한다면 이 숫자들은 NIC(Network  Information Center)에서 지정한다.

네트웍의 크기와 그 네트워크를 구성하는 호스트들의 수에 따라 A, B, C 등의 클래스로 나눌 수 있다. 서로 다른 요구를 상충시키기 위해서 IP 주소를 다른 방식으로 나누는 네트웍의 클래스가 몇가지 존재한다. 관리상의 이유 때문에 IP 프로토콜의 발전 초기에 임의의 주소들의 그룹들이 네트웍을 형성하게 되었고 이 네트웍들은 클래스라 불리우는 것으로 구분되어졌다. 이 클래스들은 할당 가능한 네트웍의 표준적인 크기를 규정하고 있다. 할당된 범위는 아래와 같다.

Network Class

Network Addresses

Netmask

A

0.0.0.0 - 127.255.255.255

255.0.0.0

B

128.0.0.0  - 191.255.255.255

255.255.0.0

C

192.0.0.0  - 223.255.255.255

255.255.255.0

 

인터넷과 연결되지 않는 내부적 네트워크를 구성한다면 원하는 어떤 주소라도 선택할 수 있다. 하지만 관리의 편리성와 일관성의 이유로 이런 목적을 위해 특별히 예약되어 있는 IP 네트웍 주소들이 있다.

내부 내트웍 위한 IP 값

Network Class

Network Addresses

Netmask

A

10.0.0.0    - 10.255.255.255

255.0.0.0

B

172.16.0.0  - 172.31.255.255

255.255.0.0

C

192.168.0.0 - 192.168.255.255

255.255.255.0

  

넷마스크(Netmask) 란?

인터넷에 연결된 컴퓨터의 네트워크 소속을 알 수 있는 주소이다. 이 주소도 또한, 255.255.255.0처럼 점으로 구분되는 4자리수로 구성되어 있다.

 

게이트웨이(Gateway)

TCP/IP에 연결된 컴퓨터에서 어디로 통해서 다른 네트워크를 통할 수 있는지 알려주는 주소이다. 호스트가 직접적으로 대화할 수 있는 것은 그 네트웍 내에 있는 것들뿐이다. 그 외의 모든 호스트들에는 게이트웨이(gateway)라는 것을 통해서만 접근할 수 있다. 게이트웨이는 둘 또는 그 이상의 물리적 네트웍에 동시에 연결되어 있고, 그들간에 패킷을 교환하도록 설정된 것이다.

 

도메인 네임 서버(DNS : Domain Name Server)

Domain Name Server란 이름과 IP 주소를 매핑하여주는 거대한 분산 네이밍 시스템이다. 인터넷에서 사용되는 IP(Internet Protocol), 그리고 IP의 상위에서 동작하는 넷스케이프 같은 응용 프로그램들은 210.105.79.103 과 같이 표현되는 IP 주소만을 인식하게 되는데, 이러한 IP 주소는 프로그램입장에선 해석하기 수월하지만 사람이 기억하여 사용하기가 어렵고, IP 주소만으로는 서비스 유형을 예측하기 힘들다는 단점이 있다. 그래서 IP 주소와 도메인 주소를 일대일로 대응시켜 DNS를 이용해 IP 주소를 도메인 주소로 또는 도메인 주소를 IP 주소로 변환해주는 역활을 하는 것이다. IP 주소로는 연결이 되지만 도메인 주소로 연결이 되지 않을 경우는 DNS에 문제가 있거나 DNS 설정이 되지 않았기 때문이다.

 

유동 IP란? (DHCP)

현재의 IP주소가 부족한 상황을 해결하기 위한 미봉책으로 생겨난 것이 유동IP주소인데, ADSL과 케이블 모뎀을 사용하는 초고속 통신망에서 사용된다. 이것은 인터넷에 접속한 모든 컴퓨터가 항상 전원이 켜져 있지 않다는 것에 착안한 것으로 여러대의 컴퓨터가 하나의 IP주소를 공유하도록 설계된 것이다. 즉, 전원을 켜서 인터넷에 접속한 컴퓨터에게만 IP주소를 할당하고, 전원이 꺼질 때 IP주소를 환수하여 다음에 전원을 켜고 인터넷에 접속하는 컴퓨터에게 할당하는 방식이다. 이러한 방식은 기본적으로 DHCP란 기술을 통하여 이루어진다. DHCP는 이렇게 부족한 IP주소를 할당할 뿐만 아니라, 사용자가 자신의 컴퓨터에서 복잡하게 IP주소를 할당하는 불편함을 덜어주기도 한다.


네트워크 설정하기

 

네트워킹 인터페이스 (Networking Interfaces)

네트웍 설정은 기본적으로 네트웍 카드 자체에 대한 하드웨어 설정이 되어있어야 한다.
최신의 리눅스 배포판들은 네트워킹 지원이 가능한 상태로 커널이 컴파일되어 있다.
따라서 네트워킹 인터페이스 장치(NIC)를 위해서 커널을 다시 컴파일할 필요는 없다.
만약 여러분이 3COM, INTEL, REALTEK, NE2000 호환 등의 잘 알려진 PCI 방식의 NIC(랜카드)하드웨어를 사용한다면 설치시에 자동으로 설치되므로 리눅스에 인식시키는데 별다른 문제가 없을 것이다.
만약 자신의 LAN 카드가 설치후에 자동으로 설정이 되지 않았다면,
자신의 랜카드가 어떠한 네트웍 모듈을 사용하지는 확인한 후 /etc/conf.modules 에 네트웍 카드 정보를 적어주면 된다.

리눅스에서 지원되는 네트웍 모듈은 '/lib/modules/커널 버전/net' 에 있으며 모듈에 대한 제품이름 같은 자세한 정보는 '/boot/modules-info-커널버젼' 에서 확인할 수 있다.
더 자세한 랜카드 설정 방법에 대한것은
http://kldp.org/HOWTO/html/Ethernet/Ethernet-HOWTO.html 를 보자.

 

이미 존재하는 IP 네트워크 상에 리눅스 컴퓨터를 설치하는 경우.

인터넷과 연결되어 있는 네트워크 상에 리눅스 컴퓨터를 설치하고자 한다면 네트웍 관리자에게 문의하여 다음 정보들을 알고 있어야 한다.

 IP 주소

PC에서 사용할 IP 주소

넷마스크

일반적으로 C 클래스를 사용하지만 관리자에게 문의해야 한다.

게이트웨이 주소

외부 네트워크 접속을 위한 주소이므로 정확한 게이트웨이 주소를 알아야 한다.

도메인 네임 서버 주소

보통 3개까지 입력가능하므로 사용할 수 있는 네임 서버에 관한 정보를 2-3개 정도 알아두는 것이 좋다. 물론 1개만 지정해도 된다.

호스트 이름과 도메인 이름

도메인 이름이 DNS에 등록되어 있다면, 그 이름을 사용하고 아니라면 다른 것과 겹치지 않도록 지정하면 된다. 

 기본적인 리눅스 네트웍 장치들을 위의 값들을 가지고 설정한다. 이 값들을 임의로 만들어 낸 후에 설정하면 절대로 동작하지 않는다.

 

인터넷에 연결되지 않을 새로운 네트웍을 구성하는 경우.

개인적인 네트웍을 구성하고 인터넷에 연결하지 않을 계획이라면 임의의 어떤 주소라도 선택할 수 있다. 그러나 안전성과 일관성의 이유 때문에 이런 목적을 위해 특별히 예약되어 있는 IP 네트웍 주소들을 이용하면 된다.

 

기본 네트워크 설정

리눅스에서의 네트워크 설정 도구

콘솔상이라면 netconfig와 linuxconf 등을 사용하면 되고, X윈도우에서 라면 netcfg, netconf, linuxconf 들을 이용하면 된다.

netconfig 실행화면 - 화면에 보이는 아주 간단한 설정만을 지원한다.
 

linuxconf 의 콘솔 실행화면(X윈도에서는 linuxconf --text로 실행한다) - 아주 자세하고 랜카드 설정까지 할 수 있다.
 

netcfg 실행화면 - X윈도우의 가장 기본적은 네트워크 설정도구이다.
 

netconf 실행화면 - linuxconf를 실행한 것과 같으며 netcfg에 비해 더 자세한 설정을 할 수 있다.

 

리눅스 네트워크 설정은 netcfg, netconf, linuxconf 프로그램등으로 설정하지만, 결국은 다음의 파일을 편집하는 것이다.

/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network

이 파일들을 살펴보자

/etc/HOSTNAME
junilove

/etc/HOSTNAME: 매우 짧지만 중요하다. 이것은 리눅스 컴퓨터의 호스트 이름을 지정한다.

/etc/resolv.conf 
search wowlinux.com
nameserver 192.108.254.11
nameserver 192.108.254.26

/etc/resolv.conf: DNS 서버에대한 설정을 하는 파일이다. 처음은 찾을 도메인이며 그 아래 주소들은 네임서버 주소이다.

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.0.0.255
IPADDR=10.0.0.1
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth0: 실질적인 0번째 (첫번째) 이더넷 카드의 설정을 한다.

/etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=true
HOSTNAME=server.riverdale.k12.or.us
GATEWAY=198.236.126.1

GATEWAYDEV=eth0

/etc/sysconfig/network: 여기에는 IP 포워팅과 게이트웨이 장치 설정같은 중요한 세팅을 한다.


기본적인 리눅스 네트워크 도구

 

여기서 소개된 프로그램 이외에도 자세한 정보와 설정기능을 제공하는 다른 네트워크 툴들이 많이 있다.

ping

어떤 호스트에 신호를 보내고 그 신호가 되돌아 오는 것을 확인함으로써 상대편 호스트와의 연결이 가능한지, 전송 상태가 어떤지를 알아볼 수 있다. 일정한 크기의 데이터를 보내어 체크하는데, Ctrl + C 로 중단시키면 아래에 해당 호스트와의 최고, 최저, 평균 전송 속도등을 보여준다.

 

ifconfig

네트워크 인터페이스의 설정값을 설정하거나 점검한다. 가장 기본적인 기능은 IP주소를 설정하는 것이다. 또한 각 인터페이스에 IP주소, 서브넷 마스크, 브로드캐스트 주소를 설정한다. 참고로 lo 는 loopback interface 로 127.0.0.1 번지에 할당하여 IP패킷이 마치 다른 네트워크에서 도착한 것처럼 하여 자체 테스트나 네트워크 프로그램을 개발하는데 이용된다. eth0 첫 번째 이더넷 인터페이스 장치임을 가리킨다.

traceroute

특정 호스트까지의 네트워크 전송 경로를 추적하는 프로그램이다. 특정 호스트로 가기 위한 거친 게이트웨이 컴퓨터들을 보여주며 각 구간마다의 트래픽을 보여준다.

nslookup

호스트의 ip주소의 domain 이름을, 또는 domain 이름의 ip 주소를 찾아준다.

  

[참고 자료]

Linux Networking-HOWTO,  http://kldp.org/HOWTO/html/NET3-4/NET3-4-HOWTO.html

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기