web-dev-qa-db-ja.com

Linuxで/etc/resolv.confを使用して複数のドメインを解決できるようにするにはどうすればよいですか?

Ubuntu 12.04を実行していますが、次のシステムにpingを実行しようとしています。

  • system0.oldcompany.com
  • system1.fing.oldcompany.com
  • system2.newcompany.com
  • system3.thing.newcompany.com

私のresolv.conf

# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search oldcompany.com fing.oldcompany.com newcompany.com thing.newcompany.com
#domain thing.newcompany.com
domain oldcompany.com
#domain fing.oldcompany.com
#domain newcompany.com
#nameserver 8.8.8.8 #commented out due to other issues

これらのすべての行のコメントを外したままにすると、system0またはsystem1にpingできなくなります。ドメイン名を使用するだけで4つのシステムすべてにpingできるように設定するにはどうすればよいですか? Windowsでは、すべてのシステムを解決します。

ping system0
ping: unknown Host system0
ping system1
ping: unknown Host system1

Resolv.confの man page を読み込もうとしましたが、この問題のトラブルシューティングにまだ問題があります。私の会社では誰もLinuxを使用していないので、残念ながら一人でいます。

編集:検索が更新され、1行のみになったため、system0にpingできるが、system1にはpingできない。ただし、system1.fingは、oldcompanyドメインにあるため、pingを実行できます。

9

@webmarcと@ dan-hookをフォローした後は、まだ完全に理解していないdomain行を削除するまで機能しませんでした。

この答え によると、domainが最初のsearch文字列になります。 domain文字列を使用しない方が簡単だと思います。

手順:

  1. すべてのsearchドメインは1行に配置されます
  2. domain行が削除されました
  3. 古い会社名の前に新しい会社のドメインが配置されました

これは私の新しい/etc/resolv.confそしてそれは完全に動作します。

# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com

また、/etc/resolv.confは上書きされ、変更されます/etc/network/interfaces

auto eth0
iface eth0 inet static
    address 10.59.2.50
    netmask 255.255.255.0
    gateway 10.59.2.1
    dns-nameservers 1.1.1.151 1.1.1.152
    dns-search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com

新しい会社に新しいDNSサーバーIPがある場合は、IPが古い会社のIPよりも前に来るようにして、新しいDNSサーバーが最初に照会されるようにします。

5

ファイルにいくつかの問題があります:

  1. search domain.com domain2.com domain3.comのような検索行は1つだけで、ドメインは6つまでです。
  2. 正確に1つのドメインが指定された1つのドメイン行のみが存在する必要があります。

それらを修正した後、まだ問題があるかどうかを確認し、問題がある場合は質問を更新してください。

このファイルに必要な形式についての情報は、 manページ にあります。

5
webmarc

ネームサーバー行の後に検索行を置きます。

1
Dan Hook