IP공유기 환경에서 웹서버 운영하기

회선이 유동아이피이고, 공유기를 사용하며, 공유기 내부망에서 웹서버를 운영할 경우이며, 웹서버명이 www.myhome.com 이라 가정합니다.

먼저 1. 사설망내부의 웹서버는 IP공유기에서 포트포워딩을 시켜야 하므로, 내부 IP는 고정하도록 해야 합니다.

  • 웹서버에 부여되는 내부망 IP는 DHCP를 사용하지 말고, 고정 사설망IP를 부여해야 합니다.
    • 공유기 내부에 여러대의 PC가 있다면, "자동으로 IP주소받기(DHCP)" 로 할당된 다른 컴퓨터와 IP주소 충돌을 방지하기 위하여 가급적이면, 같은 대역의 뒤쪽IP주소를 선택하십시오(예: IP공유기가 192.168.0.2 ~ 192.168.0.254 까지 사설IP주소를 할당한다면, 웹서버의 IP주소는 192.168.0.201 과 같이 맨 끝자리 숫자를 높은 숫자로 선택하시면 됩니다.)
대부분의 공유기는 192.168.x.x 와 같은 내부망을 가지고 있으며, netmask는 255.255.255.0 입니다.
  • 게이트웨이(gateway) IP주소는 IP공유기에 할당된, 사설IP주소입니다. (공유기의 설정화면이나, 매뉴얼을 참조하십시오. 192.168.0.1 , 192.168.10.1 등이 있습니다.)
  • 윈도우즈의 경우에 웹서버의 IP주소를 설정하는 방법
    • 도스창(실행 → cmd)에서 ipconfig /all 를 입력하면 현재의 네트워크 설정 내역을 확인할 수 있습니다.
#> ipconfig /all

위에서 파악한 현재 PC의 사설망내 IP주소, 게이트웨이에 대한 이용해서, PC의 IP주소를 입력합니다.

네트워크 연결 설정 → 로컬영역 연결 설정 → 인터넷 프로토콜(TCP/IP) → 속성 버튼을 누른 다음

  • "자동으로 IP주소받기" 설정하지 말고, "다음 IP주소 사용"을 선택한 후, 서버의 IP(예: 192.168.0.201)를 입력합니다.

"자동으로 DNS서버 주소받기"를 선택하지 말고, "다음 DNS서버 주소 사용" 을 선택한 후, DNS서버주소를 입력합니다.

  • DNS서버주소는 인터넷서비스제공자(ISP)에서 제공하는 DNS 서버 주소를 입력하십시오.
  • 참고로 KT DNS (168.126.63.1) , 데이콤 DNS (164.124.101.2)를 입력하셔도 됩니다. (DNSEver의 네임서버는 cache DNS 가 아니므로, 입력하시면 안 됩니다. )

리눅스서버의 경우

  • 레드햇계열리눅스 (fedora, centos 포함)의 셋팅방법
  • setup 명령을 사용하여, 네트워크 설정을 할 때, DHCP를 선택하지 마십시오.

/etc/sysconfig/network 파일 및 /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 수정한 다음 /etc/rc.d/init.d/network restart 하여도 됩니다.

  • /etc/resolv.conf 에 인터넷회선제공자가 제공하는 DNS서버 주소를 입력하십시오.
  • 참고로 KT DNS (168.126.63.1) , 데이콤 DNS (164.124.101.2)를 입력하셔도 됩니다. (DNSEver의 네임서버는 cache DNS 가 아니므로, 입력하시면 안 됩니다.)
nameserver 168.126.63.1
nameserver 164.124.101.2
공유기 내부망의 사설IP는 공유기마다 다를 수 있으므로, 공유기 매뉴얼을 확인하시기 바랍니다.
  • PC에서 "자동으로 IP주소 받기"로 하였을 때, 해당IP가 가지는 IP는 사설IP영역의 일부입니다. 예를 들어 자동으로 IP받기를 했을 때, IP가 192.168.0.2이면, 사설IP네트워크의 영역은 192.168.0.2 ~ 192.168.0.253까지 설정할 수 있습니다. (192.168.0.1 또는 192.168.0.254는 IP공유기가 사용할 수 있으므로, 이를 사용하지 말아야 합니다.)
  • 웹서버로 운영할 컴퓨터는 "자동으로 IP주소 받기"로 설정하지 말고, 사설IP네트워크 영역에서 중복되지 않는 고정IP를 지정하여야 합니다.

웹서버로 운영할 IP와 포트에 대하여 사설망내에서 웹서버가 잘 뜨는지 확인합니다.

아파치의 경우, 버추얼호스트설정할 때, IP를 입력하지 말고, 와일드카드(*) 로 입력하여 다른 아이피나 호스트이름에도 웹서버가 뜨도록 해야 합니다.

Listen 80
NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.myhome.com
DocumentRoot /www/myhome
</VirtualHost>

위와 같이 했을 때, 공유기내부망에서 웹서버의 내부망 IP주소(예: http://192.168.0.201) 로 웹서버가 뜨는지 확인하십시오.

공유기에서 포트포워딩(또는 DMZ설정, 가상서버 등으로 부르기도 합니다.)을 이용하여, 웹서버를 운영하는 포트(예:80)에 대하여 웹서버의 사설IP(192.168.0.201)로 포트포워딩합니다. (80포트로 웹서버를 운영하지 않는 경우라면, 해당 포트를 포트포워딩해야 합니다.)

  • 회원님의 공유기가 가진 공인 IP를 확인하십시오.
    • 공유기가 외부로 접근하는 공인 IP는, 공유기 관리메뉴에서 확인할 수 있습니다.
    • 내 컴퓨터(또는 공유기)의 공인 IP 확인하기 http://kr.dnsever.com/myip.html
  • 인터넷회선제공업체(ISP)에서, 개인용회선사용자(예:ASSL, 광랜등)에 대하여는 웹서버운영을 못하도록 80포트를 막았을 수 있습니다.
    • 회선에서 80포트가 지원되는지, 열려 있는 포트가 무엇인지 확인해보시기 바랍니다.
    • http://www.whatsmyip.org/ports/에서 간단하게 열려있는 포트를 검사할 수 있습니다.
      • 테스트를 하기 전에, 해당 서버에 웹서버가 실행되고 있어야 합니다.
      • 테스트는 해당 서버에서 웹브라우저를 직접 열어서 테스트를 하십시오.
    • 80포트가 안 열려있다면, 다른포트(예:8080)으로 들어오는 포트를 공유기내부의 서버(예:192.168.0.2)로 포트포워딩해야 합니다.
  • 위에서 확인한 공인 IP(공유기내부의 사설IP가 아닌, 공유기에 할당된 외부IP)로 웹서버가 접근이 되는지 확인하십시오.
    • 예: http://10.20.30.40 (80포트가 열려있는 경우), http://10.20.30.40:8080 (8080 포트로 외부에 웹서버 운영하는 경우)
    • 내부망에서는 공인IP로 접근했을 때, 접근이 되나, 외부에서는 접근이 안될 수 있습니다. 이는 공유기에서 80포트로 포트포워딩을 했기 때문에, 실제로 인터넷회선이 80포트를 지원하는 지 여부와 관계없이 내부망에서는 접근이 되기 때문입니다. 정확한 테스트를 위해서는 공유기 내부망에서 테스트를 하지 말고, 외부망에 있는 사람에게 공인IP주소로 접근이 잘되는지를 확인해보셔야 정확합니다. 

웹서버에 다이나믹DNS클라이언트를 설치하여, IP를 업데이트하도록 합니다.

  • (리눅스/Unix의 경우 다이나믹DNS클라이언트가 없으면, wget 이나 lynx를 이용)
  • 웹서버에서 다이나믹DNS업데이트를 하여도, 자동으로 공유기의 IP가 서버에 업데이트 되므로, 라우팅을 변경할 필요가 없습니다.
  • 위와 같이 한 다음, 회원님의 도메인이 myhome.com 이고, 웹서버명이 www.myhome.com 이라면 nslookup 이나, dig 명령어로 www.myhome.com 이 공유기의 IP를 가지고 있는지 확인한 다음에, 호스트명으로 웹서버가 잘 뜨는지 확인하십시오.
  • 예: http://www.myhome.com
또 다른 질문이 있으십니까? 문의 등록

0 댓글

댓글을 남기려면 로그인하세요.