퍼블릭 IP를 사용하여 내부 IP에 액세스


38

공용 IP 주소 ( 201.206.x.x) 가있는 DSL 모뎀이 있고 내부 네트워크 ( 192.168.0.50) 에 웹 서버가 있습니다.

포트 80으로 요청을 웹 서버로 전달하도록 모뎀을 설정 했으므로 201.206.x.x네트워크 외부에서 액세스 할 경우 웹 페이지가 표시 192.168.0.50되며 네트워크 내부의 컴퓨터에서 액세스 할 때도 마찬가지 입니다.

이제 문제는 201.206.x.x내부 네트워크에서 액세스하려고 할 때 브라우저가 요청을 웹 서버로 리디렉션하는 대신 DSL 모뎀 구성에 연결하려고 시도하는 것입니다.

이 리디렉션을 설정하려면 모뎀에서 어떤 설정을 변경해야합니까?


문제의 변형으로, 여러 개의 호스팅 서버가 있으며 내부 요청에 대해 DNS (BIND9)를 구성했습니다. 호스트 이름을 기준으로 외부 요청 (공용 IP에)을 다른 호스트 서버에 어떻게 매핑합니까?
Kunal B.

답변:


20

문제는 패킷 재 작성은 일반적으로 방화벽을 통과 할 때만 발생할 수 있다는 것입니다. 일반적으로 말하기 라우터는 요청이 다시 쓰여질 동일한 네트워크에서 요청이 도착할 때 필요한 다시 쓰기를 수행 할 수 없습니다. 이 문제에 대한 일반적인 해결책은 네트워크 외부에 방화벽을 통해 요청을 반복하는 웹 프록시를 배치하는 것입니다.

특정 문제는 DNS 호스트 이름을 통해 웹 사이트에 액세스하려는 것입니다. "분할-수평"DNS를 사용하여 처리 할 수 ​​있으므로 요청이 어디에서 왔는지 적절하게 응답합니다. 요청이 네트워크 내부에서 오는 경우 192.168.0.50이 사용자 요청에서 나옵니다. 네트워크 및 다른 사람들에게 공개 IP.

이러한 제안 중 하나는 (무료) Amazon EC2 마이크로 인스턴스와 같이 네트워크 외부의 모든 호스트에서 구현할 수 있습니다.


고맙지 만 HOSTS 파일 편집은 기본적으로 내가 작업중 인 사이트의 테스트에 사용하는 개인 사이트이기 때문에 HOSTS 파일 편집을 고수 할 것이라고 생각합니다. PC는 연중 무휴로 가동되지 않습니다.

3
내 DNS 서버 (내 홈 네트워크에서도 실행 됨)에 외부 dyndns 이름과 동일한 이름의 A 레코드를 추가하여 내 홈 네트워크에서이 문제를 해결했습니다. A 레코드는 역방향 PTR 레코드와 마찬가지로 홈 네트워크의 올바른 위치를 가리 킵니다. 물론 모든 사람이 자신의 가정 DNS를 운영하고있는 것은 아닙니다.
LawrenceC

14

@Insyte는 DNS 확인 문제라는 문제에 대해 이야기 할 때 무언가에 있다고 말할 것입니다. 이는 문제가 패킷 다시 쓰기라는 것을 의미합니다 (설명을 위해 @Insyte 게시물을 다시 읽으십시오).

다음 설정이 있다고 가정합니다.

  1. 공개 IP : 201.206.x.y
  2. 개인 IP : 192.168.0.50
  3. IP에서 모든 80 (및 SSL을 수행하는 경우 443)에 대한 포트 전달 201.206.x.y192.168.0.50

그런 다음 내부 네트워크에있는 동안 브라우저에 다음을 입력하십시오.

http://www.yourwebsite.com

오류가 발생합니다. 따라서 해결책 : 호스트 파일을 해킹하십시오.

Windows에서는 C:\windows\system32\drivers\etc\hosts (이 파일에는 확장자가 없습니다.)로 이동하십시오. Linux에서 파일은 다음 위치에 있습니다./etc/hosts .

메모장에서 해당 파일을 열면 DNS를 재정의하는 데 사용되는 항목을 볼 수 있습니다. 해당 파일을 업데이트하려면 관리자 권한으로 메모장 (또는 파일을 편집하는 데 사용하는 모든 프로그램)을 열어야합니다. 그렇지 않으면 파일을 저장할 수 없습니다.

이것을 호스트 파일에 추가하십시오.

192.168.0.50 www.yourwebsite.com

그런 다음 브라우저를 다시 시작 하고 URL을 입력 한 후 violà! 작동합니다. 즉, 브라우저는 도메인을 IP로 확인하기 위해 DNS에 의존하지 않습니다. 대신, 우리는 이것을 무시하고 말하기 : 브라우저, IP 주소에 대한 DNS를 요청하는 대신 해당 도메인 이름의 내부 IP로 이동하십시오 .

사무실에있는 경우이 내부 웹 사이트에 액세스하거나 호스트 파일을 해킹하거나 내부 DNS가있는 경우 해당 사용자를 추가 할 수 있습니다.

또 다른 아이디어는 모든 웹 서핑 등을 위해 내부 프록시 서버를 가지고 프록시 서버에서 호스트 파일을 해킹하는 것입니다. 즉, 브라우저가 프록시http://www.mywebsite.com 라고 말하면 리소스를 얻을 수 있고 프록시가 확실 하다고 말할 수 있으며 해당 도메인의 DNS를 무시하라는 메시지가 표시되었으므로 하드 코딩 된 IP를 제공합니다. 내 호스트 파일 .


그러나 실제로 게시하기 전에 이것을 가지고 있었고 실제 IP를 통해 액세스 할 수 있기를 원했지만 모뎀에 NAT 반영이 없기 때문에 (@MaQleod에서 제안한대로) 사용할 수 있다고 생각합니다.

3
내부 또는 외부 네트워크 를 통해 동일한 사이트에 자주 액세스하는 랩톱 또는 스마트 폰은 어떻습니까?
TREE

@TREE는 당신을 기쁘게 할 수 있습니다. 귀하의 질문을 이해하지 못했습니다.
Pure.Krome

도메인 이름을 사용하는 것을 제외하고는 매우 유사한 설정이 있습니다. 네트워크 외부에서 내 도메인은 외부 IP로, 내부에서 내부 IP로 확인됩니다. 내부와 외부에서 자주 액세스하는 랩톱과 스마트 폰이 있으므로 호스트 파일을 해킹해도 작동하지 않습니다. 내가 한 것은 기본적으로 (Pure.Krome) 다른 답변이 제안하는 것입니다. 외부 서버를 사용하는 대신 라우터의 DHCP 서버에 내부 DNS 서버를 추가하도록 지시합니다. 그것은 대부분 작동하지만 일이 해결되기 전에 네트워크를 전환 할 때 성가신 지연이 있습니다.
TREE

9

이는 일부 라우터가 내부 주소에서 공개 주소로 사용되는 트래픽을 처리하는 방식에있어 일반적인 문제입니다. 네트워크 외부의 요청과 동일한 포트 전달 규칙을 따르지 않습니다. 라우터에서 찾아야 할 것은 NAT 반영 입니다. 이를 통해 라우터는 요청이 네트워크 외부에서 온 것처럼 동일한 포트 전달 규칙을 사용하기 위해 퍼블릭 IP에 대한 내부 요청을 처리 할 수 ​​있습니다.


1
NAT 반사. 나는 그것이 내가 찾던 것이라고 생각합니다. 불행히도 내 모뎀에는 없습니다. 감사!

모뎀이 NAT 루프백을 지원하지 않을 때 수행 할 작업
PrimitiveNom

2

모뎀 제조업체와 모델을 알려 주시면 더 잘 도와 드리겠습니다.

그러나 여기서 일어나는 일은 일반적으로 라우터 또는 모뎀 구성 페이지가 내부 IP (192.168.0.1)를 방문 할 때만 나타나야한다는 것입니다

그러나 여기서 일어나는 것처럼 보이는 것은 들어오는 요청을 식별한다는 것입니다 (201.206.xx) 내부에서 들어오는 것처럼 웹 서버에 대한 일반적인 경로 대신 구성 페이지를 제공하기로 결정합니다 ...

이제 컨슈머 레벨 모뎀을 사용하는 경우 아마도 이것을 변경할 수 없습니다 (죄송합니다)

그러나 아마도 당신은 할 수 있습니다 : 관리자 구성 페이지에 '듣기'설정이 있는지보십시오

여기에서 관리 페이지를 다른 포트로 변경하거나 수신 대기중인 주소를 제한 할 수 있습니다



2

로컬 IP를 통해 서버의 공용 IP에 직접 액세스하는 경로를 추가 할 수 있습니다. Windows에서 명령은

route add [public IP] mask 255.255.255.255 [the server's local IP]

영구 경로를 추가하려면 -p 하려면 위 명령 매개 변수를 .

그런 다음 공용 IP를 방문 할 때마다 컴퓨터는 서버의 로컬 IP를 통해 게이트웨이로 이동합니다. 서버는 자체 공용 IP를 알고 있으므로 패키지를 로컬 네트워크로 전달하는 대신 자체 패키지를 처리합니다.

서버의 로컬 IP가 고정되어 있는지 확인해야합니다.


서버가 왜 자신의 공개 IP 주소를 알고 있습니까?
G-Man, 'Reinstate

서버는 확실히 자신의 IP를 알고 있습니다. 정적 또는 동적 IP 라우팅이 정확히 어떻게 작동하는지 잘 모르겠습니다. 내 컴퓨터에는 경로 맵이 있다고 생각합니다. 패키지를 받으면 패키지를 처리할지 여부를 결정합니다.
qevan

0

같은 문제가 있습니다. 라우터의 DNS 호스트 매핑 목록에 DNS 호스트 이름을 추가하여이 문제를 해결할 수있었습니다. 라우터의 고급 옵션 목록에 이러한 설정이 있습니다.


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