web-dev-qa-db-ja.com

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

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

クライアントがサイトの進行状況をテストするために(または関連する目的で)、外部から見えるWebサーバーと常に同期する手間を省きたいので、ラップトップを有効にする方法を見つけようとしています。 自動的にポートフォワーディングを設定するためのルーターにアクセスできない場合でも(コーヒーショップや他のパブリックワイヤレス接続などから)、インターネット、任意の場所から一般公開されます。

私はすでにDynDNSを使用して、自分が持っているセットアップしたルーターを介してデスクトップサーバーに転送するドメイン名を選択しています...しかし、私が言うように、このデスクトップサーバーを利用するステップを廃止したいと思います。

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

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

12
Dan Nissenbaum

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

ssh [email protected] -g -R 11.22.33.44:80:127.0.0.1:80は、接続および認証されると、11.22.33.44のポート80を作成し(サーバーのパブリックアドレスであると想定)、接続を取得して、ローカルポート80に転送します。GatewayPortsが必要です。この方法でローカルホスト以外のアドレスをリッスンするにはサーバーでオプションが有効になっており、1024未満のポートでリッスンするにはrootとしてログインする必要があります。ポート80でリッスンしているサービスがすでにある場合は、明らかに別のものを選択する必要があります。とにかく。 -Cオプションを追加して、SSH経由のストリームの圧縮を有効にすることをお勧めします。特に、低速のネットワーク経由でラップトップを接続する場合(GPRSモバイル接続しか利用できないため、どこにも行き詰まっている可能性があります)。

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

このように、接続元に関係なく、接続時にマシンのWebサーバーも常に同じアドレスで使用できるため、割り当てたい人にわかりやすい名前にダイナミックDNSを使用する必要はありません(接続先のサーバーを想定)もちろん、固定のパブリックアドレスがあります)。

これに自宅やオフィスのサーバーを使用するのではなく、双方向の高速接続がない限り、速度がさらに低下する可能性があります。小さなLinux VPSをどこか(できれば同じ国)でレンタルすると、より良い結果が得られる可能性があります。この目的。十分な帯域幅がある限り、必要なマシンは最小のものだけなので、月額は数ドルか数ドルしかかかりません。

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

8
David Spillett

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

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

1
Journeyman Geek