RHEL系の/etc/resolv.conf自動作成停止について

CentOS7しかりだが、意外なところでハマるねぇ。インストール時に指定した、ルーターにお願いしていたName Serverを何度やっても、動的に書き換えて、せっかく作ったDNSサーバーに変更してくれない件・・・nameserverを/etc/resolv.confに127.0.0.1に設定しても、なぜかインストール時に利用した、Gateway上のNameserver192.168.1.253を参照しにいってしまう。そのせいで、内部のローカルネットワークからメールサーバー等を正引きしても、グローバルアドレスが帰ってきてしまう。いかんなぁ・・・

[root@server ~]nslookup
>www.freebear.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.freebear.org
Address: 192.168.1.1
>exit

とならないんだよねぇ・・・で、調べてみると、RedHatのサイトに『第27章 /ETC/RESOLV.CONF ファイルの手動設定』とあって、まさにこの通り。要は、『 NetworkManager は、アクティブな NetworkManager の接続プロファイルから DNS 設定を使用して、/etc/resolv.conf ファイルを動的に更新します。 』なので、手動設定しても、毎回動的に/etc/resolv.confが作成されてしまい、手動設定が反映されないと言うことらしい。幸い、同じページに手動設定方法が記載されている。手順は下記の通り。

以下の内容で /etc/NetworkManager/conf.d/90-dns-none.confファイルを作成。

[main]
dns=none

次に NetworkManager サービスを再読み込み。

[root@server ~] systemctl reload NetworkManager

で、この後に、手動で/etc/resolv.confを設定すると、この後は動的に/etc/resolv.confは生成されなくなるね。これで、内部からは、きちんとサーバーのローカルアドレスが帰ってくるようになった。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする