web-dev-qa-db-ja.com

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

DD-WRTルーターのパブリックIPアドレスを使用しているときに、LANからホームサーバーに接続できないという問題があります。私は本質的にここで詳述されているのと同じ問題を抱えています: DD-WRT:ポート転送をLAN内から発信されたリクエストに適用できるようにする方法は? ;ただし、提供されているソリューションはどれも私には機能していません。 LAN設定に適用するために正しい値を変更したことはかなり確信しています。ルーターはNetgearWNR834B v2であり、DD-WRT v24-sp2 18777を実行しています。デフォルトのIP(192.168.1.1)を使用していますが、ポートが転送するドメインは通常どおり機能します。

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

1
Matchlighter

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

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

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

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

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

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

2
BillThor