Ubuntuで名前解決ができない

提供: Ubuntu入門
移動: 案内検索
スポンサーリンク

Ubuntu の 17.10 を入れて、環境を構築しようと思って apt を実行したところ、名前入解決ができなくて、コマンドが失敗してしまいました。DNSの設定が原因かと思い、DNSの設定を変更して、解決しました。

読み方

DNS
でぃーえぬえす
nameserver
ねーむさーば

概要

インターネットでは、DNSという仕組みを利用して、DQDNとIPアドレスを変換して、通信します。 www.google.com みたいな FQDN を DNS を利用して、IPアドレスに変換されます。 FQDN から IPアドレスへ変換することを名前解決と呼びます。名前解決ができないと、通信ができないのに、近い状態になります。

近い状態になる、というのは、名前解決ができない状態であっても、IPアドレスがはじめからわかっているのであれば、IPアドレスを直接指定すればいいので、通信できないことはない、ということです。

ですが、一般的には、名前解決ができないと不便ですし、はっきりいって、使えないのと同義だと言っても良いのではないでしょうか。

apt が名前解決ができずに失敗する例

これは、aptが名前解決に失敗したときの実行結果です。

kaoru@ubuntu:~$ sudo apt update
Err:1 http://security.ubuntu.com/ubuntu artful-security InRelease
  Could not resolve 'security.ubuntu.com'
Err:2 http://us.archive.ubuntu.com/ubuntu artful InRelease
  Could not resolve 'us.archive.ubuntu.com'
Err:3 http://us.archive.ubuntu.com/ubuntu artful-updates InRelease
  Could not resolve 'us.archive.ubuntu.com'
Err:4 http://us.archive.ubuntu.com/ubuntu artful-backports InRelease
  Could not resolve 'us.archive.ubuntu.com'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
W: Failed to fetch
   http://us.archive.ubuntu.com/ubuntu/dists/artful/InRelease
   Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch
   http://us.archive.ubuntu.com/ubuntu/dists/artful-updates/InRelease
   Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch
   http://us.archive.ubuntu.com/ubuntu/dists/artful-backports/InRelease
   Could not resolve 'us.archive.ubuntu.com'
W: Failed to fetch
   http://security.ubuntu.com/ubuntu/dists/artful-security/InRelease
   Could not resolve 'security.ubuntu.com'
W: Some index files failed to download.
   They have been ignored, or old ones used instead.

DNSの設定はどこにするの?

DNS の設定は、

/etc/resolv.conf

に行います。

DNSの設定をする

名前解決ができないのであれば、nameserver を設定します。 ファイルを編集するには、 root の権限が必要になります。

sudo vi /etc/resolv.conf

もし、nameserver (ネームサーバ) のアドレスがわかっているのであれば、8.8.8.8 を適当に読み替えて下さい。 nameserver がわからないけど、名前入解決できなくて、インターネットにアクセスできない!という場合には、Googleのnameserverを利用することで(resolv.confに以下の行を書くことで)、名前解決ができるようになります。

nameserver 8.8.8.8

特に、再起動は、必要ありません。

関連項目




スポンサーリンク