とある検証のため、CentOS7マシンで一時的に「DNSの名前解決ができない」状況を作ろうとしました。
単純にDNSサーバの設定を一時的に消せばいいのかなと考え、特に下調べもせずにnmcliコマンドを使って「DHCPサーバから取得している、DNSサーバのアドレスを消す」ことをすればいいのかと思ったら、うまくいきませんでした。
とりあえず、「/etc/resolv.conf」を直接いじることで、やりたかったことは実現できました
[[email protected] ~]# nmcli d show | grep DNS
IP4.DNS[1]: 1.1.1.1
IP4.DNS[2]: 8.8.8.8
[[email protected] ~]# nmcli connection modify ens160 ipv4.ignore-auto-dns yes
[[email protected] ~]# systemctl restart network
[[email protected] ~]# nmcli d show | grep DNS
[[email protected] ~]#
お、DNSサーバのアドレスが消えた!
[[email protected] ~]# host yahoo.co.jp
yahoo.co.jp has address 183.79.135.206
yahoo.co.jp has address 182.22.59.229
あれれ、DNSサーバのアドレスが消えたけど何故か名前解決できてる??
[[email protected] ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search hoge.test
nameserver 1.1.1.1
nameserver 8.8.8.8
んんー、消えてないじゃん。。。
挙動について調べてませんが、/etc/resolv.confに既にDNSサーバのアドレスが書かれていても、nmcliさんは消してくれない模様
[[email protected] ~]# sed -i '/^nameserver/d' /etc/resolv.conf
とりあえず調べる気力もなかったのでnmcliは一旦諦めてこの方法にしてます
sedした直後から、名前解決ができなくなります。
個人的には、直接設定ファイルを弄りたくはないんですけど...
ヒマができたら、nmcliでやる方法を調べてみようと思います。
[[email protected] ~]# systemctl restart network
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント