RPi のダイナミック DNS -> Airport Extreme (DHCP) -> ケーブル モデム (DHCP) -> Interwebs

RPi のダイナミック DNS -> Airport Extreme (DHCP) -> ケーブル モデム (DHCP) -> Interwebs

私は DHCP 経由で Airport Extreme に接続する Raspberry Pi を持っています。Airport はケーブル モデムに接続されており、Comcast から DHCP 経由で IP アドレスを取得します。登録したドメイン名を使用して、リモート ロケーションから RPi にアドレス指定できるようにしたいと考えています。これを行うにはダイナミック DNS を使用することは理解していますが、複数の DHCP レイヤーをどのように処理すればよいかわかりません。

答え1

ケーブル モデムが単純なモデムである場合、カウントされる唯一のアドレスは、Comcast から取得する外部アドレスです。これは、世界中の人々が見るアドレスです。

Pi に接続するユーザーは、依然としてその 1 つのアドレスしか見ることができないため、ネットワーク アドレス変換 (NAT) を実行できるデバイスが必要です。

単純なモデムではこれを行うことはできませんが、「モデム」が実際にはルーターである場合は、構成 Web サイトに「仮想サーバー」、NAT、ポート転送などの設定を行うためのページが 1 つ以上あります (名前は製造元によって異なります)。

モデムがそれを行わない場合、おそらく Airport が行うでしょう。いずれにせよ、対処する最も簡単な構成は、モデムの内部アドレスと Airport によって配信されるアドレスの両方が同じ範囲にあることを確認することです。したがって、モデムが 192.168.1.x などの内部アドレスを配信し、ネットマスクが 255.255.255.0 である場合 (これはかなり一般的です)、Airport が同じ 255 個のアドレス セットで DHCP アドレスを配信していることを確認してください。それらが重複していないことを確認してください。また、Pi のアドレスを固定アドレスとして構成する必要もあります。私の Billion 7800N などの優れたルーターは DHCP でこれを実行できますが、安価なルーターでは、DHCP アドレスと衝突しない固定アドレスを Pi に指定する必要があります。

たとえば、自宅には有線と無線の両方のネットワークを提供するルーターと、2 番目の無線ネットワークを提供する Wi-Fi アクセス ポイントがあります。ルーターの DHCP を 192.168.1.100 - .150 に配信するように設定し、Wi-Fi アクセス ポイントを 192.168.1.151 - .199 に配信するように設定し、ネットマスクを 255.255.255.0 に設定して、内部ネットワーク上のどのデバイスも他のデバイスにルーティングできるようにしています。サーバーとして機能する可能性のあるデバイスがいくつかあり、それらのデバイスには MAC アドレスに基づいて固定の DHCP アドレスが割り当てられています。

それを整理したら、それが実際にはルーターであると仮定して「モデム」を構成します (そうでない場合は、Airport でこれを行うか、PC をルーターとして構成する必要があります)。これにより、外部 IP アドレスと便利なポート (例: 8080) へのリクエストが、アクセスする Pi のサービスの内部アドレスとポート (例: SSH の場合はポート 22) に転送されます。

ただし、さらにもう 1 つ問題があります。Comcast が実際には固定の外部 IP アドレスを提供していない可能性があります。その場合は、ダイナミック DNS フォワーダーを設定する必要があります。ほとんどのまともなルーターには、現在これが組み込まれています。ルーターから選択したダイナミック DNS サービスへの接続を設定すると、外部 IP アドレスが変更されたときにルーターがサービスを更新します。

購入したドメインを動的アドレス指定を使用するように構成するには、通常のようにドメイン名を IP アドレスにポイントするのではなく、動的 DNS サービスによって提供されるアドレスにポイントします。詳細については、DNS サービス プロバイダーに問い合わせてください。


わあ、まとまりのない答えですね! 少しでも意味が伝われば幸いです。要するに、きちんとしたルーターがあり、ルーターと Wi-Fi の両方に一貫した内部 IP アドレス範囲を使用し、NoIP や Dyndns などのダイナミック DNS サービスにサインアップすれば、かなり簡単に実行できます。

関連情報