web-dev-qa-db-ja.com

ホームネットワーク用にローカルでDNSを実行する

私はもっ​​と大きくなった小さなホームネットワークを持っています(新しいルームメイト、私の既存のルームメートはラップトップを(彼女のコンピュータの上に)持っていました、私の友人はラップトップで来ていた、など)。

私は私のローカルネットワークのもの(fileserver.localwindowsTV.localmachineA.localmachineB.localappletv.local)を検索するためにローカルDNSサーバーを実行したいのですが。私は以前は静的IPを持つビジネスラインを持っていて、bind/namedを内部で実行していました。しかし、今私は普通のアカウントを持っています。

私のISPのDNSサーバーは絶えず変化しています(私のISPが長い間同じIP範囲を維持したくない理由が何であれ)。 ISPのDNSを外部トラフィックに使用するにはローカルDNSを自動的に更新する必要がありますが、内部DNSサーバーを維持できるようにする必要があります(hostsファイルを更新するのは、win7で既存のマシンを再構築することよりも面倒です)またはUbuntu 9.04).

さらに、私のISPのDNSサーバーはしばしばクラッシュするか、または応答しなくなります。信頼できる(毎日再設定したくない)オープンDNSサーバがありますが、それが失敗した場合はISPを使用しますか。

更新:また、各ワークステーションが接続にdhcpを使用できるようにするために探していますが、代わりに私の内部のものを取得し、ISPのDNSサーバを取得.

97
Roy Rico

内部の偽のドメインを機能させたい場合は、自分のドメイン以外のDNSサーバーでワークステーションを設定することはできません。 BINDを設定すると、それはそれ自身で動作することができ、あなたはあなたのISPや他のいかなる権限のないDNSサーバも全く必要としません。

15
Bender

基本的にあなたはあなた自身のDHCPとDNSサーバーを動かす必要があります。プライベートIPアドレスを提供する典型的なルーターがあれば、あなたはすでにあなた自身のDHCPサーバーを運営しています。

ご使用のDHCPサーバーは、ゲートウェイアドレスとしてルーターIPを、DNSサーバーアドレスとしてDNSサーバーIPを配布するように設定する必要があります。

DNSサーバーは、.localなどの公式ではないトップレベルドメインをローカルで解決し、それ以外の要求を別のDNSに転送するように構成する必要があります。 BINDでは、ローカルでないアドレスを解決するために使用したいパブリックDNSサーバーを含むforwarders { }セクションを `/etc/bind/named.conf.options 'に追加する必要があります。他のコメントが示唆するように、ISPのDNSサーバーに転送したくない場合は、OpenDNS、GoogleのパブリックDNSサーバー、または4.2.2.1/4.2.2.2を使うことができます(誰がそれらをしたのか忘れます)。

あなたがあなた自身のDNSサーバを運営しているなら、あなたはあなたのホームネットワーク上のすべてのDNS問い合わせがそれを通過するので、あなたは常にオンになるボックスが必要です。このボックスはあなたのホームサブネットに固定IPが必要です。それがDHCPによってブルドーザーになることができないことを確認してください、そしてボックス自体はDHCPによってIPを取得するべきではありません。たとえば、DHCPが192.168.1.1から192.168.1.100までのアドレスを配布するように設定されている場合は、DNSサーバーにIP 192.168.1.101を指定します。ホームルーターの通常の状況では、DNSサーバーが192.168.1.101であることをルーターに通知して再起動するだけです。

ブロードバンドルーター上でローカルDNSを実行できるのであれば、すばらしいですが、DNSサーバーは、使用するDNSソフトウェアによっては、クエリをキャッシュするためのRAMの恩恵を受ける可能性があります。私のネットワークでは、ストレート バインド を使用しています。あなたはそれについて少し経験があるかもしれません、そして私にとってそれはとてもうまくいきます。

83
LawrenceC

信頼できるオープンDNSサーバーはありますか

あなたはそれを言った: OpenDNS

 208.67.222.222 
 208.67.220.220 
15
hyperslug

あなたがWindowsを実行しているなら - あなたは Simple DNS Plus を見てみるべきです - それはまたDHCPサーバープラグインが付いている完全なDNSサーバーです - そして使いやすいGUIを持っています。

[注:製品はこの記事の著者によって開発されました]

6
Jesper

Unbound は非常に簡単で、バインドスタイルの設定ファイルをサポートし、かなり信頼性があります。サーバーがスタンドアロンの「ゲートウェイ」タイプのボックスになり、いくつかの追加機能が必要な場合は、untangleというファイアウォール/ゲートウェイディストリビューションも検討してください。

5
Journeyman Geek

あなたがLinuxボックスを持っているなら、あなたはDNSMASqがあなたのローカルアドレスを得て、外部アドレスのための転送/キャッシングDNSサーバとしてそれを使用するように設定したいと思うでしょう。これは、openwrt/ddwrt/tomatoなどのホームルーター用のLinuxディストリビューションでもよく使用されるものです。

あるいは、ほとんどのApple/Macネットワークでは、Bonjour/Zeroconfを使用します。LinuxとAppleの両方のコンピュータが、ブロードキャストレベルのDNS /サービス解決のために通信できます。

そうは言っても、3つのOSすべてが稼働している純粋にハイブリッドなネットワークでは、場所/ニーズに応じてOpenDNS、GoogleDNS、またはローカルISPのDNSのいずれかに転送するローカルDNSサーバーが間違いなく必要になります。

4

4.2.2.1と4.2.2.2は私が使っているものです

編集:それは、公共のサーバに関してです。覚えやすいし、私はそれらを使用してきたので私はそれらが失敗するのを見たとは思わない。

2
DHayes

どのブロードバンドルーターでも、ローカルネットワークにDNSとDHCPの両方のサービスを提供します。インターネットからローカルコンピュータへのIncomming接続が必要な場合は、DynDNSとIncomming PortForwardingもサポートするルーターが必要です。

あなたが DD-wrt対応ハードウェア リストからそれを選ぶなら、あなたはそのファームウェアでそれをフラッシュすることができます、そしてそれはあなたが今まであなたの小さいで必要としたどんな機能もサポートしますネットワーク。

2
Nikolaas

転送に使用できる無料のDNSサーバー

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS
1
JCA122204

あなたのLAN上でDNSサーバを走らせるためには、* nixのネームサーバである 'pdnsd'を見てください。

1
Zuu

DNSベンチマークプログラムを リンクテキスト からダウンロードすると、パブリックDNSサーバーとローカルDNSサーバーのリストがベンチマークされます。このプログラムを実行した後、最速のサーバーのコピーをルーターのDNS設定に入れてから、DHCPセッションを更新して、もう一度テストを実行してください。

ルーターで許可されている場合は、ルーターと高速外部DNSサーバーの両方をDHCPクライアントに渡すDNSサーバーのリストに追加します(ただし、ルーターのDNSサーバーアドレスに入力したものとは異なるものを選択します)。

0
Walter

私は同様の問題を抱えていました。 OpenWRT対応のルーターを購入してOpenWRTをインストールしました。それは私が望むように私がネットワークの私のコンピュータそして装置に名前を付けることを可能にしたルーターの名前解決と共に静的なIP結合を提供します。

0
Guy