動的に割り当てられたIPアドレスでWebサイトをホストするにはどうすればよいですか?


15

最近、インターネットをアップグレードして、現在のWebホストよりもはるかに高速で信頼性の高いものにしました。現在のドメインを自宅でホストするように移動したいのですが、IPアドレスは動的です。私の知る限り、モデムやルーターを再起動したとき(ほとんどありません)、またはケーブル1(ISP)がファームウェアの更新をプッシュしたとき(まれに)にのみ新しいIPを取得します。

これを行うには、いくつかの方法があります。

  1. ISPに静的IPを提供してもらう

  2. ルーターに現在のIPを割り当てて、静的IPを強制します(動作する可能性があります)。

  3. DNSレコードを現在のIPアドレスに設定し、まれに変更される場合に更新します。

明らかに、最初のものが動作することを望んでいますが、静的IPアドレスを取得するために(それが必要な場合)余分なお金を払いたくありません。

これらのオプションのどれが最も確実に機能しますか?


1
私のISPは、HTTPおよびSendmailポートを開くためだけにプランをアップグレードすることを強制しました。彼らのウェブサイトは、ウイルスと関係があるためにポート80を閉じたままにしていると述べました。彼らが中小企業の所有者にもっとお金を払わせるために使う恐ろしい戦術は驚くべきことです。何億ものWebサイトの99%がポート80で実行されているときに、ポート80でウイルスが拡散することを示唆している理由について、彼らから直接の答えを得ることができませんでした。彼らがそうすればかなりすごいことです。
アナジオ

回答:


17

ルーターに静的IPを割り当てて静的IPを取得することはできません。ほとんどのブロードバンドプロバイダーでは、追加の月額料金で静的IPをリースできます。しかし、安価で手間がかからず、アップタイムが向上するため、適切なウェブホストにそれを費やす方が良いでしょう。さらに、ほとんどの住宅用ブロードバンド接続のアップストリーム速度は非常に遅いです。また、ビジネスプランにアップグレードしない限り、あらゆる種類のインターネットサーバーを実行することに対してToSを使用している場合もあります。

ただし、自宅からサイトをホストするように設定している場合は、IPが変更されるたびにDNSレコードを自動的に更新する動的DNSサービスを使用できます。これには重大な欠点がありますが。1つは、非常に短いTTL時間を設定しない限り、ユーザーが古いIPにルーティングされてWebサイトにアクセスできない可能性が高いことです。ただし、TTLを非常に低く設定すると、ユーザーは頻繁にDNS要求を行う必要があり、パフォーマンスが低下します。


2
私は同意します。住宅接続を介して自分のサーバーをセットアップするという面倒な作業を試みるのではなく、新しいホストに支払います。
ビンスペティット

1
私が移動しているサブドメインは、テスト開発サブドメインです。顧客が見ることは重要ではありません(ほとんどの人は、それがそこにあることさえ知りません)。私はISPに静的IPアドレスの支払いをしましたが、月額$ 5の追加料金がかかるだけでなく、アップロード速度が向上しました。
ニック

@nick:その場合、それは合理的なセットアップ/良い取引のように思えます。
Lèseはmajesté

CNAMEを使用して、所有しているドメインからホームサーバーにアクセスできるようにすることもできます(動的なDNSサービスが必要です)。
アンドリューショーナー

6

また、ローカルDHCPサーバーでWebサイトをホストしています。私がIPを持っているようなDHCP接続を使用しても、電源を切ってもIPは変わりません。このプロトコルは、私のMACアドレスをチェックし、古いIPを返そうとすることで機能します。ISPが仕事をしているときはいつでも、モデムがダウンするとIPを失います。

私がサイトをホストする方法は、no-ip.comを使用することです。これにより、IPアドレスが変更された場合でもIPアドレスが何であるかがわかります。DNSレコードを管理して、人々がwww.mydomain.comにアクセスしたときにno-ip.comのDNSレコードを確認し、トラフィックのルーティング先のIPアドレスを確認します。

私のlinksysは、www、mysqld、およびftpトラフィックを内部サーバー192.168.15.11に転送して、例として使用できるようになりました。通常の仕事用デスクトップには192.168.15.10があり、この方法でWebサーバーがUbuntu / Nginxを実行してページを提供し、Windows上の別のマシンで作業できます。

IPがno-ip.comからWindowsアプリを変更すると、更新がno-ip.comアカウントにプッシュされ、DNSが最新の状態に保たれます。


3

DynなどのダイナミックDNS(DDNS)サービスの使用を検討してください。DDNSプロバイダーは、動的IPの静的ドメイン名を許可します。このサービスは、トラフィックの少ないサイトではかなり安価です。DDNSが機能する方法は、現在のIPでドメイン名を保持しているDDNSサービスを定期的に更新するようにルーターをセットアップすることです。ルーターレベルでDDNSを使用すると、サーバー側で実行している何らかの種類のアプリで本質的に同じことを行うよりも便利です。ドメイン名を入力したインターネットユーザーは、DDNSプロバイダーによって適切なIPアドレスに常にリダイレクトされます。DD-WRTは、さまざまなDDNSプロバイダーAPIをサポートしています。DynDNSはおそらく最も人気があり、LinksysとBelkinはネイティブファームウェアでDynDNS APIをサポートしています。


1

実際に可能です。そして、それを自動化する簡単な方法があります。

方法は次のとおりです。開始するためのモックアップスクリプト(完全に機能します)

  1. afraid.orgでアカウントを登録し、ネームサーバーとして使用します。自由にしたい場合は、他のユーザーがドメインの任意のサブドメインを(要求または自由に使用できる)ことを許可する必要があります。各リクエストに承認が必要であることを選択します。つまり、それらを与えることはなく、他の誰もあなたのドメインを使用しません。または5を支払うだけです^

  2. no-ipまたはdyndnsアカウントを作成し、ホストの無料サブドメインの1つを選択します(no-ipは無料ユーザーに対して毎月キャプチャを開始するため)。このドメインを使用して、実際のドメインが指しているipと比較します(注、あなたはそれを得ることができればあなたのWAN IPだけを使用することができます、私はこの方法を投稿しています、なぜなら一部の人々は彼らのルーター/モデムなどからそれを得ることができないからですまたは、以下の更新スクリプトを定期的に実行するだけです)

  3. bashまたは次のようなスクリプトを作成します。

#!/ bin / bash
#
#
#noipサービスのセットアップを忘れないでください
#RIP varは実際のIPになり、CIPは組織を恐れる現在のIPになります
#nameserversが指します。 
#「ip.of.nameserver.here.if.you.want」を削除または置換しない場合も 
#デフォルトの代わりに使用したい実際のネームサーバー。 
#殺してください

RIP = `nslookup yourhost.dyndns.org ip.of.nameserver.here.if.you.want | grepアドレス:| awk 'NR == 2 {print $ 2}' `
CIP = `nslookup yourdomain.com ip.of.nameserver.here.if.you.want | grepアドレス:| awk 'NR == 2 {print $ 2}' `
if [$ RIP = $ CIP]#dyndns / no-ipホストのIPがドメインIPと同じ
それから
echo "はい、同じです"#これは本当に必要ありませんが、単に説明するだけです
そうしないと
echo「これらは同じではなく、更新しています...」 
#againこの行も必要ありませんが、下の行ではuriを使用しています。
たとえば、lynxまたは必要に応じて、dnsエントリを現在のIPに更新するために使用する#afraid.org

lynx -dump "http:// freedns(dot)afraid(dot)org / dynamic / update.php?YOUR_UNIQUE_UPDATE_CODE_GOES_HERE"> / dev / null
fi

。3. sayを数分に1回実行し、上記のip.shスクリプトを実行するcron.dジョブを作成します。crontabエントリは次のようになります。

* / 10 * * * * /path/to/script/ip.sh> / dev / null 2>&1
  1. ???
  2. 利益!これで、動的IPでドメインをホストでき、5分ですべて完了しました。私の勝ち。

1

一部のDNSレジストラには、Webリクエストを通じてAレコード(ルーターIPアドレス)を更新できるAPIがあります。

次に、現在のパブリックIPアドレスを収集し、APIを介してDNSプロバイダーに送信し、現在のIPアドレスに一致するように必要なDNSレコードを更新するスクリプトを作成できます。

その後、情報を維持するためにスクリプトを定期的に(たとえば、1日に1回)実行するようにスケジュールできます。

私はこれを書きました。例としてここGithubリンクを使用できます


-1

Noip.comのようなサービスを使用すると、サイトにアクセスできますが、Googleのスパイダーはサイトをクロールしないと思います。彼らはあなたのサイトへのリダイレクトを与えられるとあなたを落とすと思います。私が間違っていることを願っていますが、それが私に言われたことです。だから、Googleの検索エンジンであなたを見つけるために人々が必要とする、あなたは運が悪いかもしれません。それでも人々はあなたの名刺を見ることができ、あなたに直行することができます。


3
Noip.comは、他の回答で示唆されている動的DNSサービスです。Googlebotは動的DNSサイトをクロールするため、答えは間違っています。質問にはリダイレクトについて何も表示されないので、そこで何を話しているのかわかりません。
スティーブンオステルミラー

1
@Kenny Ray Oxenrider、あなたは間違った情報を与えられました。サイトにno-ip.comを使用しました。Googlebotは、Baidu、Yandexなどの他のWebクローラーと同様に、ページをクロールおよびインデックスします。サイトのIPアドレスは、他のサイトのIPアドレスが検索されるのと同じように、No-IPのDNSサーバーへのDNSクエリによって検索されます他のDNSサーバー。DNSサービスにNo-IPを使用しているため、リダイレクトはありません。
ムーンポイント

@StephenOstermiller> 「質問にリダイレクトについて何も表示されません」 no-ip.comには、Webリダイレクトと呼ばれるオプションがあり、ホスト名を特定のポートのURLまたはIPv4アドレスにリダイレクトできます。これは非常に便利であるとき、ISPブロック標準ポート80
マーク・MESSA

@moonpoint> 「DNSサービスにNo-IPを使用しているため、リダイレクトはありません。」Webリダイレクトが設定されているかどうかによって異なります。設定されている場合、通常Googleはインデックスを作成しません。
マークメッサ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.