라우터에서 포트 전달을 설정하지 않고 인터넷에서 로컬 웹 서버를 볼 수있게하는 방법은 무엇입니까?


12

저의 (최고급) 랩톱에서 웹 사이트를 개발하고 다양한 물리적 위치에서 작업합니다.

클라이언트가 사이트의 진행 상황 (또는 관련 목적)을 테스트 할 수 있도록 외부에서 볼 수있는 웹 서버와 지속적으로 동기화해야하는 번거 로움을 줄이고 싶습니다. 따라서 랩톱자동 으로 공개 할 수있는 방법을 찾고 있습니다 포트 전달을 설정하기 위해 라우터에 액세스 할 수없는 경우에도 (예 : 커피 숍 또는 기타 공용 무선 연결에서) 인터넷, 모든 위치에서 볼 수 있습니다.

나는 이미 내가하는 라우터를 통해 앞으로 데스크탑 서버에 도메인 이름의 나의 선택을해야하는 DynDNS를 사용 설정 ...하지만 말처럼,이 데스크탑 서버를 사용하는 단계를 스크랩하고 싶습니다.

유료 리버스 프록시 서비스 (계정에 대한 월별 요금 청구)가이 목적으로 사용될 수있는 독점 소켓 레벨 클라이언트 / 서버 "리버스 프록시"소프트웨어를 제공하기를 희망했습니다. 찾을 수 없습니다. 이미 TeamViewer와 LogMeIn을 사용하여 유사한 독점 서비스를 제공합니다. 실제로 LogMeIn Hamachi VPN을 사용 하여 VPN을 통해 랩톱으로 포트 80을 요청하는 IP 트래픽을 인터넷에 이미 전달하여 데스크탑 을 인터넷에 연결할 수있었습니다. 그러나 Hamachi / Windows를 이와 같이 설정하는 것은 불가능한 것 같습니다 (그러나 잘못되었을 수 있습니다).

이것을 달성하는 간단하고 강력한 방법이 있기를 바랍니다.


Opera 웹 브라우저 (Opera unite)를 사용하여 기본 웹 서버를 실제로 설정할 수 있지만, 이것은 귀하의 요구에 맞지 않다고 생각되는 HTML + JavaScript 응용 프로그램의 경우에만 솔루션입니다.
jakub.g

현재 작동 가능한 웹 서버가 있습니다-Apache (Windows 용 XAMPP 설치의 일부로 설정 됨). 이 웹 서버는 잘 작동하며 영구 라우터 뒤에서 데스크탑에서 실행할 때 라우터에서 포트 포워딩을 설정하기 때문에 인터넷에서 문제가 보이지 않습니다. 포트 전달을 설정하기 위해 라우터에 액세스 할 수 없는 경우 로컬 웹 서버를 인터넷에서 공개적으로 볼 수있는 방법을 찾고 싶습니다 .
Dan Nissenbaum

답변:


8

서버가있는 경우 SSH를 사용할 수 있고 해당 서버를 통해 관련 포트에서 공용 IP 주소를 청취 할 수 있습니다 (제어 할 경우 cygwin을 통해 SSHd를 설치하는 경우 설명하는 데스크탑 시스템 일 수도 있음) SSH의 터널링 옵션을 사용하여 트래픽을 로컬 서버로 가져올 수 있습니다.

같은 뭔가 : ssh root@your.server.tld -g -R 11.22.33.44:80:127.0.0.1:80한 번 (즉 가정하면 서버의 공개 주소) 그런 다음 GatewayPorts 옵션은 서버에서 사용할 필요가 해당 지역의 포트 80에 아래로 전달되는 연결을 11.22.33.44에 메이크업 포트 (80)를 연결하고 인증합니다 로컬 호스트가 아닌 주소를 이런 식으로 들으려면 1024 미만의 포트에서 들으려면 루트로 로그인해야합니다. 이미 포트 80에서 서비스를 수신하는 서비스가 있다면 분명히 다른 것을 선택해야합니다. -C특히 느린 네트워크를 통해 랩톱을 연결하는 경우 (GPRS 모바일 연결 만 사용 가능할 수 있음) SSH를 통해 전송되는 스트림 압축을 활성화 하는 옵션을 추가하는 것이 좋습니다.

Windows에서 ssh를 사용하려면 몇 가지 옵션이 있습니다. cygwin의 포트 [위에 제시 한 명령은 JustWork (tm)]를 설치하거나 다른 클라이언트를 사용할 수 있습니다. PuTTY 는 매우 인기있는 옵션이며 원격 포트 터널링을 지원합니다.

이렇게하면 연결 위치에 관계없이 기기의 웹 서버를 항상 동일한 주소에서 사용할 수 있으므로 할당하려는 사람에게 친숙한 이름으로 동적 DNS를 사용할 필요가 없습니다 (연결 서버를 가정 할 경우) 물론 고정 된 공개 주소가 있습니다).

이를 위해 가정이나 사무실 서버를 사용하는 대신 양방향으로 빠르게 연결하지 않으면 속도가 느려질 수 있습니다. 작은 Linux VPS를 (어쩌면 같은 나라에서) 어딘가에 임대하면 더 나은 결과를 얻을 수 있습니다 이 목적. 충분한 대역폭이있는 한 가장 작은 컴퓨터 만 있으면되므로 한 달에 몇 달러 또는 몇 달러의 비용 만 듭니다.

SSH뿐만 아니라 OpenVPN과 같은 VPN 도구를 고려하고 서버에서 간단한 iptables 규칙을 사용하여 연결시 컴퓨터로 연결을 전달할 수 있습니다. 이것은 한 번 설정하면 더 효율적이고 번거 로움이 덜할 수 있지만 이미 익숙하지 않고 일반적으로 라우팅하는 경우 약간의 번거 로움이있을 수 있습니다. 다시 저렴한 VPS 또는 자신의 사무실 / 가정 서버는 VPN의 서버 쪽 역할을합니다.


+1 : ssh 터널링을 제안하려고했지만 부팅을하려고 나를 이길 때보 다 명확하게 설명했습니다.
Dave Sherohman

훌륭한 답변, 감사합니다. 나는 이미 WinSSHD (Bitvise의 유료 프로그램)를 가지고 있으므로 사용할 수 있어야합니다. 데이터 라우팅을 위해 iptables를 사용하려고 시도 할 수 있습니다 (처음에 이것에 대해 생각할 때 데이터가 라우터와 공유 된 로컬 네트워크의 컴퓨터에 도착하지만 VPN과 공유 된 로컬 네트워크에는 없음을 알았 기 때문에 혼란 스러웠습니다. -이것이 나를 혼동해서는 안됩니다). 라우터와 함께 작동하고 데이터를 VPN 네트워크에 전달하는 필수 iptable 항목의 예를 게시하려는 사람은 누구나 환영하고 감사합니다!
Dan Nissenbaum

1

ipv4 to 6 proxy-gogo6와 결합 된 랩톱의 IPV6 터널링은 클라이언트와 freenet6-의 일부로 자동 업데이트하는 훌륭한 무료 서비스를 제공 합니다. AAAA 레코드 및 ipv6에서 4로 변환하는 프록시 ( sixxs 는 공용 서버를 실행 함) 또는보다 우아한 솔루션 을 위해 동일한 A 주소에서 번역을 실행하는 자체 프록시 서버 ( polipo 가 작동 할 수 있음)와 결합하십시오.

적절하게 설정하면 약간의 대기 시간이 여러 번 반송되는 것 외에 대부분 투명해야합니다.

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