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

리눅스와 인터넷(internet)의 만남

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle45.gif

배철수 : 리눅스월드 발행인

 

목차

1. 인터넷?
    1.1 IP 주소
    1.2 서브네트마스크
    1.3 디폴트 게이트웨이
    1.4 도메인네임

2. 인터넷 연결의 의미
    2.1 공인 IP 어드레스와 비공인 IP 어드레스
    2.2 고정 IP와 변동 IP

3. 서버와 클라이언트

4. 리눅스를 인터넷에 연결해  무슨 일을 할까?
    4.1 웹서버
    4.2 메일서버
    4.3 DNS 서버

5. 인터넷 사이트 개설절차
    5.1 인터넷 회선 연결
    5.2 도메인 네임신청
    5.3 랜설치

6. 리눅스 서버 꾸미기
    6.1 하드웨어
    6.2 리눅스 배포본
    6.3 리눅스 설치시 주의사항
    6.4 랜카드 셋업
    6.5 TCP/IP 설정
    6.6 PPP 연결

7.  IP 주소 공유
    7.1 IP masquerade
    7.2 Proxy server

리눅스와 인터넷의 만남은 우연히 아니다. 왜? 인터넷의 모든 서비스가 유닉스라는 운영체제에서 개발되었고 리눅스는 유닉스와 완전히 호환되기 때문이다. 여러분이 인터넷에서 흔히 사용하는 telnet, ftp 프로그램이 유닉스에서 나온 것이며 bae@linuxlab.co.kr 이라는 전자우편 주소 표기법도 유닉스에서의 메일 표기법이다. 유닉스가 인터넷 개발의 운영체제로 쓰인 이유는 간단하다. 초기 인터넷의 탄생 목적은 몇몇 대학 및 연구소의 컴퓨터를 상호 연결하는 것이었는데 지금도 그렇지만 대학이나 연구소의  컴퓨터에서 가장 많이 사용되고 있던 운영체제가 유닉스였기 때문이다. 마치 영어가 세계 공통어로 쓰인 이유와 비슷하다. 또, 유닉스는 소스가 공개돼 있었으므로 인터넷용 각종 프로그램을 개발하는 운영체제로 사용하기에 적합하였기 때문이기도 하다.

현재 인터넷에서 각종 서버로 사용되거나 인터넷용 프로그램을 개발하는 컴퓨터는 주로 유닉스/리눅스를 사용한다. 피시에서 많이 사용하는 윈9X는 싱글유저용이므로, 인터넷에서 동시에 수많은 컴퓨터를 연결해 각종 서비스를 제공하는 컴퓨터의 운영체제로는 사용할 수가 없다. 여기에는 멀티태스킹, 멀티유저를 지원하는 운영체제를 사용해야 한다. 윈도우 NT가 있기는 하나 NT도 엄밀한 의미에서는 멀티유저를 지원하는 운영체제가 아니다. 유닉스/리눅스는 완벽한 멀티유저/멀티태스킹을 지원한다.

이 글에서는 리눅스를 인터넷에 연결하는 과정을 설명하고 리눅스를 인터넷에 연결하면 다른 운영체제에 비해 어떤 이점이 있는지를 주로 다룬다.

 

 1. 인터넷?

인터넷이란 단어가 널리 쓰이지만 인터넷을 한마디로 설명하기는 어렵다. 인터넷이란 전세계의 수많은 네트워크를 상호 연결해서 서로 데이터를 주고 받을 수 있게 만든 거대한 네트워크라고 보면 되지만 단순히 선으로 연결만 한다고 인터넷이 되는 건 아니다. 연결된 모든 컴퓨터가 서로 다른 운영체제를 사용하고 있을 것이며 각 컴퓨터가 속한 네트워크의 종류도 다르다. 한 네트워크에는 단지 한대의 컴퓨터만 있을 수도 있고 몇 십만대가 있을 수도 있다. 각 네트워크를 연결하는 통신 라인(연결 매체)은 보통은  전화선에서 사용하는 구리선 이지만 광케이블도 사용되고 동축케이블일 수도 있다. 심지어는 전파도 연결매체이다. 즉 위성으로 인터넷을 연결하는 경우에는 물리적인 선의 개념은 없다.

혹자는 "나는 집에서 모뎀으로 인터넷을 연결하는데 그러면 나는 내 피시 한대로 이루어진 네트워크 입니까?" 라고 물을 수 있지만 이 때는 여러분은 한 대의 피시로 이루어진 네트워크가 아니고 여러분에게 인터넷 연결을 제공하는 ISP(Internet Service Provider)의 네트워크에 속한 한대의 컴퓨터라고 본다.

인터넷에는 수많은 이 기종 컴퓨터가 있으므로 이 기종간의 컴퓨터에서 데이터를 송수신할 때 사용하는 프로토콜을 새로 만들었다. 즉 TCP/IP 란 프로토콜이다. 흔히 프로토콜을 사람의 언어로 비유한다. 국제회의를 하는데 그 회의에서는 불어를 공식어로 사용하자고 결정하면 모든 참가자는 다른 사람이 당연히 불어로 말할 것으로 기대한다. 어느 컴퓨터가 인터넷에 연결하면 그 컴퓨터는 다른 컴퓨터와 데이터를 주고 받을 때 반드시 TCP/IP 프로토콜을 사용해야 한다. 사용하기 싫다면 인터넷에 연결할 수 없다. 즉 로마에서는 로마법을 따라야 한다.

 

1.1  IP 주소(IP Address)

인터넷을 사용할 때 여러분은 TCP/IP 프로토콜에 대한 지식을 갖고 있을 필요는 없다.
단지 몇 가지의 지식만 있으면 된다. 그 중 하나가 IP 주소이다.

인터넷에 연결된 모든 컴퓨터는 다른 컴퓨터와 중복되지 않는 IP 주소를 갖는다. 이 주소는 xxx.xxx.xxx.xxx 형식으로 표시된다. xxx는 0부터 255까지의 값을 갖는다. 원래는 2진법으로 32비트이나 읽기 쉽게 8비트 4개로 나누고 이를 십진법으로 표기한 것이다. 32비트이므로 이론상으로 가능한 IP주소는 40억개 가량이나 네트워크를 나누는 과정에서 상당수를 사용하지 못하므로 사용 가능한 주소는 훨씬 적다. 그래서 현재 이 주소를 늘려주는 새로운 IP 주소 체계가 개발되고 있다.

 

1.2  서브네트 마스크

IP 주소는 네트워크 주소부분과 호스트 주소부분으로 구분되는데 서브네트마스크는 이 둘을 구분해 준다. 여러분이 TCP/IP 네트워크를 관리하는 관리자가 아니라면 이 값은 IP 주소 할당시 정해지므로 변경할 수 없다.

 

1.3  디폴트게이트웨이

 윈95에서는 게이트웨이라고만 나와 있지만 인터넷과 연결시 중요한 값은 디폴트게이트웨이다. 게이트웨이는 여러 개 있을 수 있지만 디폴트게이트웨이는 한 개다. 여러분의 회사가 전용선으로 인터넷과 연결되어 있고 네트워크가 한 개라면 보통은 라우터라는 장비가 회사의 네트워크에 설치되어 있고 이 장비는 전용선으로 ISP의 라우터와 연결돼 있다.
라우터는 두 네트워크에 동시에 연결돼 있는 컴퓨터이므로 IP 주소도 두 개를 갖고 있다. 디폴트게이트웨이는 라우터의 두개의 IP 주소 중 자신의 피시가 연결된 네트워크 쪽 IP 주소이다. 랜에 연결된 윈95에서 다른 네트워크에 속한 컴퓨터와 연결을 하려고 할 때는 데이터를 디폴트게이트웨이로 보낸다. 따라서 디폴트게이트웨이 지정이 틀리면 다른 네트워크에 속한 컴퓨터와 연결할 수가 없다.

 

1.4  도메인네임

인터넷의 모든 프로그램은 숫자로 된 IP 주소를 사용하지만 사람들은 별로 숫자를 좋아하지 않는다. 리눅스월드 웹서버 주소를 210.113.187.6이라고 가르쳐 주면 외우기가 쉽지 않다. 그러나 www.linuxlab.co.kr 이라고 알려주면 쉽게 기억할 것이다. 또 IP 주소는 네트워크 연결에 따라 변경해야 할 경우가 생길 수도 있다.(인터넷을 연결한 ISP가 바뀌면 IP 주소도 바뀐다) 그래서 숫자 대신 문자로 된 이름으로 IP 주소를 대신하는 것이 도메인네임 시스템이다.
그러면 컴퓨터의 IP 주소가 변경 되도 DNS 서버에서 그 도메인 네임에 대한 IP 주소를 변경해 주면 다른 사람들은 www.linuxlab.co.kr로 연결하면 DNS 서버가 바뀐 IP 주소를 찾아 원래의 서버를 연결해 줄 것이다.  
 linuxlab.co.kr이 도메인네임이고 www는 호스트네임 이다. 도메인네임은 중복되면 안되므로 각 국마다 부여하는 규칙이 있고 관리하는 기관에 등록하여야 하나 호스트 네임은 DNS 서버를 설치하여 마음대로 정할 수 있다. 리눅스에도 DNS 서버를 설치 가능하다. 도메인네임과 호스트네임을 합해서 FQDN(Fully Qualified Domain Name)이라 부른다.

도메인네임은 돈만 내면 쉽게 받을 수 있다. 하지만 윈95피시에는 FQDN은 별 소용이 없다. 도메인네임의 주 목적은 다른 컴퓨터에서 연결을 시도할 때 상대 컴퓨터를 쉽게 찾는 것인데 윈95는 연결을 제공하는 서버가 아니기 때문이다. 그러나 리눅스 서버는 연결을 제공하므로 FQDN이 필요하다.

 

2. 인터넷 연결의 의미

인터넷을 연결한다고 하면 누구나 “나는 수시로 집에서 내 피시로 인터넷을 연결해서 사용하는데 새삼스레 무슨 인터넷 연결이 필요하지?” 라고 반문할지도 모른다.  하지만 피시를 인터넷에 연결한다는 것과  인터넷 사용이 가능하다는 것은 다르다.

 

2.1  공인 IP 어드레스와  비공인(내부) IP 어드레스

인터넷에 피시가 직접 연결된 경우는 그 피시에는 미국의 InterNIC 이라는 기관에서 부여한 공인 ip 주소가 부여되야 한다. 실제로는 공인 IP 주소 배분은 각국의 ISP(Internet Service Provider)- 예를 들어 우리나라의 데이콤 - 들이 대행하고 있다.

그런데 공인 IP 주소가 없어도 인터넷 사용은 가능하다. 즉 피시에서 네트스케이프로 yahoo.com을 연결해 검색하기 위해서는 꼭 피시에 공인 IP 주소가 부여되야 하는 것은 아니다. 비공인 IP 어드레스로도 가능하다.. 그러나 인터넷에서는 비공인 IP 주소를 갖는 피시가 인터넷 망에 데이터를 직접 보내는 것을 허용하지 않으므로, 비공인 IP 주소를 갖는 피시는  공인 IP주소를 갖고 있는 다른 컴퓨터 또는 라우터 등에 연결하여 그 컴퓨터나 라우터의 공인 IP주소로 인터넷에 데이터를 보내야 한다.

어떤 경우든 인터넷은 공인 IP 주소로만 사용이 가능하므로 비 공인 IP주소를 갖는 피시는 결국 공인 IP 주소를 갖고 있는 다른 컴퓨터의 IP 주소를 공유해서 사용하는 것이다. 수천대의 피시가 이런 식으로 한 개의 컴퓨터에 부여된 공인 IP 주소를 공유하여 인터넷을 사용할 수 있다. 그때 이 비공인 IP 주소를 갖는 피시들은 인터넷에 연결돼 있다고 표현하지 않는다. 단지 인터넷을 사용 가능하다고 표현해야 한다. yahoo.com에도  여러분의 피시의 비공인 IP주소로 연결하는 것으로 표시되지 않고 여러분의 피시가 연결된 피시나 라우터의 공인 IP주소로 연결된 것으로 나타난다.

난 스타크래프트 게임을 잘 모르지만 이 게임은 비공인 IP주소 즉 IP공유를 통해서는 사용할 수 없다. 이유는 게임을 만든 제작사가 스타 게임을 하기 위해 베틀넷 서버로 연결하는 피시의 IP주소를 체크해서 동일한 IP주소로 두개 이상의 연결을 할 경우 게임을 할 수 없도록 만들었기 때문이다. 여러 대의 피시가 모두 비공인 IP주소로 스타를 하겠다면 필경 공인 IP 주소를 갖는 컴퓨터의 IP주소로 베틀넷 서버에 연결할 거고 베틀넷 서버는 두번째 피시부터는 연결을 안 받아 주면 된다. 인터넷에 연결된 모든 컴퓨터는 데이터를 보낼 때 반드시 자신의 IP 주소를 밝혀야 하기 때문이다. 안 밝히면 되지 않냐구요? 그럼 누가 보낸지도 모른 데이터에 대해 어떻게 그 답변을 줄 수가 있죠? 여기서 답변이란 여러분이 스타를 하겠다고 등록하면 다른 사람이 나와 하자고 응답하는 메시지를 말한다.

리눅스에도 IP공유를 해 주는 기능이 있다. IP masquerade라는 기능인데 리눅스에 한 개의 공인 IP주소를 받아 여러대의 윈95 피시가 리눅스의 주소를 공유해서 인터넷을 사용할 수 있다. 예전에 어느 분이 게임방의 피시가 리눅스의 IP를 공유해서 사용하도록 설치했다가 스타가 안돼 혼이 낫다는 애기를 하더군요.

그래서 비공인 어드레스를 사용할 때는 우선 자기가 이용하려는 인터넷 서비스가 비공인 어드레스(즉 IP 어드레스 공유)로 가능한지를 점검해야 한다. Web의 경우는 비공인 어드레스로 가능하나 그 외의 인터넷 서비스들은 대부분 비공인 어드레스로 사용시 문제가 발생할 수 있다. 피시통신 업체서 통신 사용자에게 제공하는 무료 인터넷 서비스는 거의 비공인 어드레스이다.

 

2.2  고정 IP 와 변동 IP

컴퓨터에 IP 주소를 부여하는 경우도 그 주소가 항상 고정되는 경우와 연결시 또는 사용시마다 변동되는 경우가 있다. 이는 공인 IP, 비공인 IP와는 무관하다.  비공인 IP의 경우는 고정 IP, 변동 IP의 구분이 별로 중요치 않다. 그러나 공인 IP의 경우는 고정 IP와 변동 IP의 구분이 상당히 중요하다. 윈95에서 자동으로 IP 주소 지정이 변동 IP이고 할당된 IP 주소 사용은 고정 IP이다.

여기서는 공인 IP 주소에서의  이 두 주소의 차이를 설명한다. 예를 들어 ISP 들이 제공하는 다이얼업 PPP 서비스 즉 모뎀을 통해 인터넷을 연결하는 서비스의 경우 대부분 변동 IP 이다. 즉 연결할 때 마다 IP 주소가 바뀐다. 케이블모뎀이나 ADSL, ISDN 인터넷 서비스도 현재는 모두 변동 IP 이다. 이에 비해 56k, 128k, 256k 등의 전용선으로 인터넷을 연결하는 경우는 고정 IP이다.

고정 IP를 받을 경우 변동 IP와 다른 점은 도메인네임을 받아 서버를 설치할 수 있다는 점이다. 리눅스에 고정 IP를 부여 받았으면 이 리눅스 서버에 각종 서버 프로그램을 설치에 인터넷을 통해 전세계의 사용자들에게 서비스를 제공할 수 있다.

 

3. 서버와 클라이언트

리눅스를 인터넷에 연결하면 각종 인터넷 서버를 구축할 수 있다고 하는데, 서버란 무엇이고 클라이언트란 무엇인가?

여러분이 윈95에서 네트스케이프로 yahoo 사이트를 연결해 데이터를 검색할 때 네트스케이프 프로그램은 어디에서 실행되는가?  바로 여러분의 피시에서 실행된다. 그러나 네트스케이프 화면에 나오는 웹페이지 데이터는 yahoo 사이트의 컴퓨터가 보내준다. 정확히는 yahoo 컴퓨터에 설치된 웹서버 프로그램이 보내준다. 여기서 여러분의 피시에 설치된 네트스케이프는 클라이언트이고 yahoo 컴퓨터에 설치된 웹서버는 서버이다. 서버는 클라이언트가 요청한 자원 여기서는 데이터를 제공하는 프로그램이라 보면 된다.

 

4. 리눅스를 인터넷에 연결해서 무슨 일을 할 까?

인터넷에 연결된 컴퓨터를 보통 호스트라고 부른다. 리눅스를 인터넷에 연결해서 가장 많이 사용하는 용도는 웹서버, 메일서버, DNS서버이다. 그외에 PPP서버, Anonymous FTP 서버, 뉴스서버, IRC 서버 등 인터넷에서 제공하는 모든 서버 기능을 리눅스에서 운영할 수 있고 그 성능도 다른 어느 운영체제를 사용하는 경우보다 뛰어나다.

 

4.1  웹서버

여러분은 보통 홈페이지를 구축한다고 말할 때 웹에디터로 만든 html 형식의 문서만 만들면 된다고 생각한다. 이 문서만 내 피시에 넣고 네트스케이프로 이 문서를 열면 웹 화면으로 볼 수는 있다. 그러나 여러분의 윈95 피시에 html 문서를 넣고 이 피시를 인터넷에 연결한다고 해서 미국에 있는  친구의 피시에서 네트스케이프로 여러분의 홈페이지를 볼 수 있는 건 아니다.

예전에 필자가 근무하던 회사가 인터넷을 연결하였다. 그래서 필자가 전산실장에게(당시 필자는 전산실 근무가 아니었다)  피시에 리눅스로 웹서버를 구축해 회사 홈페이지를 만들자고 하니 전산실장이 뭣하러 피시에 리눅스를 쓰냐는 것이다. 당시 전산실에는 석유정보망 개발을 위해 억대가 넘는 유닉스 호스트가 들어와 있었고 국내 모 대기업 전산 개발팀이 개발 용역을 받아 상주 중이었다.

그러면서 전산실장은 그냥 웹에디터로 html 문서 작성해서 그 유닉스 호스트에 부으면 홈페이지 뜨지 않느냐고 한다. 그럼 그렇게 하시라고 했더니 전산실장이 개발팀 팀장을 불러 그 유닉스에다 홈페이지 띄워 보라고 지시했다. 그런데 그 팀장은 안된다고 대답한다. 전산실장이 답답해 아니 요즘 중학생도 데이콤에다 개인 홈페이지 만드는데 이렇게 큰 대기업 전산팀이 그것도 못하냐고 기가 막힌단다.

그 팀장 대답이 우린 DB(data base) 개발팀이라 그 유닉스 호스트에 웹서버 프로그램 설치하는 방법을 모른다는 것이다. 그러니까 전산실장은 신문에는 그냥 html 문서 만들어 자기 계정에 붓기만 하면 홈페이지 뜬다는데 웹 서버란게 왜 필요한지 이해를 못하겠다는 투다. 결국 전산실장에게 웹 서버란게 무언가를 이해 시키는 건 실패했고  필자가 리눅스에 웹서버(apache)프로그램을 띄워 홈페이지 올리는 시범을 보여 줬지만 전산실에서는 수천만원 짜리 SUN 워크스테이션에 수백만원짜리 네트스케이프 웹서버 프로그램을 사들여 홈페이지를 구축했다. 홈페이지 만드는 것도 몇천만원 들였다.  

하루에 몇 백명 들리는 홈페이지라면 피시에 리눅스 깔고 아파치 웹서버 쓰면 몇 백만원이면 충분한데 몇천만원씩 들여 비싼 외국산 워크스테이션에 수백만원짜리 상용 웹서버 프로그램을 사야 하는 건지 도저히 이해가 가지 않았다. 우리나라 다른 기업들도 비슷하리라고 본다. 우리나라 기업들이 왜 외국기업들에 비해 경쟁력이 떨어 지는지 이해가 가리라 본다.

요즘 웹서버 프로그램을 몇 백만원씩 주고 사면 바보 소리 듣는다. Apache란 훌륭한 웹서버 프로그램을 공짜로 쓸 수 있으니까. 이 프로그램은 대부분의 유닉스에서 사용 가능하다. 물론 리눅스에도 들어 있고  리눅스는 설치만 하면  아파치 웹서버 프로그램이 작동한다. 그래서 리눅스 호스트가 인터넷에 연결돼 있으면 디렉토리에 html 문서만 넣어주면 전세계 어디서나 바로 여러분의 홈페이지를 볼 수 있다.

 

4.2  메일서버

리눅스에 메일서버를 설치하면 인터넷 메일을 내 피시에서 직접 받을 수 있다고 하면 난 윈95로도 그렇게 하는데 리눅스로 받는게 무슨 차이가 있냐고 묻는 사람이 있다. 그럼 여러분이 웹메일을 사용한다고 하면  메일 주소는 xxx@hotmail.com 일 것이다. 다른 사람이 이 주소로 메일을 보내면 이 메일은 결코 여러분의 피시로 직접 가지는 않는다. hotmail.com 이라는 컴퓨터의 메일서버가 받아 저장하고 있다가 여러분이 네트스케이프를 가동해 사이트를 연결해야 비로서 윈95화면에서 메일을 볼수 있다. 만약 어떤 사유로 hotmail.com 이란 컴퓨터가 다운되거나 그 컴퓨터의 인터넷 연결이 끊기면 여러분은 메일을 받을 수 없다.  

그런데 여러분이 리눅스 서버를 인터넷에 연결하고 도메인네임을 linuxlab.co.kr 로 받았다고 하자. 그러면 여러분은 무한대의 메일 계정을 만들 수 있다. bae@www.linuxlab.co.krbae@mail.linuxlab.co.kr, kim@linuxlab.co.kr  등등, 뒤에 linuxlab.co.kr 이 들어가는 메일 이름을 수도 없이 만들 수 있다. 그리고 인터넷에서 보낸 메일은 바로 리눅스 서버에 저장된다. 메일 받기 위해 다른 사이트 연결할 필요가 없다. 또 ISP 에게 돈내고 계정을 받을 필요도 없다. 하이텔, 천리안에 가입 않아도 얼마든 인터넷 메일 계정을 만들 수 있는 것이다.

 

4.3  DNS(Domain Name System) 서버

DNS 서버란  문자로 된 도메인네임(정확히는 FQDN)을 IP 주소로 번역하는 작업을 해준다. 그 반대의 경우도 담당한다. 즉 www.linuxlab.co.kr 을 210.113.187.6으로 바꾸어 주는 역할을 한다. 이유는 인터넷에서 사용하는 모든 프로그램은 IP 주소를 사용하기 때문이다.  네트스케이프에서  http://www.linuxlab.co.kr를 입력하면 네트스케이프는 먼저 윈95의 [제어판] [네트워크]에 지정된 DNS 서버에게 www.linuxlab.co.kr의  ip주소를 문의해서 210.113.187.6 이라는 숫자를 알아낸 후 이 숫자를 이용해 www.linuxlab.co.kr 이름을 갖는 컴퓨터의 위치를 찾아간다. 왜 숫자를 쓰느냐고요? 윈95에서 라우팅 테이블 비교하는 프로그램, 또 라우터에서 라우팅 테이블 설정하는 프로그램  등등이 다 이 숫자만을 사용하기 때문이죠. 그래서 http://210.113.187.6 이라고 입력하면 DNS 서버에서 IP 주소 찾는 시간이 절약되어 연결 시간은 단축되지만 그렇다고 내 명함에 내 웹서버 주소는 210.113.187.6 이라고 적어 넣고 싶지는 않겠죠?

DNS 서버는 별로 중요치 않는 것처럼 보일지 몰라도 이게 아주 요긴하게 쓰일때가 있다. 바로 웹 호스팅이란걸 할 때 중요하다. 웹호스팅이란 한대의 컴퓨터에 여러 업체의 웹서버를 운영해 주는걸 말한다. 예를 들어 리눅스 한대에다 www.linuxlab.co.kr 이란 서버, www.linuxjournal.co.kr 이란 서버 등 도메인네임이 다른 여러 업체의 서버를 동시에 띄우는 것이다. 물론 홈페이지 내용도 전혀 다르고 각 서버마다 별개의 위치에 파일을 저장한다.

몇 년전만 해도 웹호스팅 하나 해주는데 10만원씩 받았는데 요즘은 3만원 이내로 낮아 졌다. 다 리눅스 덕이다. 리눅스에서 웹서버, 메일서버, DNS 서버 세개만 설치할 줄 알면  웹호스팅을 해 줄 수 있으니까.  펜티엄 한대에 하드 디스크 10기가짜리 3개 정도 달면 수 십개 업체 웹호스팅을 해줄 수 있으니 값이 떨어질 수밖에.

 

5. 인터넷 사이트 개설 절차

인터넷 회선, 서버 컴퓨터, 서버 프로그램, 데이터 등이 집합된 하나의 가상 공간을 인터넷 사이트라 부른다. 물리적인 장소는 중요치 않다. 여러분의 공부방에도 또 사무실에도 아니면 근처의 게임방 구석에 또는 다른 사이트와 공동으로 여러분만의 사이트를 구축할 수 있다.

 

5.1  인터넷 회선 연결

1) ISP를 통하는 방법

ISP(Internet Service Provider) 란 인터넷 연결을 전문으로 해주는 업체이다. 연결해 주려면 공인 IP 주소도 필요하므로 이 주소 할당도 해준다. 한국통신, 데이콤, 아이네트 등 국내에 현재 수십개 업체가 있다. 주로 전용선으로 인터넷을 연결해주나 피시 한대에서 인터넷을 사용하는 사람을 위해 다이얼업 PPP 서비스도 제공한다.  

케이블모뎀, ADSL 등으로 인터넷을 연결하는 경우는 고정 IP를 받을 수 없으므로 리눅스에 서버를 구축할 수 없다.

·전용선 (leased line)
56/64k, 128k, 256k, 512k, T1(1.544mbps) 등의 속도가 있다. 장비로는 라우터가 그리고 속도에 따라 DSU, FDSU, CSU 등의 단말 장치가 필요하다. 위 장비는 임대가 가능하나 라우터는 요즘 값이 많이 싸졌으므로 구입하는 것도 좋다. 월 임대료가 80,000원인데 100만원 이내로 구입 가능하므로 1년 이상 사용시 구입이 유리하다. DSU, FDSU 등은 회선 속도가 바뀌면 무용지물이므로 임대가 유리하다. 전용선의 경우 보통 공인IP 주소를 64개 정도 받을 수 있다.
설치를 하려면 전화선 2회선의 배선이 있어야 하므로 미리 구내 배선에 여유가 있는지를 확인해야 한다.

·co-lan
한국통신에서 제공하며 속도는 115.2k 까지 가능하고 IP 주소는 한 개만 준다. 피시의 시리얼 포트에 바로 연결하므로 라우터가 필요없다. 음성전화선과  같이 사용하므로 별도의 내선이 필요없어 내부 배선이 부족한 사무실의 경우 유용하다.

2) 재연결
이미 ISP와 연결되어 있는 다른 사이트에서 끌어오는 방법인데 선 설치를 본인이 직접 해야 하므로 통신에 대한 지식이 약간 필요하다. 주위에 이미 전용선으로 인터넷을 연결해 쓰고 있는 회사, 게임방, 학원, 학교에서 끌어오는 방법이다. 통신회선비만 부담하면 되므로 ISP에 연결하는 것보다 훨씬 싸다.

예를 들어 ISP에게서 128k로 인터넷을 연결하려면 보통 60에서 80만원이 든다. 그러나 학교에 인터넷이 연결돼 있을 경우 이를 집으로 128k 라인으로 연결하면 회선비는 13만원 밖에 안든다.
아래는 학교에 연결된 인터넷을 집으로 재 연결한다고 가정한 경우의 예이다.

·전용선  사용.
56k나 128k로 인터넷을 끌어 오려면 학교의  라우터에 연결해야 한다.(다른 방법도 있다.) 그런데 학교에서 인터넷을 전용선으로 연결한 경우 반드시 라우터를 사용하는데 이 라우터에는 보통 시리얼 접속 포트(싱크포트)가 2개가 있다. 이 포트 중 한 개는 ISP와 연결하는데 사용하지만 다른 한 개는 사용하지 않는 경우가 많다. 이 시리얼 접속포트에 128k나 256k 등의 디지털 라인을 연결해서 집으로 연결하면 된다. 집에는 꼭 라우터가 필요하지는 않다. 싱크보드나 싱크/어싱크 변환 어뎁터등을 쓰면 된다.

·TT선 연결
고급 라우터의 경우 백업용 모뎀 연결 시리얼포트(어싱크)가 있다. 학교의 라우터에 어싱크포트가 있으면 다이얼업모뎀과 TT선으로 집으로 연결하면 된다. TT선 속도는 33.6k가 최고지만 웹데이타는 모뎀에서 압축을 해주므로 거의 60k 정도의 속도가 나온다. TT선은 월 요금이  28,000원으로서 전용선 중 가장 싸다.

라우터에 어싱크 포트가 없으면 인터넷에 연결된 피시 중 리눅스가 설치된 피시의 시리얼포트에 연결 후 리눅스에 PPP 서버를 올리면 된다. 또는 486급 피시에 아예 리눅스로 PPP 서버를 설치하는 방법도 있다. 재연결에서 중요한 건 사용하지 않는 공인 IP 주소를 받아야 한다는 것이다. 만약 회사나 학교에 파이어월이 설치된 경우 파이어월 내부에서 끌어오면 공인 IP를 받을 수 없다. 파이어월 밖으로 연결해야 한다. 연결하는 서버가 공인 IP 인지의 여부는 스타크래프트를 돌려 베틀넷에 연결되는지를  알아보는 것이다. 또 PPP 서버를 새로 설치하는 경우 서버에 1개 집으로 1개 등 두개의 공인 IP가 필요하다.

3) 기타
ISP는 아니지만 ISP에게서 인터넷을 연결해 일반인에게 저렴하게 재 판매하는 업체도 많이 있다. 보통 TT선과 다이얼업 모뎀을 사용하는데 5 ~ 7만원 선을 받고 있다. TT선에 대해서는 리눅스 월드 ‘97년 10월호나 리눅스 월드 홈페이지를 참고 하기 바란다.

 

5.2  도메인네임 신청

회선을 연결해서 IP 주소를 받았으면 도메인네임을 신청한다. 연 35,000원이 든다.

 

5.3  랜 설치

리눅스 서버 한대만으로도 모든 서버를 설치하고 인터넷 서핑, 통신, 워드 작성 등 다 할 수 있지만 아직 리눅스에서 사용할 수 없는 프로그램도 많으므로 윈95 피시를 리눅스와 랜으로 연결하면 완벽한 조화가 된다. 이때는 리눅스에 프린터를 연결해 윈95에서 리눅스의 프린터를 공유할 수도 있고, 리눅스 하드를 윈95에서 공유할 수도 있다. 윈95 피시에서 리눅스 서버를 통해 팩스를 보내고 받는 것도 가능하다.  

3 대 랜(Local Area Network)  표준은 이더넷(Ethernet), 토큰링(Token-Ring), 아크넷(ARCnet) 이다. 토큰링은 IBM 호스트와 연결시 일부 사용하고 있으나 그 외는 대부분 이더넷이다. 우리나라의 랜도 90% 이상 이더넷으로 추정되고 있다. 리눅스는 이 셋을 모두 지원한다. 여기서는 이더넷만을 대상으로 설명한다. 이더넷에서 사용하는 케이블은 UTP, thick, thin등 세가지 이므로 랜카드를 살 때 어느 케이블에 사용 할지에 따라 카드를 골라야 한다. 하지만 요즘은 거의 UTP 케이블을 사용하므로 이를 설명한다.

1) 랜카드  
UTP를 사용하는 랜카드는 RJ-45 단자가 있어야 한다. 전화선 연결에 쓰이는 흰색단자보다 크고 8개의 접점이 있다. 또 피시의 버스에 따라 ISA용과 PCI 용이 있는데 PCI 용이 설치가 편하다. 속도에 따라 10메가와 100메가가 있다.

UTP 케이블을 연결하는 포트는 10Base-T, thin 케이블을 연결하는 포트는 BNC(10Base-2), thick 케이블을 연결하는 포트는 AUI 포트라고 불린다.

2) 허브
두 대의 피시만 연결한다면 허브가 필요없다. UTP 케이블을 크로스로 연결하면 된다. 3대 이상의 피시를 연결하려면 허브가 필요하다. 역시 10메가와 100메가가 있다. 고가로는 스위칭허브가 있으나 이는 수백대의 피시를 연결할 때나 필요하다.

3) RJ-45 콘넥터
흰색의 8개의 라인이 연결되는 콘넥터이다. UTP 케이블과 연결시 특수한 공구가 필요하다. 랜케이블 판매점에 가면 케이블과 RJ-45 콘넥터를 연결해서 판다.

 

6. 리눅스 서버 꾸미기

6.1  하드웨어

리눅스를 설치할 컴퓨터로는 크게 피시, 알파, 선스팍으로 나눌 수 있다. 이중에서 가장 주위에서 손쉽게 접할 수 있는 피시를 대상으로 설명한다.

1) CPU
리눅스를 서버로 사용할 경우는 CPU 보다는 I/O 부분에서 병목이 주로 발생한다. 따라서 CPU 내부 클락 속도가 높은 것 보다 버스 클락이 높은게 바람직하다.

2) 메모리
리눅스가 기본으로 사용하는 메모리가 8메가 정도이고 사용자 1인당 1메가 정도의 메모리가 필요하다고 본다.

3) 마더보드
필자가 사용한 일부 저가 마더보드는 리눅스 설치나 커널 컴파일 등에서 문제가 발생하였다.

4) CD-ROM 드라이브
리눅스를 서버로만 쓴다면 설치 시 외는 크게 사용되지 않으므로 구태여 최신의 고속 제품을 쓸 필요는 없다.

5) 하드디스크
리눅스에서 가장 중요한 장치이다. 안정성과 속도가 생명이다. 유명업체의 최신 제품을 쓰는게 좋다. 여유가 있다면 IDE 보다는 SCSI 방식이 당연히 낫다. IDE 방식은 최대 4개까지만 연결이 가능하나 SCSI 방식은 거의 제한이 없다.

SCSI 하드의 경우도 일반 SCSI 보다 WIDE SCSI 방식이 당연히 낫다. 리눅스에서는 하드디스크는 무조건 가장 빠른 것을 쓰는게 좋다.

6) 랜카드
ISA 타입과 PCI 타입이 있으며 PCI 타입이 설치가 편하다. 요즘은 100메가 카드도 가격이 많이 떨어졌으므로 10메가 보다는 10/100메가 겸용을 사는게 낫다. 3com 카드가 리눅스에 가장 잘 맞다.

7) SCSI 콘트롤러
리눅스에서는 대부분의 SCSI 콘트롤러를 사용가능하나 SCSI 하드를 사용할 때는 하드에 맞는 콘트롤러를 장착해야 한다. 예를 들어 하드가 WIDE SCSI 방식이라면 콘트롤러도 당연히 WIDE SCSI 콘트롤러를 써야한다. Adeptec 사의 제품이 가장 성능이 좋다.

8) 모뎀
리눅스를 TT선으로 인터넷과 연결시는 매우 중요하다. 외장모뎀은 문제가 없으나 내장모뎀을 살때는 조심해야 한다. 모뎀 포장이나 설명서에 윈도우 전용이라고 단서가 붙은 제품은 리눅스에서 사용할 수 없다. PCI 모뎀도 최근에 일부 모델에 리눅스용 드라이버가 제공되나 대부분은 사용할 수 없다. 피시 살 때 끼워주는 싸구려 모뎀은 리눅스에서 별로 권하고 싶지 않다.
USRobotics, Boca 등의 제품이 유명하다.

9) 백업장치
리눅스에서 백업 장치로 추천할만한 제품은 DAT(Digita Audio Tape)이다. 드라이브 값이 약간 비싸지만 테이프 한 개로 8기가 저장이 가능하고 테이프 값도 3만원 미만으로 싸다. SCSI 콘트롤러를 필요로 한다.

10) UPS
정전 후 일정시간 내에 전원이 회복되지 않을 때 자동으로 리눅스를 셧다운 시켜주는 스마트 UPS를 사용하는게 좋다. 스마트 UPS는 UPS와 리눅스서버의 시리얼포트를 연결하여 정전 후 일정 시간이 지나면 UPS에서 리눅스에 shutdown 명령을 준다. 그리고 전원이 들어오면 다시 리눅스를 부팅해 주므로 무인 운전이 가능하다. 미국의 APC사 제품의 경우 리눅스용 드라이버가 공식적으로 발표되었다.

11) 프린터
윈9X 전용이라 표시된 제품은 리눅스에서 사용할 수 없다.

 

6.2  리눅스 배포본

세계적으로 가장 많이 알려진 배포본은 회사에서 만든 것으로 레드햇(Red Hat), 수세(SuSE), 칼데라(Caldera) 등이 있고 자원자들이 만든 데비안(Debian)이 있다. 설치 방법이나 파일 위치 등에서 약간 다를 뿐 리눅스 부분은 거의 동일하다. 회사에서 직접 제작한 공식버전은 몇가지 상용 프로그램이 들어있고 매뉴얼도 있다. 리눅스 부분은 보통 그 회사의 FTP 사이트에 올려져 있으며 이를 다른 회사에서 다운받아 CD를 제작해 판매하기도 한다. 이를 다운로드 버전이라 한다.

우리나라에서 만든 한글배포본은 모두 레드햇 다운로드버전(레드햇 FTP 사이트에서 다운받을 수 있는 버전)에 한글폰트와 한텀 등의 몇 가지 한글 프로그램을 패치한 것이다. 일부 한글 배포본은 레드햇 시험판을 다운받아 테스트도 없이 서둘러 CD 제작을 해서 버그(bug)가 많아 서버로 사용시 다운되는 경우가 있으니 조심해야 한다. 한글배포본 중 일부는 아직도 구식의 레드햇 6.0을 기반으로 하고 있다.

리눅스의 경우 모든 프로그램이 다른 프로그램과 상호의존 관계를 갖고 있어 한 개의 프로그램을 수정해도 시스템 전체의 안정성에 영향을 줄 수 있다. 따라서 서버로 사용시는 한글 문제가 의미가 없으므로 수정하지 않은 배포본 원본을 사용하는 것이 안전하다.

현재 각 배포본의 최신버전은 다음과 같다.

- 레드햇 6.1(Cartman)
- 수세 6.3
- 칼데라 OpenLinux 2.3

참고로 레드햇은 버전마다 별명이 있다.

5.2 : Apollo
6.0 : Hedwig
6.1 : Cartman

 

6.3  리눅스  설치시  주의사항

리눅스 설치 방법은 배포본마다 다르므로 여기서는 설명은 생략한다. 단지 아래 몇 가지를 주의하면 된다.  

1) 리눅스를 서버로 사용한다면 다른 운영체제와 멀티부팅을 할 필요는 없다.
    서버는 24시간 켜 놓아야 하기 때문이다.

2) 하드가 IDE 방식이라면 CMOS 셋업에서 반드시 LBA 모드로 설정해야 한다.

3) SCSI 방식 하드를 사용할때는 CMOS 셋업에서 하드디스크를 NONE으로 설정해야 한다.

4) IDE 와 SCSI 하드를 동시에 사용할 때는 특히 주의하여야 한다. 가장 편한 방법은 루트(/)
    파티션을 IDE 하드에 설치하고 LILO 도 IDE 하드의 마스트부트레코드(MBR)에 설치하는
    것이다. 그리고 SCSI 하드는 /usr, /var, /home 등에 마운트 시켜 사용하는 것이다.

    만약 이 반대로 사용한다면 lilo 설치시 복잡한 문제가 발생한다.
    비록 CMOS 셋업에서 SCSI 하드 부팅이 가능하도록 설정되 있어도 lilo가 SCSI 하드의
    MBR에 설치된 경우 IDE 하드를 추가해 다시 lilo 명령을 주면 lilo가 IDE 하드의 MBR에
    설치되고 SCSI 하드의 MBR에 있는 lilo는 지워져 SCSI 하드에서 부팅할 수 없게 된다.
    (플로피로는 부팅된다)
    이걸 예방하려면 lilo 명령을 줄 때 IDE 콘트롤러를 disable 해준다.

5) 비상용 부팅 디스켓은 꼭 만들어 보관해야 한다. 요긴하게 사용할 경우가 있다.

6) 루트(/) 파티션은 반드시 1024 실린더 내에 위치해야 한다.
    그렇지 않으면 lilo로 즉, 하드디스크에서 부팅 할 수 없다.
    리눅스 설치시는 항상 하드디스크 실린더 수치를 점검해야 한다.

 

6.4  랜카드 셋업

리눅스 설치시 많은 사람들이 가장 어려워 하는 부분이 리눅스에서 랜카드를 인식시키는 것이다. 그러나 최신 버전에서는 설치시에 질문에만 정확히 대답하면 바로 인식되므로 별로 어렵지 않다.

1) 랜카드 살 때는 반드시 도스용 셋업 디스크를 받아서 랜카드를 피시에 꼽은 후,
    셋업 프로그램을 돌려 PNP를 disable 해주어야 한다. 중고 카드를 구입했다면 피시 통신
    자료실에서 구할 수도 있고 제작사의 홈페이지에서도 찾을 수 있다. 일부 모델은 점퍼로
    PNP를 disable 한다. ISA 방식보다 PCI 방식이 비교적 설치가 쉽다. PCI 랜카드는 IRQ,
    IO address를 랜카드에서 설정하지 않고 피시의 CMOS에서 설정해 주므로 충돌이 발생할
    가능성이 적기 때문이다.

2) ISA 랜카드는 IRQ. IO address, DMA 등이 다른 카드와 충돌을 일으키는 경우가 많다.
    특히 대만제 랜카드는 출고시 IRQ를 3으로 설정해 놓은 경우가 많은데, 이 번호는
    com2에서 사용하므로 외장모뎀이나 시리얼마우스 등과 충돌이 날 수 있다. 셋업 디스크를
    사용 IRQ를 다른 값으로 바꾸는게 좋다. 또는 CMOS 셋업에서 com2를 disable 해주어야
    한다. 값을 바꾼 후는 진단 프로그램을 돌려 충돌 여부를 검사해야 한다.

3) ISA 랜카드에서 사용 가능한 IRQ 값은 5, 7, 9, 10, 11 등이다. 프린터를 사용한다면 7번은
    사용할 수 없다. 10번은 사운드 카드와 충돌이 날 수 있다. 11번은 SCSI 콘트롤러에서 사용
    하는 경우가 있다. 대만제의 경우 5번이 비교적 잘 잡힌다. PS/2 마우스를 쓰지 않으면
    12번도 가능하다. ( 구형 8비트 ISA 랜카드는 IRQ 7이하만 사용이 가능하다)

4) IO address는 220, 330 등은 다른 카드에서 사용하는 경우가 있으므로 ISA 랜카드에서  
    쓰지 않는게 좋다.

5) 설치시 랜카드에 대한 질문에서 자신의 랜카드 모델이 없으면 대만제 랜카드(10메가)는
    거의 ne2000으로 잡아주면 된다.(ISA와 PCI가 있다) 안될 경우 랜카드를 살펴보면 커다란
    칩이 있는데 이 칩에 제조업체의 이름이 있으므로 이걸로 설정한다. 그래도 안되면 제조
    회사에 어느 랜카드와 호환되는지를 문의한다.
    랜카드가 잡히면 부트시 아래 메시지가 나온다. dmesg 명령으로도 가능하다.
    (아래는 3com 3c509 랜카드이다)

eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 60 8c ec 79 4f, IRQ 10.
3c509.c:1.16 (2.2) 2/3/98
becker@cesdis.gsfc.nasa.gov

- eth0는 인터페이스명이다. ( 장치명과는 다르다. 장치명은 반드시 앞에 /dev를 붙이고
   /dev 디렉토리에 같은 이름의 파일이 있어야 하나 인터페이스명은 그렇지 않다.)

- 0x300은 IO address

- 10BaseT port : RJ-45 콘넥터를 랜 연결에 사용하고 있다는 뜻이다.
   랜 케이블을 꼽으면 자동 감지한다. 3c509에는 UTP 케이블을 사용하는 10Base-T와
   AUI 두개의 포트가 있다. (두 포트를 동시에 사용할 수는 없다)

- 00 60 8c ec 79 4f, : 이더넷 카드 하드웨어 어드레스임(전세계에서 생산되는 모든
   이더넷카드는 다른 카드와 중복되지 않는 48비트의 주소를 갖는다)

- IRQ 10 : 3c509카드는 isa 방식이므로 수동으로 IRQ를 지정한다.
   이 값은 카드 내에 저장되므로 한번만 설정하면 된다.

 

6.5  TCP/IP 설정

리눅스를 인터넷과 연결하려면 반드시 IP address, subnetmask, default gateway 등의 TCP/IP 값을 지정해야 한다. 그러나  TCP/IP 값은 리눅스에 연결된 네트워크 인터페이스 수만큼 지정 가능하다. 예를들어 리눅스에 랜카드, 싱크보드가 꼽혀 있고 시리얼포트도 있다면 이 셋 모두 인터넷 연결에 사용 가능하다. 때로는 랜카드가 2개 이상 꼽힐 수도 있다. 따라서 공인 IP 주소는 인터넷에 연결되는 인터페이스에 부여하고 나머지는 비공인 IP 주소를 부여해야 한다. (그럴 필요가 있을지는 모르지만 2 군데 이상에 공인 IP를 부여할 수도 있다)

그런데 리눅스 설치시에는 배포본에 따라 다르지만 보통 랜카드(즉, eth0)에 대한 TCP/IP 설정 값만 묻는다. 그래서 설치시 TCP/IP 설정 값을 입력할 때는 어느 인터페이스에 대한 값인지를 확인하고 입력해야 한다.

예를들어 리눅스를 시리얼포트를 통해 TT선으로 인터넷을 연결할 예정이고 랜카드는 다른 윈95 피시와 연결해서 다른 윈95피시에서 리눅스의 IP 주소를 공유해서 사용할 예정이면 리눅스 설치시 랜카드(eth0)에 대한 TCP/IP 설정 값은 내부(비공인) IP 인 192.168.X.X를 사용해야 한다. 그리고 공인 IP는 ppp 인터페이스에 부여해야 한다. PPP 인터페이스(ppp0)에 대한 TCP/IP 설정 값은 리눅스 설치시에 입력하지 않고 PPP 연결시에 연결 스크립트에서 지정하는게 좋다. 다음에 자세히 설명한다.

TCP/IP 설정과 관계있는 사항은 아래와 같다. 설치 전에 미리 결정해야 한다.

아래는 리눅스 월드 웹서버가 설치된 리눅스 서버의 예이다.

1) 호스트네임(hostname) : www.linuxlab.co.kr 에서 www가 호스트네임이다.
    그러나 인터넷에서 www 란 이름을 쓴다고 꼭 서버의 호스트 네임을 www로 지정할 필요는
    없다. 다른 이름으로 지정하고 DNS 서버에서만 www로 맞출 수 있다.
2) 도메인네임 : linuxlab.co.kr
3) IP address:210.113.187.6
4) network address:210.113.187.0
5) subnetmask:255.255.255.192
6) broadcast address:210.113.187.63
7) primary & secondary 네임서버 주소 (secondary 네임서버 주소는 필수는 아니다)
8) 디폴트게이트웨이: 생략
   (서브네트마스크가 255.255.255.0이 아닌 것은 서브네팅을 했기 때문임)
 위의 사항을 모두 리눅스 설치시에 지정해야 한다.

 

6.6  PPP 연결

리눅스를 시리얼포트(모뎀)를 통해 인터넷을 연결하는 경우는 PPP 프로토콜을 사용하므로 ppp 인터페이스(ppp0)에 공인 IP를 지정한다. PPP로 인터넷 연결은 상당히 까다롭다. 모뎀설정 -> 모뎀 전화걸기 -> 로그인(login) -> PPP 서버에서 PPP 데몬 실행 -> 내쪽에서 PPP 데몬 실행 등의 과정이 필요하기 때문이다.

그러나 이 모든 과정을 ppp 연결 쉘스크립트 하나로 만들어서 리눅스 부팅과 동시에 연결이 이루어 지게 만들 수 있다. 아래는 신촌의 모업체에서 레이넷으로 PPP 연결을 하는 쉘 스크립트이다. com2에 TT선과 모뎀으로 인터넷을 연결하고 있다. 레이넷 쪽이 PPP 서버이며 역시  리눅스를 사용하고 있다.

/usr/sbin/pppd -detach connect \
‘/usr/sbin/chat “” atx1 OK atd ogin: /AutoPPP/’ \
/dev/ttyS1 115200 crtscts modem noipdefault defaultroute

- ‘/usr/sbin/chat “” atx1 OK atd  부분은 모뎀 설정(atx1)부터 전화를 거는 명령이다.
   TT선이므로 atd 명령만으로 전화걸기가 이루어 진다.

- ogin: /AutoPPP/ 는 로그인해서 PPP 서버에서 ppp 데몬을 실행 시키는 과정이다.
   PPP 서버가 Auto PPP 를 사용하고 있다.

- /usr/sbin/pppd 는 내쪽의 ppp 데몬을 실행시켜 준다.

- noipdefault defaultroute 는 TCP/IP 설정 값이다. Noipdefault는 내쪽의 IP 주소를 서버가
   지정한다 는 뜻이고, defaultroute는 서버 쪽에 default gateway를 지정한다는 뜻이다.

 이렇게 해서 PPP 연결이 이루어진 경우의 TCP/IP 설정 부분을 보자.

■ 신촌(PPP 클라이언트)

ppp0    Link encap:Point-to-Point Protocol
     inet addr:210.126.21.130  P-t-P:210.126.21.62  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST       
          MTU:1500  Metric:1
          RX packets:21648 errors:1 dropped:0 overruns:0 frame:1
          TX packets:25942 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10

■ 레이넷(PPP 서버)

ppp5      Link encap:Point-to-Point Protocol
          inet addr:210.126.21.62  P-t-P:210.126.21.130  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST   
          MTU:1500  Metric:1
          RX packets:26014 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21730 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10

여기서 신촌 쪽 IP 주소는 210.126.21.130이고(공인 IP임) 레이넷 쪽은 210.126.21.62이다. 레이넷 PPP 서버는 랜카드를 통해 인터넷으로 연결되어 있으므로 210.126.21.62는 PPP 서버 랜카드(eth0)에 부여된 공인 IP 주소이다.

아래 ifconfig 명령으로 레이넷의 랜카드 TCP/IP 설정을 보면 알 수 있다.

 [root@octo2 bae]# ifconfig
 eth0     Link encap:Ethernet  HWaddr 00:00:B4:41:46:BC
          inet addr:210.126.21.62  Bcast:210.126.21.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500   
          Metric:1

 

7.  IP 주소 공유

TT선이나 CO-LAN으로 인터넷을 연결한 경우 공인 IP는 리눅스에 한 개만 부여되고 리눅스와 랜으로 연결된 윈95 피시에는 내부(비공인) IP 주소가 부여된다. 그러나 윈95 피시에서도 리눅스의 IP 주소를 공유해서 인터넷을 사용하는 방법이 있다. 아래 두 가지 방법을 소개한다.

 

7.1  IP masquerade  

리눅스 커널을 컴파일하고 ipchains를 설치하면 가능하다. 리눅스에서 윈95의 비공인 IP 주소와 포트 번호를 리눅스의 공인 IP 주소와 포트번호로 실시간에 치환해 인터넷에 연결시켜주는 방법이다. 윈95에서는 web, telnet, ftp 등 대부분의 인터넷 서비스를 사용할 수 있다. 이 작업은 투명하게 이루어지므로 윈95 쪽 클라이언트 프로그램(웹브라우저, telnet 프로그램 등)에서는 아무런 추가 설정이 필요 없고,  그 프로그램이IP masquerade를 지원하도록 만들어질  필요도 없다.

 

7.2  proxy server

윈95의 프락시서버를 지원하는 클라이언트 프로그램(네트스케이프)에서 리눅스 서버에 설치된 proxy server에게 인터넷에서 데이터를 가져다 달라고 부탁하면 리눅스의 프락시 서버가 인터넷에서 데이터를 가져다 윈95의 프로그램에게 넘겨주는 방식이다. 이 경우는 윈95에 설치된 클라이언트 프로그램에  proxy 지원 기능이 들어 있어야 사용할 수 있고, 윈95 클라이언트 프로그램의 proxy 부분에 프락시 서버가 설치된 리눅스의 IP 주소와 포트번호를 지정해야 한다.

웹브라우저에는 프락시 기능이 들어 있다.
네트스케이프의 Edit -> Preferences -> Advanced -> proxy 메뉴에 각 서비스별로 proxy 서버의 ip address와 port 번호를 지정하게 되어 있다. 프락시서버 포트번호는 보통 8080을 쓴다.

리눅스에서 proxy 서버로는 squid가 많이 쓰이나 socks5, apache, TIS firewall toolkit 등에도 프락시 기능이 있다.

 

8. 마치며

이 글은 리눅스로 인터넷을 연결해 서버를 구축하려는 초보자를 위해 입문 형식으로 쓰여졌으나 중간에 어려운 부분도 포함되었다. 이 글은 일반적인 경우만을 설명했으므로 많은 예외적인 경우가 존재한다.  

또 리눅스는 계속해서 변하고 있으므로 이 글 내용이 언젠가는 틀릴 수도 있다는걸 명심하길.

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,044 명
  • 현재 강좌수 :  35,858 개
  • 현재 접속자 :  81 명