講義資料

1
名前解決
~Domain Name System
計算機ネットワーク
2
インターネットのアドレス

IPアドレス

インターネットにおいてユニーク


http://192.168.0.1/index.html
someone@[192.168.0.1]
hosts ファイル
172.21.39.200
172.21.39.2
172.21.47.85
172.21.47.86
172.21.47.87
:
IDであるが…
名前ではない
永続性
Human readable(可読性)
独立性
テキストファイル
xerox printer
zadeh
menken1
menken2
menken3
UNIX: /etc/hosts
Windows: ¥Windows¥System32¥drivers¥etc¥hosts
インターネットの前身:ARPA Net時代 HOSTS.TXT
3
インターネットのアドレス

hostsファイル


ユニークでない
HOSTS.TXT

情報更新の問題
インターネット全体の名前解決は困難
Domain Name System
4
DNS:コンセプト

分散(distributed)


HOSTS.TXT ⇒ ネームサーバにトラフィ
ック集中
分散管理

組織は自組織の名前を自ら管理

更新の容易性,分散
名前空間(Name Space)
階層構造(Hierarchy)
Domain
ドメイン
RFC1034: Domain Concepts and Facilities
RFC1035: DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
http://tools.ietf.org/html/rfc1034, rfc1035
5
DNS

Domain Name System

インターネットの名前解決(リゾルバ)


ホスト名 ⇔ IPアドレス
その他ホスト情報

ネームサーバ,メールサーバ,etc.
.
階層構造
jp
ac
kochi-tech
www
com
google
co
keio
sony
www.kochi-tech.ac.jp
www
6
DNS (Domain Name System)

階層構造



ホスト名 -> Full Qualified Domain Name
FQDN:階層ごとにドットで区切られた名前
最上位のドメイン

Top Level Domain (TLD)

gTLD と
ccTLD

ICANN が管理 (Internet Corporation for Assigned
Names and Numbers)
7
名前の構造

階層構造(木構造)


ドメイン


分散管理
DNS名前空間の一部分
委譲

管理権限の委譲 ⇒ 別のDNSサーバ
www.kochi-tech.ac.jp
ホスト名
ドメイン名
(FQDN)
ドメイン名を除いた短いホスト名を単にホスト名言う場合もある
8
DNSの階層構造
ルートサーバ
.com
apple
.org
.net
kikuken
kochi-tech.ac.jp ゾーン
.jp
ac
kochi-tech
co
FQDN
.uk
p-lab
サブドメイン
sun
printer
printer.yoshiken.info.kochi-tech.ac.jp
domain 名
.cn
kochi-tech.ac.jpドメイン
info
yoshiken
.kr
info.kochi-tech.ac.jpドメイン
権限を委譲
9
TLDとルートサーバ

TLDの情報を保持するサーバ



ルートサーバ
a~m.root-servers.net (13個)
あらかじめ全てのDNSシステムはルート
サーバのIPアドレスを保持
10
DNSの名前解決

ルートサーバから階層を追って問い合
わせ
ルートサーバ
jp
ac
kochi-tech
www
11
DNSで用いられるパケット

宛先ポート53

512バイト以下


→
UDP
fragmentを避けるため
512バイト超
54545
問い合わせ 54545
クライアント
→
TCP
53
53 ネームサーバ
12
レコード
DNSで問い合わせる情報

Aレコード


PTRレコード


(逆引き)
ドメイン→そのドメインのネームサーバ
MXレコード


IPアドレス→ホスト名
NSレコード


ホスト名→IPアドレス (正引き)
ドメイン→そのドメインのメールサーバホスト名
CNAMEレコード

別名ホスト名→本名のホスト名
13
DNSデータベースのレコード


Aレコード
PTRレコード



NSレコード
MXレコード



Oct4.Oct3.Oct2.Oct1.in-addr.arpa
maildomain MX 優先順位
hostname
CNAMEレコード
SOA (Start Of Authority)

MNAME,RNAME,Serial,Refresh,Retry,Expire,Minimum(neg cache)
14
DNSサーバの冗長化


冗長化による耐障害性
Primary サーバと Secondary サーバ



Primary サーバ: データ保持、書換
Secondary : Primary からデータコピー
Primary と Secondary

内部設定

master, slave

情報の取得源
 file (ゾーンファイル) or
別サーバ (ゾーン転送 (TCP 53) )
15
DNSサーバ


BIND (Berkeley Internet Name Domain)
3つの役割

ゾーンのDNSサーバ




ネームサーバ
DNSクライアント
DNSキャッシュサーバ
自分で名前解決しない


上位:forwarders
再帰検索
BIND
16
DNS操作・設定

nslookup コマンド

nslookup ホスト名(/IPアドレス)


dig コマンド


nslookup -type=レコード 名前
BIND付属
BINDサーバ

named

ゾーンファイル(正・逆)

レコード情報
17
正引き

ゾーンの設定

ゾーンファイル:レコード記述
ルートサーバ
www.kochi-tech.ac.jpのホスト名検索
jp
ac
kochi-tech
www
kochi-tech.ac.jp. ゾーン
のゾーンファイル
SOA ゾーン情報 シリアル値
IN NS nameserv.kochi-tech.ac.jp.
IN MX 0 mailserv.kochi-tech.ac.jp.
www IN CNAME webserv.kochi-tech.ac.jp.
proxy IN CNAME webserv.kochi-tech.ac.jp.
nameserv IN A 222.229.72.1
mailserv IN A 222.229.72.2
webserv IN A 222.229.72.3
18
逆引き

IPアドレス⇒ホスト名

ルートサーバ
PTRレコード
arpa
222.229.72.x のホスト名検索
in-addr
72.229.222.in-addr.arpa. ゾーン
のゾーンファイル
1
2
IN PTR www.kochi-tech.ac.jp
IN PTR mail.kochi-tech.ac.jp
…
…
228
…
222
229
72
…
223
230
…
…
19
DNSの問題



512バイト問題
ルートサーバダウン
分散管理にまつわる諸問題



一部サーバの設定ミス
DNSスプーフィング・キャッシュポイズ
ニング
情報の伝播が遅い
20
DNS操作

nslookup コマンド

nslookup ホスト名(/IPアドレス)


nslookup -type=レコード 名前
BINDサーバ

named

ゾーンファイル(正・逆)

レコード情報
21
その他のネームサービス

NIS (Network Information System)





LDAP(Lightweight Directory Access Protocol)



Sunが開発(yp)、UNIXで一般的
設定ファイルを参照するサービス
hosts 以外にも passwd etc.
NIS+
ディレクトリサービス
SSL、階層構造
/etc/nsswitch.conf
22
問題




ルートサーバ DoS 攻撃
なりすまし
改ざん
キャッシュポイズニング
DNSSEC

IPv6 への対応

AAAAレコード