1. DNS入門
DNS とは属性を持つ/ドメイン名を統合・分割管理するための仕組です。 |
- 検索機能も含まれます。
DNS/ドメイン名空間の/構成とドメイン名を/検索する仕組との二つの視点
- ドメイン名空間を構成する要素とそれらを統合する仕組
- ドメイン名空間を検索して、利用者に情報提供する仕組
からの入門記事が必要だと考えます。
ドメイン名空間は木構造をしていると考えるのがよい。(こう書いただけで、半数は読み続けないのではないか。)
DNS (Domain Name System) の基礎:
- ドメイン名空間
- 分散と統合 (ゾーンへの分割)
- 検索(実装依存)
https://www.rfc-editor.org/rfc/rfc1034.html
仕組は簡単だが、delegation で躓くひとは多い。運用は複雑になっている。
「教科書」をタイトルに含む本が出版された。 目次をみた範囲では入門書としてはなんとか使える部分も含まれているようだ。 入門記事を書くことはこのあたりでやめることにして、 今年2019年はDNS中級記事に重点をおくことにする。
- 年の瀬にDNS毒盛に関して整理が進んだような気がすることも影響しているだろう。
2019年元旦: -- ToshinoriMaeno 2019-01-01 08:27:57
2. DNSとは
DNS利用はこれらを前提になんらかの「運用」を行うことである。
基礎がゆったりとしているだけに、運用の自由度はあるが、間違いも起きやすい。-- ToshinoriMaeno 2018-11-02 14:19:29
ゾーンの管理はゾーン責任者に委ねられている。/登録, /管理
/dunning-kruger 参考: https://www.psychmechanics.com/2017/06/the-dunning-kruger-effect-why.html Why the incompetent think they're competent
- "Ignorance more frequently begets confidence than does knowledge."
- -Charles Darwin
A warm welcome to DNS https://powerdns.org/hello-dns/
1 teaching DNS: Library, Authoritative, Resolver https://powerdns.org/hello-dns/tdns/README.md.html
参考にならない記事: /リンク
https://www.amazon.co.jp/dp/479739448X
/DNSがよくわかる教科書 単行本 – 2018/11/22 株式会社日本レジストリサービス (著)
試し読み: https://r.binb.jp/epm/e1_97305_21112018155529/
2.1. はじめに
最初に断っておくが、DNSは/やさしくはない。それを優しく説明するだけの力は私にはない。-- ToshinoriMaeno 2018-06-11 08:11:55
誰がどこまで勉強するのがいいか、それを判断するのも難しいのがDNSだ。
- すべてのひとがすべてを勉強することなど不可能だし、時間の無駄だ。
ということで、むずかしくとも、DNS入門の題材選択はとても重要だと考えなおした。
以前は入門は自分の扱う対象だとは考えていないかった。避けていたというのが適切か。-- ToshinoriMaeno 2018-07-03 23:10:35
入門記事で重要なこと
- 必要最低限の基礎的概念だけを説明することである。
RFC1034は入門記事として、よく書けている。-- ToshinoriMaeno 2018-09-03 05:28:59
RFC 1034/1035には書かれていないことも多い。
- 現実のトラブルをいろいろ説明するには入門的知識では足りないが、それは入門を終えた後の話だ。
なんのためのDNSの勉強か。多分、自分たちを身を守るためではないか。
DNSの世界には「神話(都市伝説)」が存在する。「浸透「など。
- 最近見かけるのは「DNSサーバーを自前運用するな」だ。
もとめられている項目(How To)は多数あるだろうが、どれにしても基礎抜きでは語れない。
DNSを勉強しないひとが言っているのなら、分からなくもない。
- しかし、DNSを勉強させたくないひとがいるようだ。こっちは理解できない。
- 一般人は勉強しなくてもいいと言わんばかりだから。
DNSは商売にするにはパイが小さいとでも言いたいのだろうか。-- ToshinoriMaeno 2018-06-09 23:25:15
- 一般人は勉強しなくてもいいと言わんばかりだから。
NSレコードを理解しないで、DNSを理解したと言えるのだろうか。
https://twitter.com/George_Ohashi/status/543788582859575296
難しい問題をわかりやすく説明できる人がその問題を一番よく理解している、などと言われる。 説明する側としてはそのとおりだろう。 しかし、わかりやすい説明は専門的な説明と同等ではない。 もし本気で学びたいのであれば、難しい問題は専門的な説明のまま理解できるように自らの頭を鍛える必要がある。
DNS再入門 26 May 2017 @OSC Nagoya 鈴木常彦 http://www.e-ontap.com/dns/oscnagoya2017/
(入門ではない。) -- ToshinoriMaeno 2018-09-04 01:44:58
「UDPを使ったDNSは脆弱である」を理解するまでを目標としよう。
- 実装を改良して、回避することは可能であるが、現実はそうなっていない。
TCPを使うことで回避できる。
- DNSSECを使って回避することが可能な部分も存在するが、手間の割に効果が少ない。
DNSをきちんと勉強したいのであれば、 DNS/RFC/1034、DNS/RFC/1035を一通り読むのがいい。 英語版を読むためのヒントを簡単に説明する。-- ToshinoriMaeno 2018-05-23 14:57:40
DNSはなんのためにあるのだろう。分かりづらい機能(delegation)は必要なのだろうか。w
現在の技術で再設計して、実装しなおすことは無理なのだろうか。
ひとがいないというような言い訳は通らない。 -- ToshinoriMaeno 2018-05-27 08:06:45
DNSの基礎知識がないひとの相手をする時間はないということを自覚したので、 入門記事を書くことはひとまずやめる。
http://ecomputernotes.com/computernetworkingnotes/services-and-applications/what-is-dns
https://amits-notes.readthedocs.io/en/latest/networking/dns.html
https://www.lifewire.com/definition-of-domain-name-system-816295
以下は書きかけの記事です。-- ToshinoriMaeno 2018-06-07 03:57:20
2.2. 初歩の初歩
ここではDNSを使っているという意識のないひとに対して、こういうのがDNSですよという紹介をする。
/初級につなげるための準備である。
http://tech.nikkeibp.co.jp/it/article/COLUMN/20071022/285150/zu01_02.jpg
DNSはどういう場面で使われているか、を説明する。 (実際に使われている場面を体験して・知ってもらう)
一方で、どういう場面で困難を感じているのか、それをどう解決しているのか、という視点も忘れてはならない。
DNSがどう使われるのか。-- ToshinoriMaeno 2018-05-27 07:51:13
利用者がなにを求めているのか。それが現在提供可能かどうか。(How Toを説明しても、理解には繋がらない)
webサーバーの引越(移転と言われる)を見ていると、webサーバーを引越しているだけでなく、
- ネームサーバーも引越しているものがほとんどだ。
(これはDNSという仕組みを理解しないまま、指示された手順を 実行しているのではないだろうか。)
2.3. 基礎知識
-- ToshinoriMaeno 2016-09-19 08:08:38
タイトルがよくないが、DNSの基礎知識が説明されている。
「DNSの浸透待ち」は回避できる――ウェブ担当者のためのDNS基礎知識 https://internet.watch.impress.co.jp/docs/special/514853.html
なぜ「DNSの浸透」は問題視されるのか (これも釣りタイトル) http://www.geekpage.jp/blog/?id=2011/10/27/1
- 前半の説明は参考にしよう。後半は参考にするとまずそう。
2.4. ドメイン名
webブラウザで使う場面?
そして、DNSが動く仕組みの概要を説明する。そこに現れる概念も簡単に説明する。
ドメイン名を名前解決するのに、DNSがどのように使われているかをしる。(DNSに慣れる)
- 資源レコードのうち、レコードタイプ A を知ること。
続く../初級 ではDNSの仕組みを理解する。(名前解決の仕組み?)
以下は初級で扱う項目
/JPRS説明 JPドメイン名 https://jprs.jp/about/
/ドメイン名を登録することに関してはRFC1034などには規定はない。
- 現在の主流はICANNの管理するドメイン名空間だ。
DNSが安全かどうかについても簡単に触れる。(DNS/セキュリティ)
DDoSとか。DNSSECとかはどうするのか。
2.5. ゾーン
NS, SOA レコード、権威サーバー、ゾーンdelegation
2.6. ネームサーバー
権威サーバー、ゾーンデータを保持していて、問い合わせに答えるのがゾーンサーバー(あるいは権威サーバー)です。
- BINDはqueryの検査で落ちることがよくある。
共用ゾーンサービスの危険性
- ドメインの権利確認を行っていないものがほとんど。
2.7. DNSサーバー
リゾルバー、キャッシュ、TTL
- 返答とキャッシュの整合性が問題になる。特に毒盛対策に。RFC2181は毒盛対策ではない。
Googleのような共用キャシュサーバーほどういう検査をしているのだろう。
- 独自のフィルタリングもしているようだ。
2.8. 名前解決
2.9. NSレコード