CentOSでdhclientによって作成されたresolv.confに検索ドメインを追加するにはどうすればよいですか


35

CentOS仮想マシンは、起動時にDHCPを使用してIPアドレスを取得します。また、DHCPサーバーによって提供されるDNS設定でresolv.confを上書きします。DHCPサーバーは検索ドメインを提供しないため、dhclientが書き込み時に検索ドメインのリストに入れるようにします。これを行うためにdhclientを構成するにはどうすればよいですか?

回答:


32

それらのどれも機能しませんでしたが、最後のものが最も近くにありました。Red Hat 6の場合、上記の例のようにDOMAIN代わりに使用SEARCHし、ファイルの場所が異なります。

ファイルを修正しました /etc/sysconfig/network-scripts/ifcfg-eth0

そして変わった

DOMAIN=domain.com

DOMAIN="domain.com sub.domain.com"

そしてそれはすべて働いた。


3
あなたは両方を使用することができるはずDOMAINSEARCH github.com/mcr/isc-dhcp/blob/master/common/resolv.c#L68
ラデクSimko

resolve.confはdhclientではなくNetworkManagerによって生成されますが、このドメインを設定する手法はCentOS 6.5でも機能しました。生成されたresolve.confファイルは、エントリをDHCPサーバーからのエントリと結合しました。
PolyTekPatrick

11

また、次のように/etc/dhcp3/dhclient.confに文字列を追加できます

prepend domain-search "domain1.com", "domain2.com";

この方法はDebian LennyとSqueezeでも機能することに注意してください。


7

私は最終的にこれをうまく処理することができました。次のような行を追加しました/etc/dhclient-eth0.conf

append domain-name "example.com";

4

これは主に、RHEL7で試行錯誤を減らすための注意事項です。ディーンの答えの使用DOMAIN="domain1.exmaple.com domain2.example.com"/etc/sysconfig/network-scripts/ifcfg-device.conf作品。おもしろい注意点は、DHCPから取得した接続が検索パスに常に追加されるホストのドメインです。それを除外しDOMAIN=たり、後でリストに追加したりしてもDOMAIN=。これに/sbin/dhclient-script関連する一連のロジックがあるようです。

私のテストでは、フィリップの使用の提案/etc/dhcp/dhclient-device.confも機能することがわかりましたが、おそらく奇妙な振る舞いがありますが、これはおそらく/sbin/dhclient-script物事を動かそうとする同じロジックによるものです。たとえば、期待通りに動作を優先したり追加したりすることはなく、ホストのドメインが最初になります。このメソッドに関する補足事項として、/var/lib/NetworkManager/dhclient-device.conf生成されたNetworkManagerファイルがクライアントによって使用されます。/etc/dhcp/読み込まれたファイルがある場合は、ファイルの上部に貼り付けられ、以下にいくつかの追加オプションが追加されます。


AWS Linux(RHEL)、DOMAIN="your.domain"私には機能しませんでした。再起動後にリセットします
radtek

2

上記の/etc/dhclient-eth0.conf答えは私にはうまくいきませんでした。私は/etc/dhcp3ディレクトリを持っていないので、それがうまくいくとは思わなかった。

/sbin/dhclient-script/etc/resolv.confCentos 5.6システムで作成される)ファイルを調べた後、以下にSEARCH行を追加しました/etc/sysconfig/networking/devices/ifcfg-eth0:

DEVICE=eth0 
BOOTPROTO=dhcp
HWADDR=08:00:24:61:17:AC 
ONBOOT=yes
TYPE=Ethernet
SEARCH="example.com sub1.example.com sub2.example.com"

次に:

# ifdown eth0
# ifup eth0
#  cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search example.com sub1.example.com sub2.example.com
nameserver 10.1.0.11

2

Fedora / Red Hatのかなり不透明なスクリプトの山を通る人にとっての答えは、少なくともAmazonの最新のAMIでは、/etc/dhclient-eth0.confです(/ etc / dhcp /にあるおとり空のフォルダーではありません)。ファイルが存在しないため、作成する必要があります


2
ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth0にSEARCHを追加すると、FedoraのAmazonバージョンでも機能します。Red Hatの古いバージョンでは、明らかにDOMAINでした。上記よりもこれをお勧めします。
デイビッドCクルーク博士

2

CentOS 6では、次のファイルを使用して優先DNS検索ドメインを追加しています。

# cat /etc/dhcp/dhclient-eth0.conf 
interface "eth0" {
    supersede domain-search "dns1.example.com";
}
# getenforce 
Enforcing
# ls -lZ /etc/dhcp/dhclient-eth0.conf 
-rw-r--r--. root root system_u:object_r:bin_t:s0   /etc/dhcp/dhclient-eth0.conf
#

このファイルは、チェックインされる最初のファイルです/etc/sysconfig/network-scripts/ifup-eth

if [ -s /etc/dhcp/dhclient-${DEVICE}.conf ]; then
   DHCLIENTCONF="-cf /etc/dhcp/dhclient-${DEVICE}.conf";

参照:redhat-RHEL 6でのDHCPの構成-サーバー障害


追加する1つの注意-を使用してdhclientに複数の検索ドメインを指定する(option|supersede|*) domain-search ...場合は、dhcp-options(5)個々のドメインを引用するためのmanページの仕様に従ってください:option domain-search "example.com", "sales.example.com", "eng.example.com";dhclientの多くの古いディストリビューションは形式を​​許可しました"example.com sales.example.com eng.example.com";が、この互換性は過去数年で削除されましたバグ修正によりbugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/777785
Patrick

1

Fedora 19では、次の行を追加します /etc/dhcp/dhclient.conf

# /etc/dhcp/dhclient.conf

interface "p2p1"
{
    supersede domain-name-servers 8.8.8.8, 8.8.4.4;
    append domain-name " mydomain.net example.com";
}

NetworkManagerで正常に動作します。詳細を見る:# man dhclient.conf


aws linux(rhel)では動作しません
radtek

0

dchpサーバーconf(isc dhcpd)に追加します。

option domain-name "domain1.com domain2.net domain3.org";

domain1.comなどは、各クライアントのresolv.confファイルに追加するドメインサフィックスです。


0

私はこの答えを見ていないし、私のために働いたので(他の人はそうではなかったので)、ここにあります:/etc/resolvconf/resolv.conf.d/baseあなたと同じように編集してください/etc/resolv.confresolvconfインストールする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.