DNS
今日のお題は
Linuxに関しては実際に触って練習ができるサイトenvaderを重宝してるので調べながらそれを触りつつ進めて行きたいと思います(’∀’人)♥+
ついでに簡単な自己紹介
私は何者か
プロフィール
ITの勉強を始めて1年弱。
オーストラリア在住。現在General AssemblyのSEIコース受講中。
2022年9月ごろから転職活動予定。
趣味はピアノ。
ゆえに特技はキーボードを打つ時に指を異常な角度で打てること(え)
今回お世話になるコースはこちら
Webサイトにアクセスするには
Webサイトにアクセスする、とは
私たちは普段Chromeなどのブラウザ上で、例えばyoutubeにアクセスしたい時、youtube
と検索しますよね。
ですが実際のところとあるWebサイトにアクセスするにはIPアドレス
というものが必要です。
パソコンさんはこのIPアドレス
(住所みたいなもの)を使ってそのサーバーに中身をくださいとお願いするわけです。
が、我々はyoutubeを見たい時、youtubeのIPアドレスをいちいち入力したりはしませんよね。
ではパソコンさんはどうやってこのyoutubeのサーバーを探しにいってるんでしょうか?
実はここにはドメイン
とDNS
が関わって作用しています。
ドメインとは
- インターネット上の住所のこと
- それをもとにWebサイトがどこにあるかを判別する
- が、実際にはドメインに紐づく
IPアドレス
で判別している - が、人間はIPアドレスをいちいち覚えられないので分かりやすいようにドメインを使っている
- この
IPアドレス
とドメイン
を変換してくれるもの = DNSサーバー
ドメインの中身
例えばhttps://www.hogehoge.co.jp
というURLがあった場合、
jp
= トップレベルドメイン
co
= セカンドレベルドメイン
となる。
各ドメインに対応するDNSサーバーが存在していて徐々に絞りこんで探せる。
ドメイン名
https://www.youtube.com/
だとhttps://
のあとのホスト名*¹とドメイン名を合わせた部分www.youtube.com/
を FQDN(Fully Qualified Domain Name, 完全修飾ドメイン名)と呼ぶ。
DNS
DNSサーバーの種類
-
キャッシュDNSサーバー
- クライアント(ブラウザ)が最初に問い合わせるDNSサーバー
- 以前に権威DNSサーバーに問い合わせて取得したゾーン情報を一定期間キャッシュしている
- キャッシュしている情報が再度問い合わせられた場合には、権威DNSサーバーに問い合わせることなく、直接クライアントに情報を返す
- 権威DNSサーバーの負荷を軽減させられたり、応答を返す速度が速まったりするといったメリットがある
-
権威DNSサーバー
- 各ドメインの階層ごとに配置されている
- 保持しているゾーン情報の中で、キャッシュDNSサーバーからの問い合わせに該当する情報のみを返す
- 次にどこに探しにいけばいいかをキャッシュサーバーに教える
- それをどんどん繰り返して絞り込んでいく
- 目的のサイトのIPアドレスが得られたらそこにアクセスしに行く
2.a ルートDNSサーバー- トップレベルドメインに対応している
- 世界に13台しかない
- さっきの
jp
だったりcom
やorg
などがここに当てはまる
実際にターミナル上で名前解決してみる
nslookupコマンド
nslookupとは
nslookup
= DNSサーバーに任意のドメイン名の名前解決を問い合わせるためのコマンド
-
IPアドレス
→ドメイン名
-
ドメイン名
→IPアドレス
どちらも可能٩( ˙0˙)۶
使い方
nslookup [ドメイン名/IPアドレス] [問い合わせたいDNSサーバーのIPアドレス]
デフォルトで問い合わせるDNSサーバーのIPアドレスを調べるにはcat /etc/resolv.conf
するとこのように出力される
$ cat /etc/resolv.conf
nameserver [IPアドレス]
実際に問い合わせてみるとこんな感じで返答が来る
Server: (問い合わせたデフォルトサーバーのIPアドレス)
Address:(問い合わせたデフォルトサーバーのIPアドレス)#53
Non-authoritative answer:
Name: yahoo.co.jp
Address: 183.79.250.123
Name: yahoo.co.jp
Address: 182.22.16.251
Name: yahoo.co.jp
Address: 183.79.217.124
Name: yahoo.co.jp
Address: 182.22.28.252
Name: yahoo.co.jp
Address: 182.22.25.252
Name: yahoo.co.jp
Address: 182.22.25.124
Name: yahoo.co.jp
Address: 183.79.219.252
Name: yahoo.co.jp
Address: 183.79.250.251
DNSサーバーを指定して調べてみる。
問い合わせるDNSサーバーとして Google Public DNS 8.8.8.8
を指定。
Server: 8.8.8.8(Google Public DNS)
Address: 8.8.8.8#53
Non-authoritative answer:
Name: yahoo.co.jp
Address: 183.79.250.251
Name: yahoo.co.jp
Address: 182.22.25.252
Name: yahoo.co.jp
Address: 183.79.250.123
Name: yahoo.co.jp
Address: 182.22.28.252
Name: yahoo.co.jp
Address: 183.79.217.124
Name: yahoo.co.jp
Address: 182.22.25.124
Name: yahoo.co.jp
Address: 183.79.219.252
Name: yahoo.co.jp
Address: 182.22.16.251
以上、DNSとnslookupコマンドについてでした(´︶`)♡
お世話になったLinux環境構築サイトのコース一覧
自分のパソコン壊す心配なくターミナル触れるってのはやっぱいいですねぇᕙ( ˙-˙ )ᕗアリガテェ
Discussion