- 追加された行はこの色です。
- 削除された行はこの色です。
** ドメイン編 [#n0a82aa9]
- 自分PCからドメインを引く
-- まず、DNSキャッシュサーバを探しに行く
--- どこにDNSキャッシュサーバの情報があるか
→Linuxならレゾルブ.conf
→Windowsはわかんねw
-- 見つからなければ、LAN上のDNSを辿る
--- LAN上のDNSってのはルータにある
→192.168.0.2がルータ。これにログインしてどこぞや(ppp周辺)を見るとNSが載ってる
-- NSに引きに行く
--- アークのDNSサーバはradishなので、コイツに確認する
$ dig google.com @radish
-- radishがもし知らなければ、ルートサーバから辿ることになる
--- ルートサーバを調べるには、、
$ dig ns @.
. 5d21h46m9s IN NS I.ROOT-SERVERS.NET.
-- んじゃ、ルートサーバに問う!
$ dig google.com @I.ROOT-SERVERS.NET
com. 2D IN NS J.GTLD-SERVERS.NET.
-- 次のGTLDに問う!
$ dig google.com @J.GTLD-SERVERS.NET.
google.com. 2D IN NS ns1.google.com.
-- ぉ!それっぽいNSが!ゴールは近い。問う!
$ dig google.com @ns1.google.com
google.com. 5M IN A 64.233.187.99
google.com. 5M IN A 64.233.167.99
google.com. 5M IN A 72.14.207.99
-- デタ!
--- 3つあるのは1つのドメインで3つのIPを割り当てているから。
--- このうちどのIPをNSが返すかはランダム。これを→ラウンドロビン と呼ぶ
→ラウンドロビンによって、負荷分散がなされる
** IP編 [#df82bfee]
- IPからドメインを引く
-- いきなり裏技
$ nslookup 72.14.207.99
Name: eh-in-f99.google.com
Address: 72.14.207.99
-- デタ!www
-- まぁ、地道に行こう
--- インアダーアーパ!と、ptrがポイント!
$ dig ptr 99.207.14.72.in-addr.arpa @I.ROOT-SERVERS.NET.
72.in-addr.arpa. 1D IN NS indigo.ARIN.NET.
-- 次、アリンに問う!
$ dig ptr 99.207.14.72.in-addr.arpa @indigo.ARIN.NET
207.14.72.in-addr.arpa. 1D IN NS NS3.GOOGLE.COM.
-- よし、ごっごる!
$ dig ptr 99.207.14.72.in-addr.arpa @NS3.GOOGLE.COM
99.207.14.72.in-addr.arpa. 1D IN PTR eh-in-f99.google.com.
-- ヒケタ!v(^^)
- 進地さんから質問:ドメインからIP引くと複数出るのに、IPからドメインは1個だけなのはおかしくね?
→回答:IPからドメインは必ず1個だけ割り当てられる
→例えば、バーチャルホストの場合も、ドメインが複数あっても割り当てるIPは一緒。
つまり、どのドメインを引いても返すIPは同じ。
-- 検証
$ dig tkrb.ark-web.jp @ns1.ark-web.jp
tkrb.ark-web.jp. 30M IN A 203.196.20.101
tkrb.ark-web.jp. 30M IN A 203.196.20.101
$ dig uogashi-meicha.ark-web.jp @ns1.ark-web.jp
uogashi-meicha.ark-web.jp. 30M IN A 203.196.20.101
uogashi-meicha.ark-web.jp. 30M IN A 203.196.20.101
-- 同じになった。ね?簡単でしょ?by ボブ
-- では、203.196.20.101ってどこ?
$ nslookup 203.196.20.101
Name: 203.196.20.101.static.zoot.jp
Address: 203.196.20.101
-- は?.static.zoot.jpってなに?
→調べました。
http://nayuki.homeunix.com/~stakasa/cgi-bin/spaspa-zhongyi.html#03
> 同じIPアドレスでもドメイン名を変えることで接続先等を判別することなどが行われています
> その結果、一つのIPアドレスがたくさんのドメイン名を兼ねているという場合が存在...
--- 分かったような分からんような。。
→203.196.20.101にはたくさんのドメインが割り当てられている
→203.196.20.101のドメインを引いても、1つ限定して出せないとか? 違う気がする…
-- 気を取り直して検証2
--- キャッシュサーバの情報を使っちゃえ
$ dig tkrb.ark-web.jp
tkrb.ark-web.jp. 23h39m29s IN A 192.168.0.77
tkrb.ark-web.jp. 23h39m29s IN A 192.168.0.77
$ dig uogashi-meicha.ark-web.jp
uogashi-meicha.ark-web.jp. 23h2m2s IN A 192.168.0.77
uogashi-meicha.ark-web.jp. 23h2m2s IN A 192.168.0.77
$ nslookup 192.168.0.77
Name: okra.ark-web.jp
Address: 192.168.0.77
-- okraが出てきた。ね?簡単でしょ?by ボブ
-- じゃ、carrotもかな?
$ dig snippy.ark-web.jp
snippy.ark-web.jp. 1D IN A 192.168.0.44
$ nslookup 192.168.0.44
Name: celery.ark-web.jp
Address: 192.168.0.44
-- celeryって…これがアーク三大サーバの謎だw
-- それはさておき、、celery, okraの結果から言えるのは!
--- やっぱりIPにドメインたくさん割り当ててようが .static.zoot.jp にはならない
→謎が1個残った。。
** 自身を引く [#jf06a30d]
- 上位レジストラは、下位のDNSサーバのIPを持っている
-- これにより下位のDNSが自分のIPを引くときに、上位に頼る
$ dig ns1.ark-web.jp @I.ROOT-SERVERS.NET
jp. 2D IN NS F.DNS.jp.
$ dig ns1.ark-web.jp @F.DNS.jp
ns1.ark-web.jp. 1D IN A 210.155.67.164
-- でた!…というより、前からでてた!