CentOS仮想マシンが起動すると、DHCPを使用してIPアドレスを取得します。また、resolv.confをDHCPサーバーが提供するDNS設定で上書きします。 DHCPサーバーは検索ドメインを提供しないため、書き込み時にdhclientに検索ドメインのリストを追加させたいと思います。これを行うようにdhclientを構成するにはどうすればよいですか?
それらのどれもうまくいきませんでしたが、最後のものは最も近いものでした。 Red Hat 6の場合、上記の例のようにDOMAIN
ではなくSEARCH
を使用します。ファイルの場所は異なります。
ファイルを変更しました/etc/sysconfig/network-scripts/ifcfg-eth0
そして変更された
DOMAIN=domain.com
に
DOMAIN="domain.com sub.domain.com"
そしてそれはすべてうまくいった。
また、次のように/etc/dhcp3/dhclient.confに文字列を追加することもできます
prepend domain-search "domain1.com", "domain2.com";
この方法はDebian LennyとSqueezeでも機能することに注意してください。
私は何とかこれをうまくやった。 /etc/dhclient-eth0.conf
に次のような行を追加しました
append domain-name "example.com";
これは主に、試行錯誤を減らすためのRHEL7のメモです。 Dean's answerDOMAIN="domain1.exmaple.com domain2.example.com"
で/etc/sysconfig/network-scripts/ifcfg-device.conf
を使用した場合の動作。興味深いメモは、接続がDHCPから取得されるホストのドメインは、DOMAIN=
から除外した場合や、後でDOMAIN=
のリストに追加した場合でも、常に検索パスの先頭に追加されます。 /sbin/dhclient-script
には、これに関連するロジックがたくさんあるようです。
私のテストでは、/etc/dhcp/dhclient-device.conf
を使用する Philipの提案 も機能することがわかりましたが、これには奇妙な動作がありますが、おそらく/sbin/dhclient-script
の同じロジックが原因で物事を移動します。たとえば、期待どおりに優先または付加のどちらも機能しない場合、ホストのドメインが最初になります。このメソッドの補足として、/var/lib/NetworkManager/dhclient-device.conf
は生成されたNetworkManagerファイルであり、クライアントによって使用されます。 /etc/dhcp/
に読み込まれるファイルがある場合、そのファイルはファイルの上部に貼り付けられ、いくつかの追加オプションが以下に追加されます。
Fedora/Red Hatのやや不透明なスクリプトの山を通過する人にとっての答えは、少なくともAmazonの最新のAMIでは/etc/dhclient-eth0.confです(/ etc/dhcp /にあるおとりの空のフォルダーではありません)。ファイルは存在せず、作成する必要があります
/etc/dhclient-eth0.conf
の回答がうまくいきませんでした。私は/etc/dhcp3
ディレクトリを持っていないので、それがうまくいくとは思えませんでした。
/sbin/dhclient-script
ファイル(これはCentos 5.6システムで/etc/resolv.conf
を作成します)を調べた後、/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
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";
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
DHCPサーバー構成(ISC dhcpd)に追加します。
option domain-name "domain1.com domain2.net domain3.org";
ここで、domain1.com, etc..
は、各クライアントのresolv.conf
ファイルに追加するドメインサフィックスです。
この答えは見当たらず、うまくいったので(他の人はそうではありませんでした)、ここにそれがあります:edit /etc/resolvconf/resolv.conf.d/base
と同じように/etc/resolv.conf
。 resolvconf
をインストールする必要があります。