ドメインからipが引けてないってなったとき/DNSが設定できていないときにDNSを登録する(Ubuntu)

こういう作業って一年に2回あればいい方で大抵忘れる.

よくわからなかったら↓  が一番わかりやすい(英語). 大本のドキュメント読むの基本ですよね…

Ubuntu 16.10より前
https://wiki.debian.org/NetworkConfiguration

Ubuntu 16.10以降
https://wiki.archlinux.org/index.php/Systemd-resolved

普通に調べると、QiitaやStackOverflowやブログでまちまちで結局どれやるんだよってなる…

ってことでDNSを登録する作業

作業のポイントまとめ

大前提

  • Ubuntuは16.10より前はdnsmasq, 16.10からSystemd-resovledがDNS解決のソフトとして使われるようになった.
  • /etc/hostsは一番原始的.(DNSの設定をするためではない.ドメイン名⇔ipアドレス)

まずUbuntu 16.10より前の場合(dnsmasq)は

  • /etc/resolv.confはいじらない(変えても下ので自動生成されたときに消えます)
  • /etc/resolvconf/resolv.conf.d/tailを作って編集(これを編集すればいい)
    • nameserver dnsのipアドレス   って記入すればok
    • sudo resolvconf -u を実行してください.(/etc/resolv.confが変わっているはず)
  • /etc/network/interfacesは上記を上書く.こっちで編集してもいい(UIで編集するのと同じ. UbuntuのNetworkManagerが管理.)
  • https://wiki.debian.org/NetworkConfiguration#The_resolv.conf_configuration_file が詳しい

これでいいはず.

まずUbuntu 16.10以降(systemd-resolved)は

  • /etc/systemd/resolved.confを書き換えればいい.
    • DNS=xxx.xxx.xxx.xxx にすればいい
  • /etc/resolv.confは上記にシンボリックリンクを張っている
  • またもNetworkManagerの/etc/network/interfacesの方によって設定は上書きされる
  • https://wiki.archlinux.org/index.php/Systemd-resolved が詳しい

 

赤字のところを行えばDNSは適切に設定される.

デバッグするときに使えるコマンド

nslookup ドメイン名 DNSのipアドレス

ex) nslookup google.com xxx.xxx.xxx.xxx

ちゃんとDNSが設定されたらドメイン名からipアドレスに変えられるよね?ってのを確認.

いつもはnslookup ドメイン名 でipアドレスを確認することが多いけど、これもなかなか使える気がする.
これが通れば、あとはシステムにちゃんと設定すればいいだけ

 

systemd-resolve –status

今どのdnsがシステムで使われているかを確認する.

このコマンドは18.04とかより以前だと–statusのオプションがなく, no option “–status”みたいなことが言われてしまう.

nmcli device show <interfacename> | grep IP4.DNS
ex) nmcli device show eth0 | grep IP4.DNS

とかで出るはず

ifconfig

はよく出るのでご存知かと思いますが…

digとかは使わず…

 

 

参考

https://askubuntu.com/questions/152593/command-line-to-list-dns-servers-used-by-my-system

About the author

コメントを残す