(?9 k 7 i 芸 O l ;S n i o v f e r ( t s 2 h i . e t . ≡, ;;u a l t t u y r o afs E c d i :: :e t ; Onand" u m a n S t u d i e s )
BI ND9 のビュー機能利用 を支援するゾーンファイル自動生成ツール 佐々木重雄*
A ZoneFi l eGener at i onTools uppor t i ngt heVi ew Feat ur ei nt r oducedi nBI ND 9
Shi geo SASAKI
abs t r ac t
Thi spa , pe rpr e s e nt saz onef il eg e ne r at i ont oolt hatc r e at e sf or war da ndr e ve r s ez onef il e sf r om ma st e rone s . I tc anma i nt ai nmul t i pl edomai nsa ndmul t i pl e v i e ws ,whi l emos tofs i mul a rt ool sc an doo nl ys i ngl edoma i n.
The v i e wf e a t ur ewa si nt r oduc e di nBI ND ve r s i on9a ndi sus e f ulf orf ir e wal l ' e ds i t J e S .Suc has i t e ha smul t i pl ea c c e s sl i ne st ot he( g loba l)I nt e r ne t ,t oi t si nt r a ne t ,t oi t sDMZne tands oon,andi t s DNSs e r ve rha st or e pl ydi f fe r e ntDNSz onei nf or ma t i onde pe ndi ngonwhe r et heque r yc ome s ・The v i e w f e a t ur es uppor t st ol e taDNSs e r ve ra ns we rdi f fe r e nt l yde pe ndi ngont heI P a ddr e s s e soft he que r yc l i e nt s.
Thi spa pe ral s opoi nt so utt hec ommonmi s t ak e si nz one丘l ede s c r i pt i ons .A pa r to ft he m ar e i nt r oduc e dbyi nc or r e c tDNSma na ge me ntpr ogr a mswhi c ha r e,i nma nyc a s e,ol da ndnol onge r ma ・ i nt ai ne d.Cor r e c tz oneal ege ne r a t i o nt ool sc anr e duc et henumbe roft he m.Thei nf わr mat i onon t hemi s t ake si she l pf ulf ornotonl yt heu se r so ft het oolbuta ls oDNSadm i ni s t r at or swhowr i t ez one f
il e smanual l y.
1
動機1. 1 BI ND とゾーンファイル
BI ND( Be r kl e yI nt e r ne tNameDomai n) は、最 も広 く使 用 され ている DNSサ ーバの実装 である 。 DNS サ ーバ の管理 は、 しば しば難解 と評価 される
。これは BI ND の設定 ファイルや、資源 レコー ドの記述 ファイ ルの、必要以上の複雑 さによるところが大 きい とい え る。 BI ND の資源 レコー ド記述 ファイル ( 本箱 で は、
以下 、習慣 に従 い、ゾー ンファイル と呼ぶ)は RFC
1034,1035[ 4,5] で定義 される、 DNSサーバ間でや り 取 りす るデータ ( ゾーン情報)と一対一に対応す るもの で、 きめ細かい設定 は可能であるが、デー タの維持管 理 には余計 な神経 を使 う
。た とえば、正引 き情報 と、
単 にそれ を転置 しただけのはずの逆引 き情報 を別 々に 管理 しなければな らない。デー タを更新 したな ら、シ リアル番号 を増加 させ なければな らないなど、 BI ND で は、 ゾー ンファイルの管理 は、人手 で行 なうのでは な く、 自動生成 して運用す るこ とを前提 としている と 考 え られ る
。さ らに、汎用 ドメイ ンを運用す る場合 、 設定 ファイルには、 日本語 などの非 ラテン文字 を記載
*秋 田大学教育文化学部
す るこ とがで きず、エ ンコー ドしてか らロー ドす る必 要があ るな ど、様 々な点か ら、 自動生成 は必須 である
といえる
。1. 2 外 向 き DNS 情朝 と内向 き DNS 情報 の分離 BI ND 9で導入 された ビュー機能 は、外 向 き DNS 情報 と内向 き DNS情報 を一台のサ ーバ で管理す るの
を容易 にす る、極 めて有用 な機能である
。BI ND 9の ビュー機能は、問合 わせ クラ イア ン トの 位置 ( I P ア ドレス)に よって、異 なるゾー ンファイル を参照 して、その情報 を返答す るこ とを可能 とす る機 能である
。これ を利用す ることによ り、 イ ン トラネ ッ
ト内部用 の DNS情報 と、外 向 きの DNS情報 を区別 したい とき、内部用サ ーバ と外部用サーバの二つ を分 離 して立 てることな く、一台 のサーバ、一つのデーモ ンでサー ビス を提 供す るこ とが可能 となる
。これ は、
管理 コス トの低減 に大 き く寄与す る
。しか し、 BI ND 9の ビュー機能 を利用す る場合、外
向 き、内向 き、別 々にゾー ンファイル を用意す る必要
が ある
。正引 きファイル、逆引 きフ ァイルが もともと
複数あるであ ろうか ら、外向 き、 内向 きの DNS情報
を分離 しょう とす る と、 もとの二倍 の フ ァイル を維持 管理 しなけれ ばな らない こ とになる
。ところが、 DNS の ゾー ンフ ァイ ル生 成 ツール は、
世の 中に数多 くあ るに もかかわ らず、外 向 き DNS 情 報 と内向 き DNS 情報 を分離 して提 供す るこ とを考慮 した ものは皆無 と言 って よい。実際の運用 を考 える と、
外 向 きと内向 きの情報 を分離す る とい って も、相違す る情事鋸まご く一部 で、ほ とん どが共通であ る と考 え ら れる
。この、共通す る部分 について、正
引き情報 ( A レ コー ド) 、お よび、逆引 き情報 ( PTR レコー ド)の 自動 生成 くらい は したい とい うのが、今 回の 自動生成 ツー ルの作成 の動機 であ る
。ゾー ンフ ァイルの 自動生成 ツールは、少 な くない数 の ものが開発 されている
。しか しなが ら、外 向 き DNS 情報 と内向 き DNS 情報 を区別 して提倶す る用途 にか な うもの は、皆無 であ る 。 BI ND 9 の ビュー機能対応 を
謳った もの もあ るが、 ビュー ご とにマス ター ファイ ルを別 に用意す る必要があ るな ど、デー タの冗長性 を 排 除 しきれていない。
そ もそ も、 ビュー機 能へ の対応以前 に、 DNS の新 しい規格 に合致 しないゾー ンファイル を生成す るソフ トウェアが少 な くない。本稿では、既存の、ゾー ンファ イル生成 ツールについて、修正す るべ き事項 について も指摘 す る
。2 BI ND 9
の ビュー機 能BI ND 9 で導入 された ビュー は、 問合 わせ元 によっ て、返答す る名前情報 を切替 える機能である。この機能 を使 うこ とに よ り、イン トラネ ッ トの内側 向けの DNS 情報 と、外 向 けの DNS 情報 を分 ける こ とがで きる
。BI ND の設定 ファイル ( named. c onf ) で ビュー機 能 を 有効 にす る例 を図 1 に示す。図 1 の設定例 か らわか る とお り、正引 きフ ァイル、逆 引 きファイルを、それぞ れ、外 向 き用 、内向 き用 に別 々に用意 しなければな ら ない。
3
ゾー ンファイル記述 の誤 りについてゾー ンファイルの記述 に関 して、い くつかの誤 った 設定が、多 くのサイ トで なされている。 自動生成 ツー ルで は、特 に この種類 の誤 りの発生 を避 けなければな
view 一 一 i nternal■ ■(
matc h‑clients f 127. 0. 0. 0/8;
192. 168. 1 . 0/24;
〉;
recursion yes;
zone ' = ‑f typehi n
t;file 一 一 na med. roo t■ ■;
);
zone ■ ■ 0. 0. 127. ⅠN‑ADDR. ARPA‑ ■t
ty
p e m a
st
er;
f
lle ■ ■ l
oc
al
host. re
vH;);
zone
''exa mple・ ac. jpI T(
typemaster;
flle "i nternal. zone";
);
zone H1. 1 68. 192. ⅠN‑ADDR. ARPA■ ■(
typemaster;
file Hi nternal. rev■ ■ ; );
I;
vlew ■ ■ external■ tt
m a t c h ‑
cl ie n ts ( a n y
; ) ;r e C u r S
IOnn O;
z o n
e "e
xa m
ple. a
c.jp
" t typem
aste
r;
f
il e ‖
exter na
l. zo ne■ ■ ;
);
zone ● ■ 1. 168. 192. ⅠN‑ADDR. ARPA■ ‑t ty pemaster;
file . ' external. rev' r ; );
);
図 1:ビュー に関す る named. c onf の記述
‑ 2 6‑
aI NSO A (se rver. e xa mple. ac・ j p.
root・ server・ e x
ample・ ac・ J p・
19980401 00 ; Seri al l O800 ;3 ho urs 3600 ;1 ho ur 604800 ;1 wee k 阜旦生 9 9) ; 1day
図 2: よ くあ る SOA レコー ドの誤記述例 S T TLl d
㊤Ⅰ NSo 且 (se rver. exa mple. ac. j p・
root・ se rver・ e x
ample・ ac・ J p・
20040331 00 ; Se ri al 3 h
l h 7d 25 迦 )
図 3 :RFC 2 3 0 8 に準 拠 した SOA レコー ド記述例 ( BI ND 8 ,BI ND 9 用)
らない。
3. 1 ネガテ ィブキ ャッシュ TTI J
RFC2 3 0 8[ 8 ] に よ り、 SOA レコー ドの mi ni mum TTL の意味 が、その ゾー ンのデ フォル ト TTL か ら、
ネガテ ィブキャッシュ TTL( 名前がないことのキャッシュ 期 間)に変更 された。しか し多 くのサーバで 、RFC1 0 3 5 や有力 な教科書 [ 2] の例 に挙 っていた 1 日 ( 86400 秒) に設定 されている
。正 しくは数十分 にす るべ きとされ る ( RFC23 0 8 の例 で は 1200 秒 となってい る) 。 図 2 、 3 参照。
調査 した範囲では、既存の自動生成 ツールには、 mi n‑
i mum TTL に 86400 秒 を与 えてい る ものが少 な くな い。 プログラムの修正 は簡単 なので、利用者 はただち に変更す るべ きであ ろ う
。なお ゾー ンのデフ ォル ト TTL は、 BI ND 8,BI ND 9 で は、 SOA レコー ドではな く、 S TTL 指令 で指定 す る 。 なお BI ND 9 で は S T TL 指令 は必須である
。既 存 の 自動生成 ツールには、 S T TL 指令 を理解 していな
い ものがある
。この ようなツールは BI ND9 との併用 に堪 えない とい え よう
。3. 2 Ⅰ J ameDel egat i on
上位 ドメイ ンのサ ーバ か ら指 定 され て い る ネー ム サーバ ( 正確 には上位 ゾー ンか ら NS レコー ドで委譲 されてい るサーバ)が DNS サ ーバ として正 しく稼働 していない とき、この不正 な ( 下位 ゾー ンへ の)委譲 を La mede l e ga t i on とい う
。原 因 としては、下位 ゾー ン の DNS サーバが正 しく稼働 していない事例 もあ るが、
上位 ゾー ン下位 ゾー ン間での NS レコー ドの不一致や、
下位 ゾー ンでの NS レコー ド CNAME レコー ドの不 適切 な使用 も少 な くない。
この ように、 NS レコー ドは DNS の運用 に とって デ リケー トな情報 であるため、 自動生成 ツール を設計 す るにあた って は、 NS レコー ドの誤記述 を起 こさな い よう、配慮 が必要であ る
。ソフ トウェア設計 の方針 に もよるが、 DNS 管理者 が明示 的 に NS レコー ドを 指定 した とき、ツールは、 DNS 管理者の指定 を尊重 し て、何 もしない くらいが適切 とい えるだろ う
。3. 3 CNAME
ゾー ンファイルの記述 におい て、 CNAME レコー ドは濫用 されが ちであ る
。これ は、 プログラマのセ ン ス として、物理 レベルに近い名前 よ りも、抽象度 の高 い名前 を多用す るべ きとい う意識が あ り (ここ まで は 正 しい) 、そのために CNAME レコー ドを使 用 しよう と考 える ( これは正 しくない)こ とによる
。しか し、一 般 に CNAME の使用 はな るべ く避 けた方 が よい。 た とえば CNAME のチェー ンの段 数が多 くなる と、 ク ライア ン トの実装 に よって は I P ア ドレスが引 けな く なる危 険があ る
。また NS レコー ドや MX レコー ド は CNAME を指 してはいけない ことになっている [ 7 ]
。並列す る複数のサ ーバ に同 じホス ト名 を与 えて負荷バ
ラ ンス を図 る ラ ウ ン ドロ ビ ン DNS は、複 数 の A レ コー ドを記載す るこ とに よって実現 す るのであ って、
CNAME によるのでない。
CNAME レコー ドは、更新時の変更箇所 の減少 を期
待 して使用 される傾向があるが、ゾー ンファイルの 自
動 生成 を前提 とす るな ら、 この 目的 に CNAME を使
用す る必要 は無 い。 CNAME レコー ドの弊 害 を考 え
る と、 自動生成 ツールは、不必要 な CNAME レコー ドの生成 を控 える よう努 めるべ きとい える
。4
自動生成 ツールの設計 と実装教育文化学部 の DNS サーバ、お よび、同情報科学 研究室 の DNS サ ーバ において、ゾー ン情報の管理 の ため に使用 している、ゾー ンファイルの 自動生成 ツー ルの設計 と実装 について述べ る
。4. 1 設計方針
当サ イ トにおいて、 DNS のデー タを更新す る管理 者 は計算機 の専 門家 とは限 らない。そのため、 DNS デー タの更新 に関 しては、簡潔な処理で済むことが基 本原則 となる
。次 の ような方針で ツールを作成 した。
● デー タを更新するに当たって実行するコマ ン ドは、
エ デ ィタお よび一種類 の コマ ン ド ( ma ke コマ ン ド)のみ とす る
。make コマ ン ドの実行 に よ り、
ゾー ンファイルの更新 を行なうだけでな く、 DNS サ ーバ に、その ファイルを再読み込み ( r e l oa d) さ せ る
。● デー タ間の依存 関係 に従 い、マス ターファイルの 更新 (もしマス ター ファイルが複数 あれば、その うち一つにで も更新)があれば、確実にゾーンファ イルが更新 される ようにす る
。。冗長性 を持 たないマス ターファイルか らゾーンファ イル を自動生成す る
。デー タベース設計の原則 と して知 られているとお り、データの冗長性は、デー タ更新 時 に矛盾が入 り込 む原 因 となる
。・ ドメイン ( 正引 きゾー ン)ごとにマス ターファイル を持つ。 これは、マ シン管理 は ドメインごとに行 なわれ る と考 えるか らである
。。 自動生成 を行 なうのは、原則 として A レコー ドお よ び pTR レコー ドのみ とす る。 SOA,NS,MX
,CNAME レコー ドは、管理者が手動で記述す るべ
き情報 と考 え、マス ター ファイルの更新 ご とに 自 動生成す るこ とは しないこととした。ただ し管理 者 の負担低減 のため、初期値 としてのテンプ レー
トの 自動生成 は行 な う
。・設定 ファイル ( name d・ c onf ) は 自動生成 しない。
。複数 ドメインを同時に管理で きる
。一つのサブネ ッ ト( 逆引 きゾーン)に、複数の ドメイン( 正引 きゾー ン)のマ シンが存在す るようなサ イ トであ って も、
適切 な逆引 きファイルを生成す る
。・ マス ターファイル、ゾーンファイル、ゾー ン(ドメ インお よび逆引 き ドメイ ン)間の関係 を Ma ke ak 生成 ファイルに記述 し、そこか ら Ma ke 丘k を ( 辛)
自動生成す る
。以下、若干の補足 をす る
。この ようなサーバ管理用 のツールの作 成 にあたって は、 どこまでの作業 をツールの担 当範 囲 と して設計す るかの判断が、使 い勝手 の善 し悪 しに影響す る
.一般 に、過剰 な仕事 を して しまうツールは、 「よけい なお せ っかい」 をす る として、敬遠 されがちである
。( 過去 に自作 した ものを含む)既存 のツールの使用や、
DNS サーバの管理経験か ら判断 して、 SOA レコー ド、
NS レコー ド、 CNAME レコー ド、 MX レコー ドの 自 動生成 は、一般 に、労力の軽減 につ なが らないばか り でな く、 ときとして 「よけいなおせ っかい
」す なわち DNS 管理者 に余計 な手 間 を とらせ る こ とが あ る
。こ れ らの資源 レコー ドは、 自動生成す る価値 が低 い とい える
。しか しなが ら 、DNS サーバ運用開始時において、( 特 に、経験の少 ない DNS 管理者 に とって) 、 これ らの資 源 レコー ドの記述 の見本があるこ とは心強い。そのた め、本 ツールでは、初回に一度 だけ、管理す るゾー ン に適 当 と考 え られるゾー ンファイルのテ ンプ レー トを 生成す ることに した。
同様 に BI ND 用 の設定 ファイルの生成 も、 「よけい なおせ っかい」 と考 えて、行 なわない こ とに した。既 存のい くつかの DNS 用 ツールは 、BI ND 用 の設定 ファ イルを生成す る
。特 に BI ND 8 以 降、設定 フ ァイルが 複雑 になったため、 この機能は、一見 、便利である よ うな印象 を受 ける
。しか し BI ND を適切 に運用 しよう とする と、た とえ設定 ファイルが 自動生成 され ようと、
BI ND の機能 をよ く理解 した上 で、細 かい設定 を記述 しなければな らないので、 自動生成 した ところで、結 局、二度手 間 となって しまう
。なお 、設 定 ファイル を手 軽 に作 りた い用 途 には、
BI ND 8 の配布 ファイルに、 BI ND 4 用設定 フ アイ
‑2 8 ‑
ルか ら BI ND8 用 設定 ファイル‑ の変換 ツールが梱 包 され てお り、 それ を利 用 す るこ とが で きる
。4. 2 ファイル生成 の依存 関係 の 自動抽 出
本 ツールの特徴 と して、複数 ドメ イ ンの管理が可 能 で、一つのサブネ ッ ト内 に複数 の ドメイ ン ( 正引 きゾー ン)のマ シ ンが混在 す るネ ッ トワー ク構成 であって も、
適切 な逆引 きファイルを生成で きる とい うものがあ る
。マ ス ター ファイル は ドメイ ンご とに用 意 され るため、
マ ス ター フ ァイル と、最終生成物 であ るゾー ンファイ ル とは、多対多 の関係 になる
。Uni x オペ レーテ ィン グシス テ ム に は、古 くか ら、
ma ke とい うツールが提 供 されて い て、 これ を使 用す るこ とで、ファイル間のデー タ依存 関係 に従 って、ファ イル生 成 プ ログラム を実行 す る手続 きを、 自動化 す る こ とが で きる。ゾー ンフ ァイルの生成 も、 ma k e のパ ラ ダイム に則 ってお り、本 ツールで も、 ma ke コマ ン
ドに よって ゾー ンフ ァイルを 自動 的 に生 成す る
。しか しなが ら ma ke に よって、 フ ァイルの生成処理 は 自動 化 され るが 、 mak e コマ ン ドの処 理手順 書 であ る Ma ke f il e を、 どの よ うに作 成 ・保 守す るかが問題 と して残 る
。Ma k e f i1 e の作成 ・保 守 には、一定規模以上 の ソ フ トウェア シス テ ム を C 言 語 で作 成 した経験 の あ る プログラマ程 度 のスキルが要求 され る ( 正確 には、
そ の ようなプ ログ ラマ 以外 Mak e f il e を記 述す る経 験 が稀 で あ る) 。 これで は、 DNS の ゾー ンフ ァイル を直 接 メ ンテナ ンスす る よ りも、 ゾー ンフ ァイルの 自動 生 成 ツール をメ ンテナ ンスす る方 が難 しい とい うこ とに な って しまう
。管 理 す るゾー ンが追加 にな った場合 、割 当て られた I P ア ドレス ブロックが変更 になった場合 (これは DNS 的 には、逆 引 きゾー ンが変更 になる こ とを意味 す る) 、 また BI ND 9で複 数 の ビュー を扱 うこ とに した ( あ る い は扱 うビューの数 を増や した)場合 、 Ma k e 別e の変 更 が必 要 になる
o大規模 なサ イ トで は、 これが負担 に な る こ とは、容易 に予想 で きる。 また経験上 も、ゾー ンフ ァイル生 成 のための Ma k e B1 e を正 し く、つ ま り、
フ ァイルの依 存 関係 を見落 とさず に記 述す る こ とは、
そ れ ほ ど容易 なこ とで はない。
以上 を考慮 し、本 ツールで は、 Ma k e Bl e を自動生成 す る プ ログラム を用 意 し、管理 す るゾー ンが追加 、変 更 された り、 ビューが追加 された ときには、 Ma ke B1 e
を生 成 し直 して利 用す る もの と した。
4. 3 ファイル
本 ツー ルが扱 うフ ァイル は、表 1 に示 す とお り
。マスター ファイル この形式 は / e t c / hos t s と同 じもの であ る。す なわち、行形式 のテキス トファイルで、各行 には、 I P ア ドレスお よびホス ト名 ( 複 数 で も可)を記 載す る。空行 お よびシャープ記号 ( #)か ら行末 は無視 さ れ る
。本 ツールの仕様 として、ホス ト名が FQDN( Ful l Qua l i 丘e dDoma i nNa me ) であ る、す なわ ち ドメ イ ン 名 を含 む完全形式 で あ る場 合 、正 引 き情事鋸ま他 の ドメ イ ンで登録 され てい る と解釈 し、逆 引 き情報、す なわ ち、 PTR レコー ドのみ生成 す る
。イ ン クルー ドファイル 拡 張 子 . i ncl を持 つ フ ァイ ルは、 ゾー ンフ ァイル にイ ンクルー ドされ る フ ァイル であ る
。この フ ァイルは、通 常 、マ ス ター フ ァイルか ら、後述 す る bos ts2a コマ ン ド、 hosts2 ptr コマ ン ドに よって生 成 され る
。テ ンプ レー トファイル . t mpl の拡 張子 を持つ フ ァイ ルは、 ゾー ンフ ァイルの テ ンプ レー トであ る
。フ ァイ ル形式 はゾー ンフ ァイル と同 じで あ る
。ただ しシ リア ル番号 の部分 だけ Qserial no Q と記 述す る
。本 ツール を使用 す る場合、 SOA,NS,MX レコー ドは、 この テ ンプ レー トに記載す る
。ゾー ンファイル BI ND に よって読 み込 まれ る、最終 形式 の ファイ ルであ る
。4 . 4 実装
本 ツールは、複 数 の シェルス ク リプ トを ma ke か ら 呼出 して利用す る構 成 になってい る
。本 ツール を構成 す る コマ ン ド群 を表 2 に示 す。
hos t s 2a コマ ン ド / e t c / ho s t s 形式 のマ ス ター フ ァイ ルか ら正 引 きイ ンクルー ドフ ァイル を生成 す る
。hos t s 2pt r コマ ン ド / e t c / ho s t s 形式 のマ ス ター ファ
イルか ら逆 引 きイ ンクルー ドフ ァイル を生 成 す る
。表 1:生 成 ツールが扱 うフ ァイル 拡張子 フ ァイル
. hosts 等 /e t c/hos t s 形式 のマス ターフ ァイ ル
. zone 等 ゾー ンフ ァイル
. tmpl ゾー ンファイルのテ ンプ レー ト( 初 回のみ生成 )
. incl ゾー ンフ ァイルか らイ ンクルー ド され る、マス ターか ら自動生 成 さ れ た フ ァイル
. coun t シ リアル番号
表 2: 生成 ツール を構成す る コマ ン ド コマ ン ド 役割
h o
sts
2ah o
sts
2ptr m
ak
e.
zo ne m
ake
it m pl m
ak
e ・d e pe n d c
on
f igu re
A レコー ドの生成 PTR レコー ドの生成 ゾー ンフ ァイルの生成 テ ンプ レー トの生成 依存 関係 の分析 Make丘l e の生成
m ake. 2 1 One コマ ン ド テ ンプレー トファイルお よびシ リアル番号 フ ァイルか ら、ゾー ンフ ァイルを生成す る
。m ake. tm pl コマン ド ゾー ンごとのテ ンプ レー トファ イ ル を作 成 す る
。m ake. depend コマ ン ド SⅠNcLUDE 指令 の連鎖 を追 い、 フ ァイルの依存 関係 を分析す る
。conf igure コマ ン ド 本 ツールが正 しく動作 す るため に は、 デー タ間の依存 関係 を見落 とさず に、マス ター フ ァイルの更新 をゾー ンフ ァイルに反映 させ なけれ ば な らない。 このため Make丘1 e の正確 さが重要 であ る
。現在 の実 装で は、生成すべ きゾー ンフ ァイル、お よび、
中間ファイルの生成規則 を、別途、ファイル ( 図 4、5 ) で 明示 的 に与 えるこ とに よ り、 Make丘1 e を半 自動 的に生 成す るように している。コマ ン ド名 は、 GNU aut oc onf に な らって conBgur e と した。
zo nefileexternal・ zone example・ ac・ Jp zo nef土1e i nternal・ zone e
xa皿Ple・ ac・ Jp zo nefileglobal・ re v O・ 0・ 1 0・ Ⅰ Ⅳ‑ADDR・ ARPA zo neflle i ntra net. rev 1. 1 68. 192. ⅠN‑ ADDR. ARPA hostsfile/etc/hosts exa 叩 1e・ ac・ j p
図 4:フ ァイルードメイ ン対応定義 hosts2a /etc/ hosts > external. i ncl hosts2a /etc/ hosts >i nternal. i ncl
hosts2ptr 1 0. 0. 0 /etc/ hos ts > global. i ncl hosts2ptr 192・ 1 68. 1/etc/ hos ts > i ntra net・ i ncl
図 5: 中間 フ ァイ ル生成規則
5
使用法本 ツー ル を利 用 して DNSサ ーバ の管理 を行 な う場 合 の作 業手順 を述べ る
。5. 1 準備
DNSサ ーバ ( BI ND 8また は BI ND 9; ビュー機 能 を利 用す るな らば、BI ND 9 が必要) 、お よび、そ の設 定 フ ァイル ( named. conf ) を用 意 してい る こ とが前 提 であ る
。BI ND 9 で あれば、 コマ ン ド制御用 の鍵 を準 備 してお く必 要 があ る
。named. conf で指定 したゾー ンファイル を置 くデ ィレ ク トリに、本 ツール を展 開す る
。ユ ーテ ィリテ ィ ・プ ログラム群 が bi n デ ィレク トリに置 かれ る
。このユ ー テ ィリテ ィを利用 可能 にす るため に、 bi n デ ィレク ト リで conf igur e お よび make を実行す る 。 c onf igur e 時 に、 ゾー ンフ ァイルの再読 み込 み のための コマ ン ドを 指定 しなけれ ば な らない。詳細 は README を参照。
5. 2 メタ情 報 の記述
新 し く運用 を開始 す る とき、管理 す る ドメ イ ンが追 加、あるい は、変更 になった とき、以下の作 業 を行 な う
。bi n デ ィレク トリの作業が終了 した ら、ゾー ンファイ ルの置 かれるディレク トリに移動す る
onamed. conf に 合 わせ て、 Make別e. def とい うファイル にゾー ンフ ァ イル とゾー ンの対応 を記述する ( 図 4) 。さ らにマス ター フ ァイルの指定 も行 な う
。複 数 の ドメイ ンを管理 す る
‑ 30‑
場 合 は、マ ス ター フ ァイル も複数 になる
。次 に中間 フ ァイルの生成規則 を t r ans l a t e. s h とい う フ ァイル に記述す る ( 図 5) 。正 引 きの 中間 フ ァイル生 成 は
hosts2a master >incZ , ude
逆 引 きの 中間 ファイル生成 は
hosts2 ptr address master >i nc乙 ude と記述す る
。ここで m as t e rはマス ター ファイルの名 前 、 addr es sは逆引 きゾー ンのネ ッ トワー クア ドレス ( I P ア ドレスの最初 の 3 オ クテ ッ ト) 、 また は、 i n‑
addr . ar pa ドメインのゾー ン名、i nc l udeは生成す るイ ンクルー ドフ ァイルの名前 であ る
.イ ンク) i , ‑ ドフ ァ イルの名前 は、通常 、ゾー ンファイルの拡張子 (. zo ne 辛 . rev) を . i ncl に した もの にす る
。これ は、後述 す るテ ンプ レー トフ ァイルに、 この名前 の フ ァイル を イ ンクル ー ドす る とい う記 述が含 まれ るか らで あ る
。イ ンクルー ドの有 向 グラフが把握 で きていれば、 フ ァ イル名 を他 の もの に して構 わない。
M akef il e の生成 以上の用意がで きたなら 、c onf igur e コマ ン ドに よ り Mak e f il e が 自動生成 される
。Make f il e だけで は、ファイルの依存 関係 の情報が不完全 なので、
" ma kede pe nd" を実行す る
。5. 3 日常の運用
マス ター フ ァイル を編集 L ma ke コマ ン ドを実行す れ ば、 フ ァイルの依存 関係 に従 い、ゾー ンファイルが 生成 され、 DNS サーバ によって読み込み直 される。通 常 は、 これ だけの作 業で よい。
ゾ ー ン フ ァイ ルの再 読 み込 み ( r e l oad) の方 法 は、
BI ND のバ ー ジ ョンに よって も、そのサ イ トの運用方 針 に よって も異 なる
。管理者権 限 を必要 とす る方法 を とる場合、 make コマ ン ドの実行 も管理者権 限が必要 である
。も し再読み込みの方法 を変更す る場合 は、 bi n デ ィレク トリで、再度、 c onf igur e お よび ma ke をや
り直す。
6 他のソフ トウェアとの比較
6. 1 h2m
DNS 管 理 の代 表 的 な教 科 書 で あ る " DNS a nd BI ND"[ 1 ] で も紹 介 され て い る、 / e t c / hos t s 形 式 か
らゾー ンフ ァイル形式へ の変換 ツー ルが h2 mであ る
。/ e t c / hos t s 形式 の ファイルをマス ターフ ァイル とす る 点 で、本 ツール ( に含 まれ る hos t s 2a お よび hos t s 2pt r コマ ン ド)は h2 n と類似 してい る
。重 要 な相 違点 は、
h2 mが単独の コマ ン ドで、すべてのゾー ンファイルを生 成す るの に対 し、本 ツールは、複数 のユ ーテ ィリテ ィ・
コマ ン ドの組合 わせ で動作 す るこ とであ る
。その ため h2 mの方が、利用法の習得が容易である
。一万、本 ツー ルの方が、管理上の柔軟性 が高 い。
また一般 に、ゾー ン情報 の一部 には、 自動生成 で は 対応 しきれない もの も存在す るが、その ような情報 の 扱 いが、 h2 mと本 ツールで は異 なる 。h2n で は、接頭 辞 と して s pcl. の付 いた名 前 の フ ァイルが存在 す れ ば、その ファイル をイ ンクルー ドす る指令 を、 ゾー ン フ ァイルに埋 め込 む ようになってお り、 自動生成 しな い情報 は s pcl. ファイルに記述す る
。h2 m利用上の注意点 現在配布 されている h2 n の コー ドは 、SOA レコー ドの mi ni mum TTL が RFC1 03 5回 で例示 されている 1 日の ままであるこ と ( RFC23 08[ 8 ] で意味が変更 になってお り、数十分が推奨値 ) 、デフォ ル トで はホス トご とに MX レコー ドを生 成 す る こ と が、実運用 上、問題 となる
。また、サ ーバ の設定 に よ るが、 NS レコー ドは、デ フォル トで hos t na me コマ ン ドの出力結果 を使 う
。そのため、親サ ーバ で登録 し た NS レコー ドと食い違 っている と 、l amede l e gat i on が発生 して しまう
。実際 にこの ツール を利用 してサ ー バ を運用す る場合 は、 これ らの点 に注意す る必要 があ る
。h2n 以外の類似 ツール も同様 の問題 を抱 えている こ とが多いので、同 じ注意が必要 である
。実運用 にあたっては mi ni mum TTL については、生
成 された フ ァイルの値 を変更 してお く ( h2 mは、既存
の SOA レコー ドがあれば、 その値 を尊重す る よ うに
なっている)か、 h2n の ソース コー ド中の値 を変更す
るべ きであ る
。また、 MX レコー ドや NS レコー ド
は、 自動生成 に頼 らず、 オプ シ ョンや s pcl. フ ァイ
ルで明示 的 に指定す るべ きであ る
。6. 2 mkrdns
DNS のゾー ンファイル管理 において、特 に省力化 を 図るべ き事項が、逆引 きファイルの作成であ り、 この 逆引 きファイルの生成 に特化 した機能 を持 つ ツールが mkr dns ( http: //www. mkdrns. org/) である
。mkr dns
は、 BI ND の設定 フ ァイル ( name d・ c onf ) の情報 に基 づいて、 どの正引 きファイルか らどの逆引 きファイル を生成すれば よいか を判 断 し、 A レコー ドを転置 した PTR レコー ドを生成す る
。mkI ・ dns は、他の DNS サーバで作成 されたゾー ン情 報 に基づいて、逆引 きファイルを生成す ることがで き
る とい う点で、 h2n や本 ツールに比べ て優 れている
。複数の ドメイ ンが複数のサブネ ッ ト間 にモザ イク状 に またが っている LAN においては、適正 な逆引 き情報 を提供す るには、 mkr dns の ようなツール を併用 する こ とは有益 である
。6. 3 dj bdns
BI ND の次 に有力な DNS サーバの実装 として知 られ てい るのが dj bdns である
。dj bdns の作者 は、 qma i l の作 者 と して知 られる D.
∫.Be ms t e i n であ り、実行 性能、お よび、セキュリテ ィ面 において BI ND よ りも 優 れてい る
。ゾーンファイルのメンテナンスの観点か らも d j bdns は優 れてい る
。ファイル形式 は独 自だが、理解 は容易 である
。A レコー ドの記述 をす るだけで、内部で 自動 的 に逆引 き情報が生成 され る
。一方 で柔軟性 もあ り、
逆引 き情報 を生成 しない A レコー ドや、 A レコー ド と関係 しない PTR レコー ドの記述 も可能である
。現在 、 dj bdns は BI ND 9 の ビュー機能 に相 当す る 機能 を持 ってお らず、この点では不利である
。しか し、
dj bdns 運用の最大 のネックになるのが、他 の Uni x の システム管理 ソフ トウェアとの操作性 ( 操作感)の違い であ ろ う。 この こと自体 は、 ソフ トウェアの短所 とな る ものではないが、普及の妨 げ となっている要因の一 つであ る
。6 A W ebmi n
WWW を イ ン タ ー フェイ ス と し て 、サ ー バ の シ ス テ ム 管 理 を行 な う ツ ー ル が We bmi n
( h
ttp‥ // www・ web
min・ co m/)で あ る [ 9] 。 ウェブ ブ ラ ウザ をユ ーザ ・イ ンターフェイス とす るこ とがで きる ので、 Uni x の操作 に熟練 しな くて も、 システム管理 を行 な うこ とがで きる
。DNS の管理 も we bmi n で行 な うこ とがで きる。正
引
き情報 か ら逆 引 き情報 を自動生成す るこ と もあ り、
メ ンテナ ンス は、全般 に容易である
。しか しなが ら、
複数 ドメインや、複数 ビュー を持つ ような、中 ・大規 模 サ イ トの管理 は、 さほ ど容易 になるわけで はない
。7
今後の課題M ake丘l e の 自動生成 本 ツールは、 日常 の運用 には、
ほぼ差 し支 えない水準 に達 しているが、管理す る ドメ イン( ゾー ン)が増 えた とき、 Make f il e を作 り直 さなけ ればな らない。半 自動 的に隼成す ることで、 Make f il e の文法 ミス は発生 しな くなるが、本 ツールの中間フ ァ イル生成の流 れ をよ く理解す る必要があるため、やや 難解 である
。よ り広 く利用者 を募 り、 コメ ン トにそ っ た見直 しをすべ きであろ う
。よ り大規模 なサイ トでの運用 秋 田大学全体の ドメイ ンを管理する DNS サーバ も、外向 き、内向 きに分 けて 運用 しているが、現行の運用 は難解で、保守作業 に支障 を来た しかねない。本 ツールを拡張 して適用す るこ と で、保守作業 を容易 に したい と考 えている
。 /e t c / hos t s 形式のマスターファイルを‑箇所 に用意で きないので、
サ ブ ドメインか らゾー ン転送 された情報 をうま く処理 す ることが、拡張の主眼 となる
。謝辞
本 ツールの前バ ージ ョン も含 め て、実際 に利用 し、
コメン トを くだ さった、徳島大学総合科学部助教授 中 島浩二氏、元秋 田大学教 育文化学部助教授 浅沼大 海 氏、教育文化学部環境情報講座技官 成田堅悦 氏 に感謝
します。
参考文献
[]‑]