★★★ Twitterやってます。フォローして頂けると嬉しいです(*^^*) ★★★
この記事にはプロモーションが含まれていることがあります

【解決】Ubuntuでインターネットに接続できない(DNS編)

IT
スポンサーリンク

現象

同じネットワーク内の他のパソコンはインターネットに接続できるのに、Ubuntuでインターネットに接続できない場合は、名前解決に失敗している可能性があります。

確認する方法はいくつかあります。

確認方法
  • curlコマンドでHTTPアクセスしてみる
  • pingコマンドで応答を確認してみる
  • nslookupコマンドで名前解決をしてみる

名前の解決に失敗している場合は、このようなエラーが発生します。

◆Webサイトに接続できない
$ curl -sS https://www.google.co.jp
curl: (6) Could not resolve host: www.google.co.jp

◆pingが届かない
$ ping www.google.co.jp
ping: www.google.co.jp: 名前またはサービスが不明です

◆名前解決ができない
$ nslookup www.google.co.jp
Server:         127.0.0.53
Address:        127.0.0.53#53

** server can't find www.google.co.jp: SERVFAIL
スポンサーリンク

原因

基礎知識をざっくり説明(IPアドレス/ホスト名)

DNSDomain Name System)は、ネットワーク上でコンピュータの名前を解決するためのシステムです。

ネットワークに接続するコンピュータは、IPアドレスというユニークな番号で識別します。例えば、192.168.1.10と言った3桁の数字が4セットつながったものです(IPv4)。

ばったん
ばったん

簡単に言ってしまうと、人間様は数字の羅列を覚えるのが苦手なので、名前付けて呼ぶからそっちでうまくやってくれや、ということでそこをうまくやってくれるのがDNSなんだ。よく「名前解決」って言っているよ。

人間の世界で例えるならば、人がコンピュータで、携帯電話番号がIPアドレスに当たります。つまりDNSが電話帳です。

接続できない原因

DNSサーバがどこにあるのかセットできていないと、名前解決ができなくなります。先の例えで言うならば、電話帳がどこにあるのかわからない状態で、だれだれに電話してと言われても電話かけられないですよね。それと同じことが起きています。

静的IPを手動でセットした場合によく起きる

DHCPサーバから動的にIPアドレスを割り振ってもらう場合は、DNSサーバの情報も連携されて自動でセットされますので問題が起こらないのですが、手動で静的IPアドレスをセットした場合は、DNSサーバのIPアドレスも手動でセットする必要があります。

スポンサーリンク

解決方法

DNSサーバのIPアドレスをセットする

resolved.confファイルを編集する

DNSサーバのIP指定場所はこのファイルです。

/etc/systemd/resolved.conf

ばったん
ばったん

設定ファイルは編集する前にバックアップを取ってね。

$ sudo vi /etc/systemd/resolved.conf

ファイルをエディタで開くとDNS=という部分があると思います。ちなみにこれは指定していないので、名前解決ができない状態です。

[Resolve]
#DNS=

DNSサーバのIPを指定

DNSサーバに所属するネットワーク内のDNSサーバのIPアドレスをセットします。よくわからないという場合は、下のようにGoogleのパブリックDNS(8.8.8.8)を指定して、ファイルを保存します。

[Resolve]
DNS=8.8.8.8

サービスを再起動して、設定を有効にする

サービスを再起動します。

$ sudo systemctl restart systemd-resolved
スポンサーリンク

確認方法

名前が解決できるか確認してみましょう。
この例では、www.google.co.jpという名前のIPが確認できました。
nslookupコマンドでIPアドレスが表示されれば、指定したDNSサーバを使って名前解決ができています。

$ nslookup www.google.co.jp
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   www.google.co.jp
Address: 172.217.31.163 ← DNSによってIPが判明
Name:   www.google.co.jp
Address: 2404:6800:4004:80c::2003

お疲れさまでした。

コメント

タイトルとURLをコピーしました