배철수 : 리눅스월드 발행인
|
목차 1. 인터넷? 2. 인터넷 연결의 의미 3. 서버와 클라이언트 4. 리눅스를 인터넷에 연결해 무슨
일을 할까? 5. 인터넷 사이트 개설절차 6. 리눅스 서버 꾸미기 7. IP 주소 공유 리눅스와 인터넷의 만남은 우연히 아니다. 왜? 인터넷의 모든 서비스가 유닉스라는 운영체제에서 개발되었고 리눅스는 유닉스와 완전히 호환되기 때문이다. 여러분이 인터넷에서 흔히 사용하는 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 주소를 갖는다. 이 주소는 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의 라우터와 연결돼 있다.
1.4 도메인네임 인터넷의 모든 프로그램은 숫자로 된 IP 주소를
사용하지만 사람들은 별로 숫자를 좋아하지 않는다. 리눅스월드
웹서버 주소를 210.113.187.6이라고 가르쳐 주면 외우기가 쉽지
않다. 그러나 www.linuxlab.co.kr 이라고 알려주면 쉽게 기억할
것이다. 또 IP 주소는 네트워크 연결에 따라 변경해야 할 경우가
생길 수도 있다.(인터넷을 연결한 ISP가 바뀌면 IP 주소도 바뀐다)
그래서 숫자 대신 문자로 된 이름으로 IP 주소를 대신하는 것이
도메인네임 시스템이다. 도메인네임은 돈만 내면 쉽게 받을 수 있다. 하지만 윈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.kr, bae@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) ·co-lan 2) 재연결 예를 들어 ISP에게서 128k로 인터넷을 연결하려면
보통 60에서 80만원이 든다. 그러나 학교에 인터넷이 연결돼 있을
경우 이를 집으로 128k 라인으로 연결하면 회선비는 13만원 밖에
안든다. ·전용선 사용. ·TT선 연결 라우터에 어싱크 포트가 없으면 인터넷에 연결된 피시 중 리눅스가 설치된 피시의 시리얼포트에 연결 후 리눅스에 PPP 서버를 올리면 된다. 또는 486급 피시에 아예 리눅스로 PPP 서버를 설치하는 방법도 있다. 재연결에서 중요한 건 사용하지 않는 공인 IP 주소를 받아야 한다는 것이다. 만약 회사나 학교에 파이어월이 설치된 경우 파이어월 내부에서 끌어오면 공인 IP를 받을 수 없다. 파이어월 밖으로 연결해야 한다. 연결하는 서버가 공인 IP 인지의 여부는 스타크래프트를 돌려 베틀넷에 연결되는지를 알아보는 것이다. 또 PPP 서버를 새로 설치하는 경우 서버에 1개 집으로 1개 등 두개의 공인 IP가 필요하다. 3) 기타
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 케이블을 연결하는 포트는 10Base-T, thin 케이블을 연결하는 포트는 BNC(10Base-2), thick 케이블을 연결하는 포트는 AUI 포트라고 불린다. 2) 허브 3) RJ-45 콘넥터
6. 리눅스 서버 꾸미기 6.1 하드웨어 리눅스를 설치할 컴퓨터로는 크게 피시, 알파, 선스팍으로 나눌 수 있다. 이중에서 가장 주위에서 손쉽게 접할 수 있는 피시를 대상으로 설명한다. 1) CPU 2) 메모리 3) 마더보드 4) CD-ROM 드라이브 5) 하드디스크 SCSI 하드의 경우도 일반 SCSI 보다 WIDE SCSI 방식이 당연히 낫다. 리눅스에서는 하드디스크는 무조건 가장 빠른 것을 쓰는게 좋다. 6) 랜카드 7) SCSI 콘트롤러 8) 모뎀 9) 백업장치 10) UPS 11) 프린터
6.2 리눅스 배포본 세계적으로 가장 많이 알려진 배포본은 회사에서 만든 것으로 레드햇(Red Hat), 수세(SuSE), 칼데라(Caldera) 등이 있고 자원자들이 만든 데비안(Debian)이 있다. 설치 방법이나 파일 위치 등에서 약간 다를 뿐 리눅스 부분은 거의 동일하다. 회사에서 직접 제작한 공식버전은 몇가지 상용 프로그램이 들어있고 매뉴얼도 있다. 리눅스 부분은 보통 그 회사의 FTP 사이트에 올려져 있으며 이를 다른 회사에서 다운받아 CD를 제작해 판매하기도 한다. 이를 다운로드 버전이라 한다. 우리나라에서 만든 한글배포본은 모두 레드햇 다운로드버전(레드햇 FTP 사이트에서 다운받을 수 있는 버전)에 한글폰트와 한텀 등의 몇 가지 한글 프로그램을 패치한 것이다. 일부 한글 배포본은 레드햇 시험판을 다운받아 테스트도 없이 서둘러 CD 제작을 해서 버그(bug)가 많아 서버로 사용시 다운되는 경우가 있으니 조심해야 한다. 한글배포본 중 일부는 아직도 구식의 레드햇 6.0을 기반으로 하고 있다. 리눅스의 경우 모든 프로그램이 다른 프로그램과 상호의존 관계를 갖고 있어 한 개의 프로그램을 수정해도 시스템 전체의 안정성에 영향을 줄 수 있다. 따라서 서버로 사용시는 한글 문제가 의미가 없으므로 수정하지 않은 배포본 원본을 사용하는 것이 안전하다. 현재 각 배포본의 최신버전은 다음과 같다. - 레드햇 6.1(Cartman) 참고로 레드햇은 버전마다 별명이 있다. 5.2 : Apollo
6.3 리눅스 설치시 주의사항 리눅스 설치 방법은 배포본마다 다르므로 여기서는 설명은 생략한다. 단지 아래 몇 가지를 주의하면 된다. 1) 리눅스를 서버로 사용한다면 다른 운영체제와
멀티부팅을 할 필요는 없다. 2) 하드가 IDE 방식이라면 CMOS 셋업에서 반드시 LBA 모드로 설정해야 한다. 3) SCSI 방식 하드를 사용할때는 CMOS 셋업에서 하드디스크를 NONE으로 설정해야 한다. 4) IDE 와 SCSI 하드를 동시에 사용할 때는 특히
주의하여야 한다. 가장 편한 방법은 루트(/) 만약 이 반대로 사용한다면
lilo 설치시 복잡한 문제가 발생한다. 5) 비상용 부팅 디스켓은 꼭 만들어 보관해야 한다. 요긴하게 사용할 경우가 있다. 6) 루트(/) 파티션은 반드시 1024 실린더 내에
위치해야 한다.
6.4 랜카드 셋업 리눅스 설치시 많은 사람들이 가장 어려워 하는 부분이 리눅스에서 랜카드를 인식시키는 것이다. 그러나 최신 버전에서는 설치시에 질문에만 정확히 대답하면 바로 인식되므로 별로 어렵지 않다. 1) 랜카드 살 때는 반드시 도스용 셋업 디스크를
받아서 랜카드를 피시에 꼽은 후, 2) ISA 랜카드는 IRQ. IO address, DMA 등이
다른 카드와 충돌을 일으키는 경우가 많다. 3) ISA 랜카드에서 사용 가능한 IRQ 값은 5,
7, 9, 10, 11 등이다. 프린터를 사용한다면 7번은 4) IO address는 220, 330 등은 다른 카드에서
사용하는 경우가 있으므로 ISA 랜카드에서 5) 설치시 랜카드에 대한 질문에서 자신의 랜카드
모델이 없으면 대만제 랜카드(10메가)는 eth0: 3c509 at 0x300 tag 1, 10baseT port,
address 00 60 8c ec 79 4f, IRQ 10. - eth0는 인터페이스명이다. ( 장치명과는
다르다. 장치명은 반드시 앞에 /dev를 붙이고 - 0x300은 IO address - 10BaseT port : RJ-45 콘넥터를 랜 연결에
사용하고 있다는 뜻이다. - 00 60 8c ec 79 4f, : 이더넷 카드 하드웨어
어드레스임(전세계에서 생산되는 모든 - 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가 호스트네임이다.
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 부분은
모뎀 설정(atx1)부터 전화를 거는 명령이다. - ogin: /AutoPPP/ 는 로그인해서 PPP 서버에서
ppp 데몬을 실행 시키는 과정이다. - /usr/sbin/pppd 는 내쪽의 ppp 데몬을 실행시켜 준다. - noipdefault defaultroute 는 TCP/IP 설정
값이다. Noipdefault는 내쪽의 IP 주소를 서버가 이렇게 해서 PPP 연결이 이루어진 경우의 TCP/IP 설정 부분을 보자. ■ 신촌(PPP 클라이언트) ppp0 Link encap:Point-to-Point
Protocol ■ 레이넷(PPP 서버) ppp5 Link
encap:Point-to-Point Protocol 여기서 신촌 쪽 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
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 주소와 포트번호를 지정해야 한다. 웹브라우저에는 프락시 기능이 들어 있다. 리눅스에서 proxy 서버로는 squid가 많이 쓰이나 socks5, apache, TIS firewall toolkit 등에도 프락시 기능이 있다.
8. 마치며 이 글은 리눅스로 인터넷을 연결해 서버를 구축하려는 초보자를 위해 입문 형식으로 쓰여졌으나 중간에 어려운 부분도 포함되었다. 이 글은 일반적인 경우만을 설명했으므로 많은 예외적인 경우가 존재한다. 또 리눅스는 계속해서 변하고 있으므로 이 글 내용이 언젠가는 틀릴 수도 있다는걸 명심하길. |