SDB:Name Resolution Does Not Work with Several Concurrent DHCP Clients

移動先: 案内, 検索


Version: 8.0

問題点

複数のネットワークデバイスが DHCP で動作するよう設定されている場合、条件によっては /etc/resolv.conf が更新されず、名前解決がうまくいかない場合があります。

原因

複数の DHCP クライアントが同時に使用されている場合、これらの全てに /etc/resolv.conf に書き込みのできる権利を与えてしまうと、それぞれで上書きしてしまう結果になり、期待する動作に ならなくなってしまいます。いずれか 1 つの DHCP クライアント (通常は最初の 1 つ) に対してのみ、名前解決のためのファイル書き込みを行なわせる必要があります。

また一方、 DHCP クライアントによっては、複数の DHCP クライアントを有効にしていても、実際には いずれか 1 つしか動作させていない場合もあります。この場合は名前解決の設定 (具体的には /etc/resolv.conf) をこれらの全てに許可したほうが便利である場合もあります。

解決方法

DHCP クライアントに設定した全てのネットワークデバイスに対する設定 ifcfg について、 下記のオプションを追加してください。ファイルはそれぞれ /etc/sysconfig/network/ ディレクトリ内にあります。

DHCLIENT_PRIMARY_DEVICE=yes

これを行なうには、 konsole や xterm を起動して su - コマンドで root に 移行してください。そこから、 DHCP クライアントとして設定されたネットワークデバイスを検出する ため、下記のコマンドを入力します:

grep -Hi dhcp /etc/sysconfig/network/ifcfg-*

あとは pico のような ASCII エディタでこれらのファイルを開き、上記のオプションを追加します。 あとはファイルを保存して閉じ、下記のコマンドでネットワークを再起動してください:

rcnetwork restart <keyword>dhcp,dhcpcd,resolv.conf,nameserver,ifcfg</keyword>