지금까지의 연재 주요내용

① 계략적인 계획 : 서버구축내용 계획, 대안의 선정과 준비 (MAMP 선정)

② MAMP의 설치 : Apache + MySQL + PHP의 설정과 테스트

③ Tattertools 설치 : DB생성과 태터툴스의 설치

④ 네트워크 1 : 내 네트워크환경 파악하기, 네트워크 전략의 설정

⑤ 네트워크 2 : 내 컴퓨터와 공유기 설정, 인터넷으로 처음 나가기

이후에도 메일서버, 게시판, 웹하드 설치 등이 계속 연재되겠습니다

네트워크 설정 Part 1

어느덧 4회째로 접어들었네요.  오늘부터는 네트워크 설정입니다.  이부분에 대한 기초지식이 없어 포기하시는 분이 많죠.   오늘은 나의 네트워크 형태를 파악하고 그 형태에 따라 앞으로 무엇을 더 설정해야 하는가를 알아보도록 하죠.   나의 환경을 정확하게 파악하면 사실상 50%이상은 끝난겁니다.

위의 그림은 일반적인 가정의 네트워크 구성환경입니다.  가장 복잡한 구성(Worst Case)이기도 합니다.   한대이상의 PC를 사용하기 위해서 유무선 공유기를 사용하고 있고 KT나 하나로등 ISP에서는 보통 인터넷으로 나가는 입구에 방화벽을 가지고 있습니다. 

그림의 Guest는 나의 서버에 접근할 외부 인터넷 사용자들 이고 DynDNS는 도메인 등록과 DNS쿼리를 처리해 주는 기관입니다.   위의 그림을 토대로 나의 환경을 몇가지로 분류해 볼 수 있습니다.

내 네트워크 환경은?

  1. 공유기를 사용하고 KT,하나로에서 제공하는 ADSL서비스를 이용하는 경우 : 일반적으로 집에서 사용  (가장 복잡한 설정필요)  
  2. 1과 같으나 공유기는 사용하지 않고 컴퓨터에 바로 인입되는 경우
  3. 학교나 회사에서 공인 IP를 사용하는 경우

조합상으로는 더 많지만 대략 위의 세가지 경우가 있습니다.   저의 경우는 1에 해당합니다만 집에서 서버를 운영하려고 한다면 1,2중 하나일 겁니다. 

해결해야할 문제는…

위의 그림을 보면서 원리를 간단하게 설명하도록 하죠.  

① 외부에 있는 Guest는 Homeserver에 설치된 내 블로그를 보려고 합니다. 

② 그럴려면 자신의 WEB브라우저 (사파리 같은..)에서 www.blog주소.com 을 입력하여 해당 블로그에 접근하려고 하죠.

③ Guest의 컴퓨터는 그 주소에 접근하기 위해 Nameserver에  www.blog주소.com의 IP주소를 요청합니다. 

④ Nameserver는 www.blog주소.com와 매칭이 되는 IP주소가 있으면 xxx.xxx.xxx.xxx와 같은 IP주소를 Guest의 컴퓨터에 건네줍니다.  (없으면?…웹페이지가 안뜨는거죠)

⑤ 그러면 Guest의 컴퓨터는 xxx.xxx.xxx.xxx주소로 접근해서 80번포트(표준)를 통해 웹서버의 블로그 페이지를 받아와서 컴퓨터에 출력해 주게 됩니다.

그러니 우리는 앞으로 아래의 두가지 설정만 하면 되는거죠.

A. 외부에서 내 서버로 접근할 수 있도록 내 컴퓨터를 공인IP로 설정한다

B. 나만의 도메인을 만들어 A에서 설정한 공인IP로 매핑한다

그러나 문제가 간단하지만은 않습니다.  여러가지 관문이 기다리고 있죠

일반적으로 다음의 3단계로 진행합니다.

★ 1단계 : 공인IP가 아니라 사설IP이다

집에서 공유기를 사용하는 경우 대개 192.168.xxx.xxx형식의 사설 IP를 사용하기 때문에 외부에서 접근할 수 없습니다. 

-> 공유기의 NAT기능을 이용하여 내 컴퓨터의 사설IP를 공인 IP로 접근할 수 있도록 설정한다.   내 네트워크환경 1의 경우….2,3은 건너뛰어도 됨

★ 2단계 : 공인IP이지만 유동IP이다.

내 환경이 1,2의 경우(심지어는 3에서도) DHCP를 이용한 유동적 환경 때문에 내 컴퓨터의 IP주소는 항상 변할 수 있습니다.  보통 컴퓨터를 껐다 켜거나, 공유기를 껐다켜면 IP주소가 변합니다.  내 컴퓨터가 항상 켜져있어도 ISP의 사정에 따라 변할 수도 있습니다.

-> 도메인 이름을 등록할때 Dynamic DNS (일명 DDNS)서비스를 이용하여 유동IP를 도메인으로 등록시키고 공유기나 컴퓨터 프로그램을 이용해서 항상 Sync상태를 유지하도록 만든다.

★ 3단계 : ISP에서 주요 TCP 포트를 막아버렸다 (주로 80, 25, 23번 포트)

ISP에서는 보통 집에서 서버를 운영하지 못하도록 주요 포트를 막아 놓는경우가 종종 있습니다.  이경우에는 설정해야 할 작업이 추가로 몇가지가 더 있습니다.

-> 제 경우도 포트가 막혀서 주소 마지막에  8088이라는 포트번호가 추가되어 있죠.  물론 포트번호가 안보이게 하는 꽁수도 있습니다.  DyDNS같은 서비스업체는 Mailhop, Webhop과 같이 특정 포트에 redirect하는 서비스를 하고 있습니다.  이런 서비스를 이용하면 됩니다.

오늘은  우리집 컴퓨터의 환경만 체크하고 다음시간에 본격적인 세팅을 시작하겠습니다.  공유기를 사용하면서 ADSL같은 서비스를 받으시면 사설IP에 유동IP입니다.  문제는 ISP에서 과연 내가 웹서비스를 할 수 없도록 TCP포트를 막아 놓았느냐의 여부를 확인하는 건데요.

다음시간에 본격적으로 살펴보겠지만 DynDNS의 서비스를 이용해서 이를 체크해 보겠습니다.  먼저 www.dyndns.com 으로 가셔서 회원으로 가입(무료)하시고 www.dyndns.com/support/tools/openport.html 페이지를 엽니다.  (물론 웹서버로 사용할 컴퓨터에서 하는 것이 좋습니다).  이 페이지를 이용하면 ISP에서 어떤 포트를 막았는지 알 수 있습니다. 

페이지 중반에 보이는 Common Port들을 주의깊게 봐주세요.   위의 포트번호는 그야말로 표준입니다.  거의 예외없이 80번 포트로 웹서비스를 이용할 수 있고 21번 포트로 FTP서비스를 이용할 수 있습니다.  

아래부분의 Host and Port에서 첫번째 부분에는 자동으로 내 컴퓨터의 IP주소가 입력이 되어 있고 두번째는 포트번호입니다.  이를 이용해서 위에 제시된 Common Port 전부를 하나하나 체크해 보겠습니다.   Send버튼을 누르면 다음화면으로 넘어갑니다.

제가 80번 포트를 시험했는데 TimeOut이 떨어졌습니다.  그리고 ISP가 80번 포트를 막아놓았다는 메시지를 표시합니다.   두가지 메시지가 더 있는데 하나는 막지 않았고 해당 포트가 잘 서비스 된다는 메시지가 있고,  막지는 않았는데 해당 포트가 서비스 되고 있지 않다는 메시지가 있습니다.

세번째 경우는 해당 포트로 서비스 되는 프로세스가 없음을 의미합니다.   기억나실지 모르겠지만 지난 시간에 8888번 포트로 웹서버를 열어 놓았으므로 8888포트로 테스트를 해보시면 아마  막히지도 않았고 잘 서비스 된다고 메시지가 나올겁니다.

약간 악랄한(?) ISP의 경우에는 8080포트(이것도 웹서버로 자주 사용되는 포트입니다)까지 막아 놓은 경우가 있습니다.  자신이 서비스할 포트를 이 기회에 찾아두시기 바랍니다.  80번 포트가 막혀있다면 8080를 제외하고 8000~9000번 사이의 포트들을 시험해 보시는 것이 좋습니다.

제 경우에는 23,25,80번 포트가 막혀있습니다.  25번 포트는 메일서비스(SMTP)인데 이게 막혀있으면 메일서버 설정시 외부에서 릴레이서버를 설정해야 하는 번거로움이 있습니다.   그러니 이번 기회에 향후 사용할 포트 3-4개를 미리 점찍어 두시는 것이 필요합니다.

To Be Continue…

설명할 것도 많고 케이스가 갖가지라서 어떻게 설명해야 할지 고민했습니다.  저의 경우가 가장 복잡한 최악의 케이스기 때문에 저의 경우를 예로 들어 주욱 설명 드리면 다른 케이스에도 적용하실 수 있을 거라 생각됩니다.

다음 연재에서 1,2,3단계를 주욱 한꺼번에 모두 해결해 보도록 하겠습니다. 

1. 내 컴퓨터 네트워크 설정

2. 공유기 설정

3. 도메인 등록과 DDNS설정

Facebook Comments