ルーターでポートフォワーディングを設定せずに、インターネットからローカルWebサーバーを見えるようにする方法は?


12

私は(ハイエンドの)ラップトップでWebサイトを開発し、さまざまな物理的な場所から仕事をしています。

私は常にサイト(または関連する目的のために)のテスト進捗へのクライアントのためのために、外部から見えるウェブサーバーとの同期の手間を節約するために.Thereforeをしたいと思い、私は有効にする方法を見つけることを試みているラップトップをする自動的に公にインターネットから、どこからでも、ポートフォワーディングを設定するためのルーターにアクセスできない場合でも(コーヒーショップや他のパブリックワイヤレス接続から)。

私はすでに私がいることをルータを介して前方デスクトップサーバーへのドメイン名の私の選択をするためにDynDNSのを使用しているセットアップ...しかし、私が言うように、私は、このデスクトップ・サーバを利用するステップをスクラップしたいと思います。

有料のリバースプロキシサービス(アカウントに月額料金を請求)が、この目的に使用できる独自のソケットレベルのクライアント/サーバー「リバースプロキシ」ソフトウェアを提供することを望んでいました。見つかりません。私はすでにTeamViewerとLogMeInを使用しており、同様の独自のサービスを提供しています。実際、LogMeIn Hamachi VPNを使用して、これを可能にしようとしました。デスクトップ(既にインターネットに表示されています)が、ポート80を要求するIPトラフィックをVPN経由でラップトップに転送します。ただし、Hamachi / Windowsをこのように設定することは不可能のようです(しかし、私は間違っているかもしれません)。

これを達成するためのシンプルで堅牢な方法があることを願っています。


実際にOpera Webブラウザ(Opera unite)を使用して基本的なWebサーバーをセットアップできますが、これはHTML + JavaScriptアプリケーションの場合のみのソリューションであり、ニーズに合わないと思います。
jakub.g 2011

現在、Apache(Windowsインストール用のXAMPPの一部としてセットアップされている)が稼働しているWebサーバーがあります。このWebサーバーは正常に機能します。また、ルーターでポートフォワーディングを設定しているため、パーマネントルーターの背後にあるデスクトップで実行している場合は、インターネットから問題なく表示できます。私は私がないとき、インターネットから私のローカルWebサーバが公に見えるようにする方法見つけることに興味を持っていないポートフォワーディングを設定するためにルータにアクセスすることができます。
ダンニッセンバウム

回答:


8

SSHを使用できるサーバーがある場合、そのサーバーは関連するポートでパブリックIPアドレスをリッスンすることを許可します(これを制御すると、おそらくcygwin経由でSSHdをインストールする場合は、説明するデスクトップマシンも)または同様)SSHのトンネリングオプションを使用して、ローカルサーバーにトラフィックをプルできます。

ような何か:ssh root@your.server.tld -g -R 11.22.33.44:80:127.0.0.1:80意志、接続されていると認証された一回、11.22.33.44のメイクポート80(つまり、サーバのパブリックアドレスであると仮定して)、その後、ローカルポート80にまで転送される接続を取るあなたはGatewayPortsのオプションは、サーバー上で有効にする必要があります。このようにローカルホスト以外のアドレスでリッスンするには、1024未満のポートでリッスンするにはrootとしてログインする必要があります。ポート80でリッスンしているサービスが既に存在する場合は、とにかく他のものを選択する必要があります。-CSSH経由のストリームの圧縮を有効にするオプションを追加することをお勧めします。特に低速のネットワークを介してラップトップを接続する場合(おそらく、GPRSモバイル接続のみでどこにも立ち往生している場合)。

Windowsでsshを使用するには、いくつかのオプションがあります。cygwinのポートをインストールする[JustWork(tm)で上記のコマンドを実行する]か、他のクライアントを使用することができます。PuTTYは非常に一般的なオプションであり、リモートポートトンネリングをサポートしています。

この方法では、接続元に関係なく、マシンのWebサーバーも接続時に常に同じアドレスで使用できるので、割り当てたい人にわかりやすい名前に動的DNSを使用する必要はありません(接続するサーバーを想定しています)もちろん、固定の公開アドレスがあります)。

このために自宅またはオフィスのサーバーを使用するのではなく、両方向の高速接続がうまくいかない場合はさらに遅くなる可能性がありますが、小さなLinux VPSをどこか(好ましくは同じ国)でレンタルすることでより良い結果を得ることができますこの目的。必要な帯域幅が十分にある限り、最小のマシンのみが必要であるため、これは月に1組あたり数ドルしかかかりません。

SSHだけでなく、OpenVPNなどのVPNツールを検討し、サーバーで単純なiptablesルールを使用して、接続時にマシンに接続を転送することもできます。これは、一度セットアップするとより効率的で手間が減るかもしれませんが、一般的にルーティングに慣れていない場合は、もう少し手間がかかります。この場合も、安価なVPSまたは独自のオフィス/ホームサーバーがVPNのサーバー側として機能します。


+1:sshトンネリングを提案しようとしていましたが、あなたは私にそれを打ち負かし、起動するよりも明確に説明しました。
デイブシェロマン

素晴らしい回答、ありがとう。既にWinSSHD(Bitvise-有料プログラム)を持っているので、それを使用できるはずです。データをルーティングするためにiptablesを使用しようとするかもしれません(最初にこれについて考えると、データがルーターと共有されているローカルネットワーク上のコンピューターに到着しているが、VPNと共有されているローカルネットワークではないことがわかっていたため、混乱しました-これは私を混乱させるべきではない)。ルーターで動作し、データをVPNネットワークに渡す必要なiptableエントリの例を投稿したい人は誰でも大歓迎です!
ダンニッセンバウム

1

ipv4 to 6プロキシと組み合わせたラップトップでのIPV6トンネリング-gogo6には、freenet6の一部として自動更新するクライアントとの素晴らしい無料サービスがあります-。それを、AAAAレコードとipv6から4に変換するプロキシ(6xsがパブリックなものを実行する)と組み合わせるか、よりエレガントなソリューションのために、同じAアドレスで実行される変換を行う独自のプロキシサーバー(polipoが機能する場合があります)

適切に設定すると、何度もバウンスされることによるわずかな遅延を除き、これはほとんど透過的であるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.