🐨

DNS

2022/03/28に公開

今日のお題は\textcolor{Salmon}{DNS} Y(·∀·)Y {張り切っていきマショー!!


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サーバーの種類
  1. キャッシュDNSサーバー
    • クライアント(ブラウザ)が最初に問い合わせるDNSサーバー
    • 以前に権威DNSサーバーに問い合わせて取得したゾーン情報を一定期間キャッシュしている
    • キャッシュしている情報が再度問い合わせられた場合には、権威DNSサーバーに問い合わせることなく、直接クライアントに情報を返す
    • 権威DNSサーバーの負荷を軽減させられたり、応答を返す速度が速まったりするといったメリットがある

  2. 権威DNSサーバー
    • 各ドメインの階層ごとに配置されている
    • 保持しているゾーン情報の中で、キャッシュDNSサーバーからの問い合わせに該当する情報のみを返す
    • 次にどこに探しにいけばいいかをキャッシュサーバーに教える
    • それをどんどん繰り返して絞り込んでいく
    • 目的のサイトのIPアドレスが得られたらそこにアクセスしに行く
      2.a ルートDNSサーバー
      • トップレベルドメインに対応している
      • 世界に13台しかない
      • さっきのjpだったりcomorgなどがここに当てはまる

実際にターミナル上で名前解決してみる

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