DD-WRT: LAN からパブリック IP で接続するとポートが転送されない

DD-WRT: LAN からパブリック IP で接続するとポートが転送されない

DD-WRT ルーターのパブリック IP アドレスを使用すると、LAN からホーム サーバーに接続できないという問題が発生しています。基本的に、ここで説明されているのと同じ問題が発生しています。DD-WRT: LAN 内部からのリクエストにポート転送を適用するにはどうすればよいですか?; しかし、提供された解決策はどれも私には機能しません。LAN 設定に適用するために正しい値を変更したと確信しています。ルーターは Netgear WNR834B v2 で、DD-WRT v24-sp2 18777 を実行しています。デフォルトの IP (192.168.1.1) を使用しており、ドメインとポート転送が正常に機能していることがわかっています。

編集: わかりました!ローカルDNSを有効にして使用する必要があることがわかりましたこれリンクされた質問からの回答。

答え1

DD-WRT はヘアピン ルーティング用に構成されていない可能性があります。LAN からパブリック IP に接続するのは、通常はお勧めできません。接続元を特定できなくなります。最適なオプションは、ネットワーク内から目的のサーバーに直接接続することです。

ショアウォール FAQ 2ルータが動作するように構成する方法について説明します。Shorewall は、一連の仕様ファイルから iptables ファイアウォールを構築するため、手順は必須の iptables コマンドではありませんが、iptables にかなり簡単にマップできます。DD-WRT で shorewall-lite を実行できるはずですが、その場合は、DD-WRT ツールではなく Shorewall ですべてのファイアウォールを構築する必要があります。

スプリット DNS を使用する方がはるかに簡単なので、この方法をお勧めします。 のようなツールは、ファイルdnsmasqから必要な内部 DNS を提供できます/etc/hosts。これは、インターネット上のアドレスのキャッシュ サーバーとして機能します。また、DHCP も提供します。DD-WRT ルーターで実行しない場合は、どの DHCP サーバーを有効にするかを決定する必要があります。メモリがある場合は、デフォルトの DHCP サーバーの代わりに を DD-WRT にインストールできます。

編集: を使用する場合は、dnsmasqアクティブな DHCP サーバーとして設定するのが最適です。ルーターで実行しない場合は、ルーターで DCHP を無効にします。または、ルーティング先のサーバーの DHCP アドレス範囲外の固定アドレスを使用します。いずれにしても、サーバーには固定アドレスを使用することをお勧めします。 を/etc/hosts実行しているホストのファイルにサーバーのアドレスを追加しdnsmasq、 を再起動しますdnsmasq。ドメインで構成する場合はdnsmasq、名前で DHCP クライアントを検索することもできます。

ホストのアドレスを決定しますdnsmasq。(これは 192.168.0.10 のようなプライベート ネットワーク アドレスである必要があります。) このアドレスを最初の DNS ネーム サーバーとしてリストするように DHCP サーバーを構成します。Linux ホストやファイルを持つその他のホストの場合は/etc/resolve.conf、このアドレスを最初のエントリとして使用しますnameserver。静的ネーム サーバー エントリを持つその他のサーバーの場合は、このアドレスを最初に指定したアドレスにします。

DHCP クライアントの DNS データを更新する必要があります。DHCP 更新をトリガーすると、データが更新されます。多くのシステムには内部 DNS キャッシュがあるため、変更がすぐに表示されない場合があります。すべてのサーバー構成が完了した後にクライアントを再起動すると、すべてのキャッシュがクリアされ、DHCP で指定された構成が再ロードされます。

関連情報