NATの背後からWebサーバーをホストすることは可能ですか?


21

私のPCは、パブリックIPアドレスを持つNATルーターの背後にあります。Webサイトをホストする場合、そのドメイン名のすべてのDNS要求を解決し、NATルーターのIPアドレスを送信することを誓約するサイトから購入できるドメイン名が必要だと思います(彼らのサーバーで私のドメイン名をホストします)。次に、コンピューターでWebサーバーをホストします。

  1. example.comのすべてのHTTP要求を内部ネットワークのPCに転送するには、NATルーターの構成にどのような変更を加える必要がありますか。
  2. 上記の戦略は正しいですか?
  3. 一般的に使用されていますか?

回答:


12

説明したように、NATの背後にあるサーバーをホストすることは可能です。
これを見てUbuntuのヘルプページServersBehindNAT基礎のために。

さらにいくつかの参照、

  1. NATの背後でApacheサーバーをホストする
  2. NATの背後にサーバーを設定するに
    は、NAT Buffalo AirStationシリーズルーターとLinksysルーターの例を使用します
  3. Windows XPインターネット接続の共有方法。NATを実行しているWindowsマシンがある場合
  4. [XPを使用している場合、[ コントロールパネル]> [プログラムの追加と削除]> [Windowsコンポーネントの追加]> [インターネットインフォメーションサービス]に移動して、IIS 6 5(1仮想ホストサポート)を使用することもできます。

これは、Webサーバーをホストする方法を知っていて、NATのアイデアが必要であることを前提としています。



1

別の選択肢は、動的IPアドレスをstatix .homelinuxにマップできるhomelinuxのようなものです。URL

「homelinux」以外の選択肢もあります

http://www.dyndns.com/


1
  1. portforward.comをチェックしてください。彼らはこの種のことについて詳細な指示を持っています。基本的な考え方は、ポート80でTCP要求をコンピューターのIPアドレスに転送するようにルーターを設定する必要があるということです。これは別のことをもたらします:静的IPを持つようにコンピューターを設定する必要があります。ルーターでDHCPサーバーを実行している場合(これは97%のケースに該当します)、必ずその上位または下位に割り当ててください。「静的LAN IPアドレス」のgoogleは、おそらくさまざまなOSでこれを設定する方法に関する指示を表示します。
  2. ISPがポート80の着信接続をブロックしていない場合は機能します。セキュリティ上の理由でこれを行う人もいます。
  3. 多分。これは、ftp、http、ssh、vnc、xmpp、その他いくつかのことで私が今していることです...

また、コンピューターでWebサーバーを実行する必要があります。Apacheを入手するだけで、ほとんどすべてのサイトで実行され、ほとんどのサイトで使用されています。


1

これらのすべての答えとリンクされたハウツーを確認した後、それらはすべて大きなプログラム(他の目的のために部分的に作られています)と設定ファイルなどを使用した精巧なセットアップを含むと考えたので、独自のソリューションを書くことにしました。

https://github.com/rofl0r/nat-tunnel

これは250行のpythonスクリプトで、git checkoutから直接実行できます。

例:ポート80でローカルマシンをリッスンするHTTPサーバーがあります。ポート7000でクラウドサーバー/ VPS / etcのパブリックIPで使用できるようにしたいと思います。クラウドサーバーの制御チャネルにはポート8000​​を使用します。

のように使用する

サーバ:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

クライアント:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000

0
  1. ポート80のルーターへのtcpトラフィックをpcにport_whatever_you_are_running_your_webserverにポートフォワードする

  2. 他のユーザーがWebサーバーにアクセスできるようにするためにドメイン名は必要ありません。パブリックIPで十分です。パブリックIPへのドメイン名は、より便利です。そうでなければ、あなたの計画は大丈夫に見えます。

  3. ルーターは、パブリックとサーバー間の単なる「ファイアウォール」です。このような設定はかなり一般的です。



0

1.)ポート80の内部IPアドレスにポート80をポート転送する必要があります

2.)おそらく。ISPから静的IPを取得している場合、その戦略はすべて整っています。静的IPがない場合は、おそらくサーバー上でソフトウェアの一部を実行するDynamic Dnsを使用する必要があり、通常はドメイン名のIPアドレスを継続的に更新します。彼らが割り当てます。ただし、動的DNSプロバイダーからのレコードを指すCNAMEレコードをドメインにセットアップできます。

3.)個人的にはそれが一般的だとは言いませんが、珍しいことでもありません。


-2

あなたの戦略は非常に一般的に使用されており、パブリックIPを購入した場合は、かなり良い結果が得られます。

XAMPPを取得する必要があります。XAMMPは事前に構成されており、Apacheはデフォルトでポート80を使用します。他のプロセスがポート80で実行されていないことを確認してください。実行されていない場合、Apacheは実行されません。通常、Skype(Skypeを使用している場合)は台無しにされたスポーツを再生し、ポート80を占有します。接続設定で無効にする必要があります。

Apache、PHP、Mysqlが含まれており、すべてのニーズに対応します。しっかり保護することを忘れないでください。

XAMPPはプロダクションソフトウェアではありませんが、個人のWebサイト/ブログをホストするというニーズに応える必要があることに留意してください。

もう1つ、このWebサイトを年中無休で稼働させたい場合は、コンピューターをほぼ年中無休で維持する必要があります。

無料のドメインが必要な場合は、個人的な使用のためにco.ccを取得でき、毎年更新されます。

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