NAT 뒤에서 웹 서버를 호스팅 할 수 있습니까


21

내 PC는 공개 IP 주소를 가진 NAT 라우터 뒤에 있습니다. 웹 사이트를 호스팅하려면 해당 사이트 이름의 모든 DNS 요청을 해결하고 NAT 라우터의 IP 주소를 보내겠다고 약속하는 일부 사이트에서 구입할 수있는 도메인 이름이 필요하다고 생각합니다. 서버에서 내 도메인 이름을 호스팅하십시오). 이제 컴퓨터에서 웹 서버를 호스팅하고 싶습니다.

  1. NAT 라우터의 구성에서 example.com에 대한 모든 HTTP 요청을 내부 네트워크의 PC로 전달하기 위해 수행해야 할 변경 사항
  2. 위의 전략이 맞습니까?
  3. 일반적으로 사용됩니까?

답변:


12

설명대로 NAT 뒤에 서버를 호스팅하는 것이 가능합니다. 기본 사항 은 ServersBehindNAT
의이 Ubuntu 도움말 페이지참조하십시오 .

더 많은 참고 문헌,

  1. NAT 뒤에 Apache 서버 호스팅
  2. NAT 뒤에 서버를 설정하려면
    NAT Buffalo AirStation 시리즈 라우터 및 Linksys 라우터 예제를 사용합니다.
  3. Windows XP 인터넷 연결 공유 방법. NAT를 수행하는 Windows 시스템이있는 경우
  4. [XP를 사용하는 경우 제어판> 프로그램 추가 및 제거> Windows 구성 요소 추가> 인터넷 정보 서비스로 이동하여 IIS 6 5 (1 개의 가상 호스트 지원)를 사용할 수도 있습니다 .

이것은 웹 서버를 호스팅하는 방법을 알고 NAT에 대한 아이디어가 필요하다고 가정합니다.



1

또 다른 대안은 동적 IP 주소를 statix .homelinux에 맵핑 할 수있는 homelinux와 같은 것일 수 있습니다 . URL

"homelinux"이외의 다른 옵션도 있습니다

http://www.dyndns.com/


1
  1. portforward.com을 확인하십시오 . 이것들은 이런 종류의 것에 대한 자세한 지시 사항을 가지고 있으며, 기본 아이디어는 포트 80의 TCP 요청을 컴퓨터의 IP 주소로 전달하도록 라우터를 설정해야한다는 것입니다. 또 다른 문제가 발생합니다. 컴퓨터에 고정 IP가 설정되어 있어야합니다. 라우터에서 DHCP 서버가 실행중인 경우 (이 경우 97 %), 그보다 훨씬 위 또는 아래에 서버를 할당하십시오. "정적 LAN IP 주소"에 대한 Google은 아마도 다양한 OS에서이를 설정하는 방법에 대한 지침을 제공 할 것입니다.
  2. ISP가 포트 80에서 들어오는 연결을 차단하지 않으면 작동합니다. 일부는 보안상의 이유로이 작업을 수행합니다.
  3. 아마도. ftp, http, ssh, vnc, xmpp 및 기타 몇 가지로 지금하고있는 일입니다 ...

또한 컴퓨터에서 웹 서버를 실행해야합니다. Apache를 얻으면 거의 모든 곳에서 실행되며 대부분의 사이트에서 사용됩니다.


1

이 모든 답변과 링크 된 방법을 확인한 후 큰 프로그램 (부분적으로 다른 목적으로 만들어 짐)과 구성 파일 및 구성 요소가있는 정교한 설정이 포함되어 있다고 생각하여 자체 솔루션을 작성하기로 결정했습니다.

https://github.com/rofl0r/nat-tunnel

250 줄 파이썬 스크립트이며 git checkout에서 직접 실행할 수 있습니다.

예 : 포트 80의 로컬 시스템에서 수신 대기하는 HTTP 서버가 있습니다. 포트 7000의 클라우드 서버 / VPS / etc 공용 IP에서 사용 가능하게하려고합니다. 제어 채널에는 클라우드 서버의 포트 8000을 사용합니다.

처럼 사용

섬기는 사람:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

고객:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000

0
  1. 포트-포트 tcp 트래픽을 포트 80에서 라우터로 포트 PC에서 포트로 연결하십시오.

  2. 다른 사람이 웹 서버에 액세스 할 수 있도록 도메인 이름이 필요하지 않은 경우 공용 IP이면 충분합니다. 공개 IP의 도메인 이름은 더 편리합니다. 그렇지 않으면 당신의 계획은 좋아 보인다.

  3. 라우터는 일반 사용자와 서버 사이의 "방화벽"입니다. 이러한 설정은 매우 일반적입니다.



0

1.) 포트 80을 포트 80의 내부 IP 주소로 포워딩해야합니다.

2.) 아마도. ISP의 고정 IP가 있으면 모두 해당 전략으로 설정됩니다. 정적 IP가없는 경우 서버에서 소프트웨어를 실행하는 Dynamic Dns를 사용해야하며 도메인 이름의 IP 주소가 지속적으로 업데이트됩니다. 그들은 할당합니다. 그러나 동적 DNS 공급자의 레코드를 가리 키도록 도메인에 CNAME 레코드를 설정할 수 있습니다.

3.) 개인적으로 그것이 일반적이라고 말하지는 않지만 드문 일도 아닙니다.


-2

당신의 전략은 꽤 일반적으로 사용되며 공개 IP를 구입했다면 갈 수 있습니다.

XAMPP를 받아야합니다 . XAMMP는 사전 구성되며 Apache는 기본적으로 포트 80을 사용합니다. 포트 80에서 다른 프로세스가 실행되고 있지 않으면 Apache가 실행되지 않아야합니다. 일반적으로 Skype (스카이프를 사용하는 경우)는 훼손된 스포츠를 재생하고 포트 80을 훔칩니다. 연결 설정에서 비활성화해야합니다.

여기에는 Apache, PHP 및 Mysql이 포함되어있어 모든 요구 사항을 처리합니다. 잘 확보하는 것을 잊지 마십시오 .

XAMPP는 프로덕션 소프트웨어는 아니지만 개인 웹 사이트 / 블로그를 호스팅해야한다는 점을 명심하십시오.

한 가지 더,이 웹 사이트를 연중 무휴로 운영하려면 컴퓨터를 거의 24/7로 유지해야합니다.

무료 도메인이 필요한 경우 개인용 co.cc 를 얻을 수 있으며 매년 갱신합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.