2つのネットワークカードを持つFreeBSDシステムがあります。設定は次のとおりです。
em0 ---> IP set via DHCP (192.168.1.0/24). "home" domain
em1 ---> IP set statically (10.0.0.2). "lab" domain
すべての意図と目的のために、私のプライマリドメインが正しく実行されています。インターネットに接続して、ネットワーク上のすべてのホストにpingを送信できます。ルーティングも機能します。 IPを介してFreeBSDシステムで任意のドメインのホストをpingできますが、ホームネットワークの名前だけを解決できます。
ファイルを作成し、次のようにファイル/etc/resolvconf.conf
に検索ドメインとネームサーバーを追加しました。resolv.conf
search_domains="lab"
name_servers="10.0.0.10"
次に、次のコマンドを使用してresolv.confを更新しました。
$ sudo resolvconf -u
lab
これでネットワークで名前を解決できますが、ネットワークhome
で名前を解決できなくなりました。 resolv.confファイルを手動で編集し、ドメインとネームサーバーの順序を変更すると解決しますが、正反対ではありませんhome
。lab
resolv.conf
特定のドメイン(静的に設定されたIP)に対して1つのDNSサーバーを使用し、DHCPを介して他のIPに関するDNS情報を取得できるようにするにはどうすればよいですか。
参考用にのみ....
/etc/rc.conf:
hostname="beastie1"
ifconfig_em0="DHCP"
ifconfig_em1="inet 10.0.0.2 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
/etc/resolv.conf
# Generated by resolvconf
search lab home.
nameserver 10.0.0.10
nameserver 192.168.1.1
ドメイン 10.0.0.0 の DNS 「サーバー」は、lab
DHCP リースを提供する安価なコンシューマー Netgear ルーターに過ぎません。これはブートイメージに使用されるTFTPサーバであるため、これを静的に設定し、一部のCiscoデバイスでファームウェアアップデートをフラッシュしようとしたときに、便宜上10.0.0.2に設定しました。
答え1
あなたは正確に間違ったツールを使用しています。
これはDNSクライアントライブラリ内では行われません。 DNSクライアントライブラリは、探している名前に基づいてクエリを別の一連のコンテンツDNSサーバーにルーティングすることを決定するのに十分洗練されていません。 DNS クライアント ライブラリは、この種の操作を含む重いクエリ検証操作をプロキシ DNS サーバー検証に委任します。 それら実装されるもの分割地平線DNSサービス、これが望むメカニズムです。
あなたがFreeBSD(またはDragonFly BSDやTrueOSなどの派生製品)を直接使用した場合、これはunbound
ローカルで実行されるインスタンスになります。
次の3つのことを行います。
- あなたは実行します
unbound
。通常の方法で自動的に起動するように有効にしますlocal_unbound_enable=YES
。/etc/rc.conf
unbound
分割スカイラインを実行するようにDNSサービスを設定します。 あなたはこれをスタブエリアinはあなたとあなたのドメインをunbound.conf
表し、そのドメイン名とその下のすべてのエントリ、およびそのDNSサーバーの内容を表し、役割を果たします。lab.example.com.
home.example.com.
10.0.0.10
192.168.1.1
- DNSクライアントライブラリにサーバーのみを照会するように指示します。DNSクライアントライブラリに通信するように指示する行
nameserver
(/etc/resolv.conf
のname_servers
キーと値のペア)があります。/etc/resolvconf.conf
unbound
メモ:
home.
とを使用しませんlab.
。 これは実際のトップレベルドメインです。あなたが所有していないもの。home.
これまでに10の申請書がICANNに提出されました。ドメイン名の使用あなたが持っているもの、あなたが知らない人ではありません。example.com.
上記の内容に置き換えてください。local.
いいえ、あなたは、、、localhost.
またはdev.
その他corp.
のコンテンツの大部分を所有していません。たとえば、がある場合とを
radiantnexus.com.
使用します。home.allan.radiantnexus.com.
lab.allan.radiantnexus.com.
- 検索ドメインを適切に調整してください。、完全修飾されていないドメイン名がローカル名前空間に見つかると予想されます。
search_domains="home.allan.radiantnexus.com lab.allan.radiantnexus.com"
前の例に進みます。 - 解決のために他の人のプロキシDNSサーバーを使用できるとは思わないでください。 既定のルーター、ISP、またはGoogleが提供する検証プロキシDNSサーバーを追加するのは大きな間違いです。 DNSクライアントライブラリが直接通信するすべてのサーバー〜しなければならない供給同じ見方互いに一致するDNS名前空間の一部です。 Google パブリック DNS何も知らないまず、内部ネームスペースについて申し上げます。代替DNSサーバーが必要な場合は、次のものが必要です。別の地域DNS サーバーは、次のように構成されたどこかにあります。同じ水平分割設定。
- また、名前検索のためにスタブゾーンの名前を指定するには、プライベートIPv6とIPv4アドレスがすべて必要です。 実際にはこれらのものがたくさんあり、それらのルックアップトラフィックは実際にあなた/あなたの組織の境界の外に漏れてはいけません。うん、そうです。しなければならない結合されたDHCP / DNSサーバーによって展開されたリースに対してアドレス名のルックアップが機能するようにするには、このゾーンがローカルゾーンではなくスタブゾーンである必要があります。
ボーナスコンテンツ
私はFreeBSDでdjbdnsを使用しています(パッチ...まあ...私がしました)。
[email protected]
noshツールセットの設定インポートサブシステムは、ローカル検証プロキシDNSサーバーを実行しているサービスと通信するために、ローカルルートコンテンツDNSサーバーを[email protected]
実行するサービスを設定します。[email protected]
[email protected]
enable
次のコマンドを使用してこれらのサービスを有効にします/etc/system-control/presets/20-djbwares.preset
。〜できるようにする[Eメール保護] cyclog@axfrdnsを有効にする 〜できるようにする[Eメール保護] cyclog@tinydnsを有効にする 〜できるようにする[Eメール保護] cyclog@dnscacheを有効にする
.
ローカルルートコンテンツDNSサーバーのデータベースには、ICANNから取得された公開データ(およそ毎年使用されます)axfr-get
と私が所有しているドメイン名の内部名データが混在しています。% ls -dl root/{data*,p*,root*,Makefile} -rw-r--r-- 1 ルートチャクラ 968 9月16日 09:43 root/Makefile -rw-r--r-- 1ルートチャクラ571334 11月28日、00:33ルート/データ -rw-r--r-- ルートチャクラ 1個 1088169 11月28日 00:33 root/data.cdb -rw-r--r-- 1ルートチャクラ3243 9月16日09:55ルート/プライベート -rw-r--r-- 1ルートチャクラ6962 11月28日、00:32ルート/公開 -rw-r--r-- ルートチャクラ 1個 560853 2017年3月11日 ルート/ルート -rw-r--r-- ルートチャクラ 1個 3668733 2017年3月11日 root/root.zone %
この
root/private
ファイルには、次の個人データが格納されます。=machine97.jdebp.eu:192.168.100.97:::lo
root/servers/@
カバレッジがそのポイントに送信できるパブリックコンテンツDNSサーバーのアドレス情報を知ることができるように、各分割地平線クリーンアップポイントに対してこのファイルを複製しました。[email protected]
dnscache
% ls -dli root/server/{@,CEFip6.arpa,machine97.jdebp.eu} 352608 -rw-r--r-- 46 ルートチャクラ 11 2016年11月23日 root/servers/@ 352608 -rw-r--r-- 46 ルートチャクラ 11 2016年11月23日 root/servers/CEFip6.arpa 352608 -rw-r--r-- 46 ルートチャクラ 11 2016年11月23日 root/servers/machine97.jdebp.eu %
(実際、noshツールセットは私のためにプライベートIPアドレスを標準に設定しています。提供されているものとそれを使用するさまざまな方法についての全章があります。スナックガイド.)
これはプライベートルート設定。それの一つですその他2つのコンテンツDNSサーバーを使用して分割水平DNSサービスを提供する方法はいくつかあります。 (unbound
上記の設定では、マルチコンテンツDNSサーバーの配列もあります。ローカルコンテンツDNSサーバーは、コンピューター自体の専用DNSサーバーではなく、LAN上の他のコンピューター上のサーバーです10.0.0.10
。)192.168.1.1
127.53.0.1
また、プライベートルートは、Google Chromeの検出からインターネット全体にエスケープするのではなく、fec0::/12
IPv6アドレスとIPv4アドレスを逆マッピングしたいものまで、存在しないものにDNSクエリトラフィックをダッピングするという利点も提供します。192.168.0.0/16
プライベートルートにも使用できますunbound
。しかし、スタブ領域よりも複雑です。私はこれを読者のための練習として残しており、この回答の範囲外です。
追加読書
- ジョナサンデボインポラード(2004)。DNSクエリ解決とは何ですか?。よく与えられる答えです。
- ジョナサン・ドボイン・ポラード(2002)。「分割された地平線」DNSサービスを提供します。。よく与えられる答えです。
- ジョナサンデボインポラード(2003)。バックアッププロキシDNSサーバーは、デフォルトのDNS名前空間と同じDNS名前空間ビューを提供する必要があります。。よく与えられる答えです。
- ジョナサンデボインポラード(2012)。あなたが所有しているドメイン名を使用し、あなたに属していないドメインを乱用しないでください。。よく与えられる答えです。
- ジョナサンデボインポラード(2017)。DNS名の資格とは何ですか?。よく与えられる答えです。
- ジョナサン・ドボイン・ポラード(2000)。「コンテンツ」および「プロキシ」DNSサーバー。よく与えられる答えです。
- ジョナサンデボインポラード(2004)。プライベートIPアドレス範囲を使用している場合は、分割水平DNSサービスを使用してください。。よく与えられる答えです。
- ジョナサンデボインポラード(2003)。「内部」DNSデータベースをデータで埋めることを忘れました。。よく与えられる答えです。
- マイクウエスト(2012-02-18)。 Chromeは起動時に3つのランダムドメインに接続されます。。 mikewest.org.
- ジョナサンデボインポラード(2016)。 「
dnscache
、tinydns
およびaxfrdns
サービス」。 スナックガイド。ソフトウェア。 - ジョナサンデボインポラード(2016)。ソフトウェア統合(Daniel J. Bernstein)。ソフトウェア。
- 」ドメイン名システム」。FreeBSDマニュアル。無料BSD。