Dynamic DNS 情報工学専攻 谷口研究室 山本 淳.

Slides:



Advertisements
Similar presentations
EpDNSサーバ 北海道大学 理学院 宇宙理学専攻 M1 古田裕規.
Advertisements

ネットワークからみるPCC 寺内康之.
Curlの特徴.
Layer8輪講 詳解TCP/IP DNS – ドメインネームシステム ~第1部~ DNSの基礎
揮発性情報 2003/05/25 伊原 秀明(Port139).
はじめての DNS 村上健、古家健次(宇宙物理)、井谷優花(地球および惑星大気科学).
DNS再入門 2002年12月19日 発表 2003年1月16日 最終更新 Internet Week 2002/DNS DAY
JANOG38 EDNS-client-subnetってどうよ? 改めRFC7871ってどうよ ー RFC7871の概要 ー
最新ファイルの提供を保証する代理FTPサーバの開発
佐藤 緩奈(地球および惑星大気科学研究室 B4)
赤松紀美 宇宙物理学研究室 B4 高橋由実子 地球および惑星大気科学研究室 B4
国際化ドメイン名 (Internationalized Domain Name)
民田雅人 WIDE Project DNS DAY - Internet Week 2002
DNSサーバDNSサーバ 第9回 DNSサーバ 水野嘉明
第1回レポートの課題 6月15日出題 今回の課題は1問のみ 第2回レポートと併せて本科目の単位を認定 第2回は7月に出題予定
第4章 Internet Address.
6-2 データベース 1.SQLite SQLを単純化した SQLite を使ってデータベースを操作 表「fruit」
2002年12月19日 DNS Day DNSQC-TF 石田慶樹
ネットワークコミュニケーション よく使われるアプリケーション DNS 7/5/07.
Networkゼミ 特別講義 ~仕組みがわかればネットワークはもっと楽しくなる~ [TCP/IPアプリケーション編]
日本国内のドメイン名はJPRSが管理 (株)日本レジストリサービス (2002年4月1日より)
WindowsNTによるLAN構築 ポリテクセンター秋田 情報・通信系.
輪講: 詳解TCP/IP ACE B3 suzuk.
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
HTTPプロトコルとJSP (1) データベース論 第3回.
Japan Registry Service (JPRS) Izuru Shirai
PlanetLab における 効率的な近隣サーバ選択法
Windows Summit /8/2017 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
Provisioning on Multiple Network(NIC) env
“You Should Go To Kyoto”
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
ファイアウォール 基礎教育 (2日目).
JPNICデータベースへの認証 機能導入について
サーバ負荷分散におけるOpenFlowを用いた省電力法
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
第17章 ドメインネームシステム.
情報の科学的 な理解(2) 情報科教育法 8回目 2005/6/4 太田 剛.
DNS に関する質問 授業の後に寄せられた質問に答えます
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
ソードコードの編集に基づいた コードクローンの分類とその分析システム
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
早稲田大学大学院 理工学研究科情報科学専攻 後藤研究室 修士1年 荒井 祐一
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
Microsoft Visual Studio 2005 Tools for
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
Windows Summit /22/2019 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be.
gate-toroku-system のしくみ
Exchange Server 2007 の Autodiscover で自動構成できない!! を回避するために
Internet広域分散協調サーチロボット の研究開発
既存Javaプログラム向け 分散化支援システムの開発
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
A18 スパムサーバの調査 ~ボットを見抜けるか?~
DNS に関する質問 授業の後に寄せられた質問に答えます
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
gate登録システム: 設計ポリシーから使い方まで
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
Ibaraki Univ. Dept of Electrical & Electronic Eng.
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
DNS 特論 今回はアプリケーションプロトコルの中で特にDNSを扱います
gate-toroku-system のしくみ
SMTPプロトコル 2001年8月7日 龍 浩志.
TCP/IPの通信手順 (tcpdump)
千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

Dynamic DNS 情報工学専攻 谷口研究室 山本 淳

発表手順 1.DNSの概要 2.Dynamic DNSの概要 3.実装(BIND) 4.動的更新ツール(nsupdate)

DNS(Domain Name System) (1)TCP/IPネットワークにおける名前解決サービスを提供   (A)正引き: ドメイン名 ー> IPアドレス   (B)逆引き: IPアドレス ー> ドメイン名   (C)クライアント/サーバ方式で動作 (2)階層構造の分散データベース方式で名前空間を管理   (A)ゾーン単位で情報を管理   (B)ゾーン単位で管理を委任   (C)ドメインとゾーンは不一致可 (3)RFC1034とRFC1035で定義

名前空間(ドメインとゾーン) . (root) jp uk ac co kyushu-u <ドメイン!=ゾーンの例> ・csce.kyushu-u.ac.jpドメイン ・csce.kyushu-u.ac.jpゾーン <ドメイン==ゾーンの例> ・st.csce.kyushu-u.ac.jpドメイン ・st.csce.kyushu-u.ac.jpゾーン csce swlab st ※各ゾーンごとに1台以上のDNSサーバが存在

DNSサーバの種類 (1)プライマリとセカンダリ (A)プライマリ: ゾーンファイルの原本から情報を取得   (B)セカンダリ: ゾーンファイルの複製から情報を取得 (2)マスターとスレーブ   (A)マスター: ゾーン転送における転送元   (B)スレーブ: ゾーン転送における転送先 プライマリ マスター ゾーン転送 セカンダリ スレーブ

DNSの動作 recursive query .(root) iterative query DNSサーバ (2) jp (3) (4) (1)www.kyushu-u.ac.jp (6)133.5.1.2 ac.jp DNSサーバ (5) DNSクライアント kyushu-u.ac.jp DNSサーバ

DNSの拡張 (1)差分ゾーン転送 RFC1995, “Incremental Zone Transfer in DNS” (2)ゾーンの更新通知    RFC1996, “A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)” (3)DNSの動的更新    RFC2136, “Dynamic Updates in the Domain Name System (DNS UPDATE)”

差分ゾーン転送(RFC1995) (1)ゾーン転送 ・マスターがスレーブにゾーンファイルの内容を 転送すること (2)転送方式   ・マスターがスレーブにゾーンファイルの内容を    転送すること (2)転送方式   (A)完全転送(AXFR)      ゾーンファイル内容の全体を転送   (B)差分転送(IXFR)      ゾーンファイル内容の差分を転送      ゾーン転送に伴う無駄なトラフィックの抑制 ※ゾーンファイルのバージョンは、SOA RRの   serialフィールド値で管理

ゾーンの更新通知(RFC1996) (1)ゾーン転送の契機 スレーブからマスターへの転送要求の発行 (2)要求の発行契機 (A)定期間隔    スレーブからマスターへの転送要求の発行 (2)要求の発行契機   (A)定期間隔      SOA RRのrefreshフィールド値の間隔で要求を発行   (B)更新通知      マスターからの更新通知により要求を発行 マスターとスレーブ間での情報一致の促進

DNSの動的更新(RFC2136) (1)DNSのオリジナル設計 (A)静的に構成されたデータベースの管理   (B)更新はゾーンファイルの手動編集により実施 (2)動的更新の必要性   (A)ゾーンファイルの管理コストの削減   (B)DHCPクライアントへの固定ドメイン名の割り当て UPDATE命令で指定ゾーンのRRの追加・削除を可能に

利用例(DHCPとDynamic DNS) Hw Address | Host Name table DHCP Server DNS 2 send IP-Host infomation 3 DNS update 1 allocate IP address DHCP Client [松澤ら, 2000]

DNS UPDATEパケットの構造 Header Zone Prerequisite Update Additional Data specifies the zone to be updated RRs or RRsets which must (not) preexist RRs or RRsets to be added or deleted additional data RRset: ・RRのエントリ(name, type, class, ttl, rdlength, rdata)のうち (name, type, class)が同じRRの集合

Headerセクション(1) 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 ID QR Opcode Z RCODE ZOCOUNT PRCOUNT UPCOUNT ADCOUNT ID: 要求を行うプログラムによって割り当てられる識別子 QR: 要求(0)、応答(1) Opcode: 要求の種類、UPDATE(5) Z: 予約、すべて0にセット

Headerセクション(2) RCODE: 応答コード NOERROR FORMERR SERVFAIL NXDOMAIN NOTIMP REFUSED 1 2 3 4 5 YXDOMAIN YXRRSET NXRRSET NOTAUTH NOTZONE 6 7 8 9 10 ZOCOUNT: Zoneセクションに含まれるRRの数 PRCOUNT: Prerequisiteセクションに含まれるRRの数 UPCOUNT: Updateセクションに含まれるRRの数 ADCOUNT: Additional Dataセクションに含まれるRRの数

Zoneセクション ・更新するゾーンを指定 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 ZNAME ZTYPE ZCLASS ZNAME : ゾーンの名前 ZTYPE  : SOAでなければならない ZCLASS : ゾーンのクラス ※すべての更新は、同一ゾーンに対してでなければならない

Prerequisiteセクション ・更新するための必要条件を指定 (1)RRset exists (value independent)  (2)RRset exists (value dependent)  (3)RRset dose not exist  (4)Name is in use  (5)Name is not in use <構文> class ANY NONE zone type ANY rrset rdata empty rr meaning (4) (1) (5) (3) (2) ※ttlはすべて0   にセット

Updateセクション ・更新(追加・削除)するRRまたはRRsetを指定 (1)Add RRs to an RRset  (2)Delete an RRset  (3)Delete all RRsets from a name  (4)Delete an RR from an RRset <構文> class ANY NONE zone type ANY rrset rdata empty rr meaning (3) (2) (4) (1) ※(1)以外、ttlは   すべて0にセット

Server Behavior(1) DNS UPDATEパケットの処理 (1)プライマリ DNS UPDATEパケットの各セクションを処理 (2)セカンダリ   ・DNS UPDATEパケットをプライマリに向かって    フォワード プライマリ マスター フォワード セカンダリ スレーブ

Server Behavior(2) <処理手順> (1)Zoneセクション (2)Prerequisiteセクション  (3)Updateセクション  (4)Requestorへの応答 DNS UPDATE (1)原子性(atomicity)   (A)全必要条件を満足 ー> 全更新を反映   (B)全必要条件を不満 ー> 全更新を取消 (2)ゾーンのバージョン管理   ・更新を反映した場合、SOA RRのserialフィールド値    をインクリメント

Requestor Behavior 前提: ・更新するゾーンの名前と当該ゾーンのDNSサーバ (プライマリまたはセカンダリ)は既知   (プライマリまたはセカンダリ)は既知 DNS UPDATEパケット ID: Opcode: Zone zcount: Zone zname: Zone zclass: Zone type: Prerequisite Section: Update Section: Additional Data Section: (new) UPDATE 1 (zone name) (zone class) T_SOA (see previous page) (empty)

実装(BIND) BIND(Berkeley Internet Name Domain) (1)DNSのリファレンス実装  (2)ISC(Internet Software Consortium)により開発・配布  (3)BIND4系、BIND8系、BIND9系が存在  (4)Dynamic DNSはBIND8系とBIND9系でサポート    (A)BIND8系の最新版は8.2.5    (B)BIND9系の最新版は9.2.0

ソースコード(1) /* Process zone section. */ $DISTDIR/bind_src/src/bin/named/ns_update.c /* Process zone section. */ ... if (zocount != 1 || type != T_SOA) { hp->rcode = FORMERR; return (Finish); } /* we should be authoritative */ if (!(zp->z_flags & Z_AUTH)) { hp->rcode = NOTAUTH;

ソースコード(2) if (zp->z_type == Z_SECONDARY) { $DISTDIR/bind_src/src/bin/named/ns_update.c if (zp->z_type == Z_SECONDARY) { /* * XXX The code below is broken. * Until fixed, we just return NOTIMPL. */ #if 1 hp->rcode = ns_r_notimpl; return (Finish); #else /* We are a slave for this zone, forward it to the master. */ ... #endif } * We are the primary master server for this zone, * proceed further and process update packet

動作テスト環境 BSD/OS 3.1上でBIND8.2.5(named)を走行 <設定ファイル> (1)/etc/named.conf  <設定ファイル>   (1)/etc/named.conf   (2)/etc/namedb/localhost.rev   (3)/etc/namedb/named.hosts   (4)/etc/namedb/named.rev   (5)/etc/namedb/named.root   (6)/etc/resolv.conf  <http://www.swlab.csce.kyushu-u.ac.jp/~yamamoto/ds/settings/> ・BIND8.2.5付属の動的更新ツール(nsupdate)を使用して、 A RR(正引き)の更新(削除・追加)

動作テスト結果(1) (fubuki)</etc/namedb>$ nslookup Default Server: fubuki.yamamoto.csce.kyushu-u.ac.jp Address: 133.5.22.115 > tender.yamamoto.csce.kyushu-u.ac.jp Server: fubuki.yamamoto.csce.kyushu-u.ac.jp Name: tender.yamamoto.csce.kyushu-u.ac.jp Address: 133.5.22.108 > (Ctrl-D) (fubuki)</etc/namedb>$ nsupdate > update delete tender.yamamoto.csce.kyushu-u.ac.jp IN A >

動作テスト結果(2) (fubuki)</etc/namedb>$ nslookup Default Server: fubuki.yamamoto.csce.kyushu-u.ac.jp Address: 133.5.22.115 > tender.yamamoto.csce.kyushu-u.ac.jp Server: fubuki.yamamoto.csce.kyushu-u.ac.jp *** fubuki.yamamoto.csce.kyushu-u.ac.jp can't find tender.yamamoto.csce.kyushu-u.ac.jp: Non-existent host/domain > (Ctrl-D) (fubuki)</etc/namedb>$ nsupdate > update add tender.yamamoto.csce.kyushu-u.ac.jp 1200 IN A 133.5.22.105 >

動作テスト結果(3) ※PTR RR(逆引き)は、別途更新(削除・追加)する必要あり (fubuki)</etc/namedb>$ nslookup Default Server: fubuki.yamamoto.csce.kyushu-u.ac.jp Address: 133.5.22.115 > tender.yamamoto.csce.kyushu-u.ac.jp Server: fubuki.yamamoto.csce.kyushu-u.ac.jp Name: tender.yamamoto.csce.kyushu-u.ac.jp Address: 133.5.22.105 > (Ctrl-D) ※PTR RR(逆引き)は、別途更新(削除・追加)する必要あり

動作テスト結果(4) (fubuki)</etc/namedb>$ cat named.hosts.log ;BIND LOG V8 [DYNAMIC_UPDATE] id 31008 from [133.5.22.115].1038 at 1008069068 (named pid 75): zone: origin yamamoto.csce.kyushu-u.ac.jp class IN serial 2001121101 update: {delete} tender.yamamoto.csce.kyushu-u.ac.jp. IN A [INCR_SERIAL] from 2001121101 to 2001121102 Tue Dec 11 20:12:00 2001 [DYNAMIC_UPDATE] id 38668 from [133.5.22.115].1053 at 1008069281 zone: origin yamamoto.csce.kyushu-u.ac.jp class IN serial 2001121102 update: {add} tender.yamamoto.csce.kyushu-u.ac.jp. 1200 IN A 133.5.22.105 [INCR_SERIAL] from 2001121102 to 2001121103 Tue Dec 11 20:19:41 2001