2016-10-10 6 views
-1



기본적으로 내 PC는 NAT 뒤에 있습니다.

나는 총 3 개의 IP 주소,
을 가지고 있습니다. 1. MY ISP Public Address. (27.106.96.113)
이 주소는 Google에서 "내 IP"로 표시되었을 때 나타납니다.

2. My ISP에서 제공 한 개인 주소. (172.16.91.141)
이 주소는 라우터에서 공개 주소로 표시되었습니다.

3. 실제 실제 주소. (192.168.0.100)
이 IP 주소는 내 라우터 (192.168.0.1)가 DHCP를 통해 내 PC에 설정합니다.

이 (192.168.0.100) 주소로 로컬로 내 PC에 액세스 할 수 있습니다.

나는 (172.16.91.141)이 (172.16.91.141) 주소로 내 ISP 네트워크 (내가 가진 ISP와 동일한 사람들)에서 내 PC에 액세스 할 수 있습니다.

그러나이 (27.106.96.113) 주소로 전 세계적으로 내 PC에 액세스 할 수 없습니다.
내 ISP가 NAT 구성을 가지고있어 글로벌 IP가 쓸모 없기 때문에 이런 일이 발생한다는 것을 알고 있습니다.

이제 ISP의 NAT 때문에 Java Servlet 페이지 나 Counter-Strike 1.6 게임 서버를 Apache 용으로 호스팅 할 수 없습니다.

이 문제에 대한 해결책을 찾으려고했지만 실패했습니다.

전 자유롭게 사용할 수있는 PHP 호스트가 있습니다 (my.hosting.com이라고합시다).

그래서 내 PHP 웹 호스트에서 소켓 프로그래밍을 사용하고 내 PC에서 PHP 웹 호스트 (전역으로 액세스 할 수 있음)에 연결하면 PHP 웹 호스트와 내 PC를 통해 터널을 만들 수 있다고 생각했습니다.

그리고 PHP 웹 호스트의 모든 인터넷 트래픽을 내 PC로 리디렉션합니다.

내 인터넷 트래픽을 (my.hosting.com:80)에서 (192.168.0.100:8080)으로 리디렉션하면 PHP 웹 호스트에 연결하여 서버에 연결할 수 있습니다.

이제 PHP를 처음 사용하고 소켓 프로그래밍을 시도하지 않았습니다.
PHP 소켓 프로그래밍의 개념을 잘못 이해한다면 이것은 어리석은 생각 일 수 있습니다.

따라서 전 세계에 성공적으로 연결하려면 도움을 청합니다.

이 문제를 읽고 내 문제를 해결해 주셔서 감사합니다.

감사합니다.NAT 뒤의 서버 호스팅

+1

을 IMO : 당신이 모든 너무 많은 일을 변경에 대해 걱정할 필요가 없습니다 그래서 그들은 254 개 주소 블록을 가지고 만했습니다. 나는 (보통) 당신이 요구하고있는 것을 실제로 시도해보고 당신이 문제에 부딪혔을 때 질문을하라고 제안 할 것입니다. 그러나이 경우 이것이 가능한 솔루션이라고 생각하지 않으며 적절한 호스트 서버를 통해 이점을 볼 수 없습니다. –

+1

웹 호스트에서 "localhost"로 트래픽을 리디렉션 할 때 똑같은 문제가 나타납니다. 모뎀/라우터가 로컬 호스트로 트래픽을 전달하도록 올바르게 설정하는 방법은 무엇입니까? –

+0

의견을 보내 주셔서 감사합니다. 사실 라우터의 IP 주소로 트래픽을 전송 한 다음 라우터 구성을 사용하여 내 PC로 전달합니다. – Omkar

답변

1

그래서 당신의 최선의 방법은 ISP에 여분의 TCP 포트에 NAT를 생성하도록 요청하는 것입니다 (그들이 당신을 허용 할 경우). 게이트웨이에 대한 특정 트래픽을 NAT에 할당 할 것을 172.16.91.141, 그런 다음 트래픽을 NAT하기 위해 라우터에서 NAT 규칙을 생성해야합니다 (ISP 라우터에서 '8080'이라고 말한 것입니다). 변환하면 '80'으로 다시 변환 할 수 있습니다.

WAN-> ISP 라우터 (27.106.96.113 - 8080-8080) -> 공유기 (80 172.16.91.141 8080) -> 귀하의 웹 서버 (http://192.168.0.100:80)

당신의 IP 주소는 정적 보인다 멀리 너무 광범위

https://wq.apnic.net/whois-search/static/search.html?query=27.106.96.113

+0

답변 해 주셔서 대단히 감사합니다. ISP에 전화하는 것이 유일한 옵션이라고 생각합니다. – Omkar

+0

@Omkar 걱정과 행운이 없습니다. – Kitson88

+0

@Omkar 아, 외부 IP를 적게 사용하여 돈을 절약하기 위해 이미 연결을 두 번 NAT'ing했기 때문에 ISP와 함께 할 수있는 '좋은 다리'를 가지고 있음을 잊지 마십시오. – Kitson88

0

불꽃 전에 : 이것은 실제로 위에서 설명한 문제에 대한 직접적인 대답은 아니지만 OP 문제를 해결할 수 있습니다.

동적 DNS에 대해 들어 본 적이 있습니까 https://en.wikipedia.org/wiki/Dynamic_DNS. 많은 dyndns 제공 업체 (무료)와 많은 인터넷 라우터가 공급자에게 공개 IP를 제공하여 기본적으로 지원합니다.

IP 대신에 라우터 포트 포워딩 machanism을 통해 PC에 액세스하는 데 사용할 수있는 u0815.ddnsprovider.foo와 같은 도메인 이름을 갖게됩니다.

+0

답변 해 주셔서 감사합니다. 나는 동적 DNS와 noipip.com을 시도했지만, 내 ISP의 IP (27.106.96.113)로 리다이렉트하여 내 PC에 접근하지 못하게한다. – Omkar

+1

@Omkar 예이 옵션은 외부 IP 주소에 A 레코드를 추가하는 것만으로는 작동하지 않습니다. 이 옵션은 외부 IP 주소가 자주 변경되는 경우 필요하며 PC/서버는 외부 IP의 변경을 동적 DNS 서비스로 업데이트하여 A 레코드를 업데이트합니다. – Kitson88