図 - みる会図書館


検索対象: UNIX MAGAZINE 2006年2月号
171件見つかりました。

1. UNIX MAGAZINE 2006年2月号

図 19 rndc refresh をマスターサーバーに対して実行した結果 (a) refresh コマンドの実行結果 冖マスターサーバーに対してコマンドを送る $ rndc ー s : 192 .168 . 1 . 1 : refresh example . com zone refresh queued ーソーン更新要求が受け付けられた ? (b) DNS サーバーのメッセージ # /usr/local/sbin/named ー 9 17 ー 12 - 2005 1 : 12 : 30 . 921 ・ zone example . com/工 N: ばゾーン中幻去をおこないます。 cannot refresh: no masters: retransfer も refresh と同様、更新したいゾーン名を指 定し、 rndc —s 192.168.10.1 retransfer example . com のように実行すれば、マスターサーバーからスレープサー ノヾーに example.com ゾーンの情報が送られます。 refresh コマンドと retransfer コマンドには、次のよう な違いがあります。 ・ refresh : 最初に SOA レコードのシリアル番号を比較 し、シリアル番号か哽新されていればゾーン転送をおこ ・ retransfer : SOA レコードのシリアル番号とは関係な く、強制的にゾーン転送をおこなう。 refresh コマンドの失敗イ列 refresh コマンドを使うときは、間違えすにスレープサ ーバーに接続してください。ゾーン転送の要求はスレープ サーバーカ咄すため、マスターサーバーに接続してもゾー ン輯医は起こりません。 図 19 は、マスターサーバーに対して refresh 要求を送 った様子です。図 19 ー a のように、 zone refresh queued とういメッセージが出力されるので、 refresh コマンドが成 功したと思うかもしれません。 しかし、 DNS サーバー ( マスターサーバー ) のメッセー ジ ( 図 19 ー b ) をみると、、、 cannot refresh: no masters と表示され、ゾーン輯去に失敗しています。 DNS サーバーは、いったんは refresh のリクエストを 受け取ったものの、指定された example.com ゾーンのス レープサーバーではないため、ゾーン転送を要求しません 108 ・ゾーンの転送は発生しなかった し、自分からスレープサーバーにゾーン情報を送りつけた りもしません。 ☆ てください。指定できるコマンドの一覧か表示されます。 卿未がある方は引数を付けずに rndc プログラムを実行し こでは紹介しなかった rndc のコマンドもあるので、 ます。 インしなくても、リモートから DNS サーバーを管理でき rndc プログラムを利用すれば、 DNS サーバーにログ などを、後半ではプログラムの使用例を中心にお話ししま ・セキュリティを守るための設疋 ・ named. conf ファイルの変更 ・疋ファイル rndc. conf の作成 前半ではこのプログラムを使う前準備として、 とりあげました。 今回は、 DNS サーバーを制御する rndc プログラムを UNIX MAGAZINE 2006.2 ( あらい・みちこ Rworks)

2. UNIX MAGAZINE 2006年2月号

ワークステーションのおとーー 0 図 3 やつばり 18GB しかない Customize fdisk Partitions for Disk: c1t0d0 On this screen you can create and delete fdisk partitions for the selected disk. TO change the size, type, or location Of an existing fdisk partition, you must first delete it , and then create it from scratch. NOTE: You must create a S01aris fdisk partition on any disk you want to use tO insta11 S01aris software . Partition Type 1 2 3 4 く unus ed> く unused> く unused> く unused> Capacity : A110cated: Size 0 0 0 0 18230 MB 18230 MB 図 4 BIOS では 73GB と言哉されている HBA ID LUN VEND OR PRODUCT 0 0 0 SEAGATE ST373207LC SYNC WIDE 0002 320.0 16 REV Start Cy1inder 0 0 0 0 CAPAC ITY 73412 MB 0 7 0 LSILogic LS11030 [ http ・//sunsolve.sun.com/pub-cgi/getpatch.pl? documentId=119443 402 ] 1032920 320.0 16 X86 版 SoIaris 10 3 / 05 を一部のディスクにインス トールする場合は、 sd ドライバをアップデートしないと いけないようです。詳しいインストール手川頁は「 SunOS 5.10 86 : ITU for sd patch 119375 ー 03 」 9 という文書 とパッチに書かれています。そこで、指示どおりにしてみ ることにしました。 まず、上の文書に含まれる itu. sd. 119375 ー 03 (SoIaris ITU Diskette image file) をフロッピーディスクに書き 込みます。 DOS 用の書込みツールも付いているので、操作 自体は簡単です。しかし、勤務先ではフロッピーディスク はもちろん、 FDD 付きの PC を買った覚えもありません。 フロッピーディスクは近くのコンビニエンス・ストアで 売っていることを、また、 FDD はちょうど借りていた PC サーバーに付いていたことを思い出して切り抜けました。 次に、 solaris 10 3 / 05 の DVD メディアを DVD- ROM ドライプに入れて起動し、、、 SunOS Secondary Boot version 4.02 " と表示されたあと、何もキー操作をし ないと、、 solaris Device Configuration Assistant" とい UNIX MAGAZINE 2006.2 documentId=119376 9 http://sunsolve.sun.com/pub-cgi/getpatch.pl? う画面 ( 図 5 ) になります。 F4 キーを押し、、、 Add Driver" を指示します。すると、 画面はまず、、 Bus Enumeration 、しばらくすると図 6 の lnstall Supplemental Drivers こで、作っておいたフロッピーディスクを入れて F2 " に変わります。 になり、ディスクを選ぶと、 SSCreate Solaris fdisk Par- やがて、 OS のインストール先ディスクを選択する画面 るので、インストールを続けます。 最初の、、 Solaris Device Configuration Assistant" に民 では、 F4 キー (Done) を選んでさきに進みます。これで、 tinue Supplemental Driver lnstallation という画面 Loading Supplemental Driver S0ftware" と、、 Con ー ら、、、 SoIaris 10 " を選んで F2 キーを押します。その次の Solaris 10 用のドライバが入っていることを確認した す ( 図 7 ) 。 キーを押すと、 Solaris のバージョンの確認を求めてきま と表示され、今度は 70GB 近くだと認識されています。そ [ ] Manua11y create fdisk partitions [ ] On1y create a boot partition ( 16 MB) ( 69994 MB) [ ] Use entire disk for S01aris partition partitions ( 69994 MB) [X] Use entire disk fo て S01aris and boot tition - の画面で、 135

3. UNIX MAGAZINE 2006年2月号

図 15 rndc stop と rndc halt" の実行結果 (a) op コマンドを実行したときの DNS サーバーのメッセージ 23 : 13 : 14 . 617 23 : 13 : 14 . 618 23 : 13 : 14 . 621 23 : 13 : 14 . 621 23 : 13 : 14 . 627 # /usr/local/sbin/named (b) ha はコマンドを実行したときの DNS サーバーのメッセーシ 16 ー Dec ー 2 0 0 5 2 3 : 0 8 : 3 0 . 2 3 5 16 ー Dec ー 2 0 0 5 2 3 : 0 8 : 3 0 . 2 3 2 16 ー Dec ー 2 0 0 5 2 3 : 0 8 : 3 0 . 2 31 16 ー Dec ー 2 0 0 5 2 3 : 0 8 : 3 0 . 2 3 0 16 ー De c ー 2 0 0 5 2 3 : 0 8 : 3 0 . 2 3 0 # /usr/local/sbin/named 16 ー Dec ー 2 0 0 5 16 ー Dec ー 2 0 0 5 16 ー Dec ー 2 0 0 5 16 ー Dec ー 2 0 0 5 16 - Dec ー 2 0 0 5 ー 9 変更された情報を更新 shutting down: : flushing changes 三 s し 0P0 土 ng command channel on 192 .168 .10 . 1 # 953 no longer listening on 127 . 0 . 0 . 1 # 53 no longer 1 土 s し en 土 ng on 192 .168 .10 . 1 # 53 exiting 情報を更新せずに即座に停止 shutting down stopping command channel on 192 .168 .10 . 1 # 953 no longer 1 土 s し en 土 ng on 127 . 0 . 0 . 1 # 53 no longer 1 土 s し en 土 ng on 192 .168 .10.1 # 53 exiting 図 16 rndc reload ' の実イ丁結果 (a) reload コマンドの実行結果 $ rndc reload server reload successful ←設定ファイルの読込みに成功した 17 ー Dec ー 2 0 0 5 0 0 : 0 9 : 0 9 . 412 17 ー Dec ー 2 0 0 5 0 0 : 0 9 : 0 9 . 4 0 6 17 ー Dec ー 2 0 0 5 0 0 : 0 9 : 0 9 . 4 0 3 17 ー Dec ー 2 0 0 5 0 0 : 0 9 : 0 9 . 4 02 : # /usr/local/sbin/named (b) DNS サーバーのメッセージ ・ load 土 ng configuration from ・ /etc/named. conf ←設定ファイ丿レが読み込まれた ー 9 ソーンファイルが読み込まれた ↑ :zone north. example . com/IN: loaded serial 2005101604 : . nor 土 n 日 . confiq file 10 日日土 n 日 statement due t0 一日 0 に土 on no 工 Pv6 interfaces found 分ゾーン転送によって送られた最新情報が反映されていな いときは、マスターファイルを更新してから DNS サーバ ーを停止します。 これに対して、 halt コマンドは情報の更新をおこなわず、 ただちに DNS サーバーを停止します。 図 15 は、 stop コマンドおよび halt コマンドで DNS サーバーを停止したときに、 DNS サーバー側で表示され るメッセージです。くらべてみると、 stop コマンドでは、 DNS サーバーの停止前に、変更された情報を更新 (flush- ing changes) していることが分かります。 言又疋ファイルの読込み rndcreload コマンドは、 stop コマンドとともによく 使われるコマンドです。以前に、動作中の DNS サーバー 106 に設定ファイルを再読込みさせる方法として、 HUP シグ ナルを送る方法を紹介しました。 kill -HUP DNS サーバーのプロセス ID reload コマンドです。図 16 ー a は reload コマンドを実行 これをもうすこしスマートにおこなえるようにしたのが 定で動作するようになります。 を実行すれば、 /etc/named. conf を読み込んで新しい設 DNS サーバーか慟作しているホストで上記のコマンド UNIX MAGAZINE 2006 . 2 ・ north.example.com のゾーンファイル /etc/named. conf ログメッセージをみると、 DNS サーバーか、 出力するログメッセージです。 したときの様子です。また、図 16 ー b は DNS サーバーが

4. UNIX MAGAZINE 2006年2月号

連載 / Linux のツールたち 1 . 57288 : 710 list 1 eblook> search list 図 5 eblook による舌の検索と表示 2 . 57289 : 776 3 . 57289 : 1652 4 . 57290 : 36 5 . 57290 : 908 1ist2 list 3 list 4 list 5 eblook> content 1 list 1 [1 く gaiji=ha227>st] く reference> →く gaiji=zb124> く /reference=77657: 166 > く gaiji = 加 121 > Ⅱ . 表 , 一覧表 , 目録 , カタログ , 名簿 , リスト ; 明細書 , 価格表 (price list); LIST PRICE く /reference=57294:O>; 上場株の一覧表 , 全上場株 . of members 会員名簿 . ・ close the ~ 募集を締め切る . ・ lead [head] the ~ 首位にある . ・ make a ~ 。 f ・・・を表に作る . ・ on the active [reserve, retired] ~ 現役 [ 予備役 , 退役 ] で . 一番 [ びり ] で及第する . ・ pass first [last] 0 Ⅱ the く reference> → 0Ⅱ the danger list く /reference=72935 : 1238 > く reference> → on the sick ~ く /reference=72953 : 376 > く gaiji=zb121>vt . 1 ・・・の一覧表 [ 目録 ] を作る , 列挙する ; 目録 [ 名簿 ] に載せる , 記載する ; く株・証券を〉上場する ; く reference> → ENLIST く /reference=51284: 1076 > . 2 [rflx. ] 位置付ける . 《古》 く gaiji=zb121>vi. く商品が〉値段表に記載される ; 《古》く reference> → ENLIST く /reference=51284: 1076 >. く prev> く reference>lis ・ som(e) [1 く gaiji=ha227>s く gaiji=ha14c>m] く /reference=57288: 192> く /prev> cf . G Liste] CF く lt . く Gmc . ・ This car —s at $ 10 , 000. この車は 1 万ドルで売られている . く next> く reference>list 2 く /reference=57289 : 780 > く / Ⅱ ext > eblook> ■ emacs / 、び男自力ロ言 図 6 ~ / ・ (autoload 'lookup "100kup" nil t) (autoload 'lookup—region "lookup ー nil t) (autoload 'lookup—pattern '1100kup" nil t) (setq lookup—search—agents (ndeb "/ext/dict/eijiro") (ndeb " /ext/dict/j itenban-pro" ) て辞書にアクセスする " という末です。 UN 工 X MAGAZINE 2006.2 15 、 M ー x " は、 ESC キーを押してから x キーを拑す - ことを意味します。 の辞書に対する串刺し検索がおこなわれます。 たた態になっているので、 こで検索を実行すると、複数 いています。図 7 の初期画面ではすべての辞書が選択され の一覧が表示され、検索対象の辞書の頁には、、 * " 印カ咐 各辞書パッケージに含まれるすべての辞書 ( サプブック ) 示されます。 lookup. el (lookup. elc) カ売み込まれて図 7 の画面が表 Emacs を起動し、、、 M-x lookup" 15 を実行すると、 図 7 lookup のネ騏月画面 File Edit Options Bu s T00 Help ′ pe 、・ t0 3 を c し、 u ・ t0 unseLect, 、 ? ・ for he em 託、光 ho 、れ l( 光 doma ⅲ を工 d 日れ fie 【 ・ ndeb+/ext/dict/eüiro:eiJiro ・れ deb ◆ / ex / d え ct な 1 i 「 0 : 第日 e え , ndeb+/ext/d1ct/ei2iro ryaku ・れ deb + / ex し / dict ん 1 ] i 【 0 : 【 ex ] i 英部 能謔部 准山 od 第く〉 ・れ d + / ex し / d10 し / レ i-p 【 0 : k0 ⅵえ en 広 電く〉 ・れ deb + / し / dic レ」 it あに p 「 0 : ade 【 3 研ー 単語を検索するには、まず、、 f " をタイプします。すると、 Emacs のエコー領域に SLook up:" というプロンプトが 表示されるので、検索する単語を入力してから Enter キー を押すと、検索結果カ咽 8 のように表示されます。この図 はキーワードとして、、 magazine" を指定した場合の例です 159

5. UNIX MAGAZINE 2006年2月号

図 6 言綻か変更され、反映されていない状態 の一 0 0 衂 図 7 [Apply Changes] ボタンを押すと反映される AppIyOunges 、 6 一材をゾ』いむ 0 い き ) YO リ「 CO 9 リ「新 00 ( h3000 を 0 「 0 釶 00 をん y 5 リ bm を d. 0 ⅵを ba 0 network 5 を ng General 図 8 ドメイン名とインターフェイスの言 0db000 加 AMC き 0 0 ・ き dmini 、レき冊 i00. When 出 0 finished, op をれ new b 「 0W5 ・「 ・ YO リ「 3n00 を wtll reqwre AMC tO 「をと碼 which will を nd your ・徹 ・ App 00 とれ 00 will ′・式 0 杙・ 0 「ⅵと nd CIO 0 Ⅱ 0 をと「れれとⅸ iO れ øCAtJ11mé 0000 AMC リ n 新市 0 "Pending 物 0n00 引 me 090 d 0PP00 門・ ice を be 「 05 ね代 ed and might 栖 k ・ & few min リ【・ 8 ・ 0 を . ・ nd dont b 「 OW をを tO ・ noth ・「 リ 0 出 p 0 tO 叩が y 000 0 リ′ 6 朝 on と n00 引 00P0n 山 00 on YO リ「 ng 出 may r 色 q リⅳ色 国立天文台のネットワー 図 9 アプライアンス名と各インターフェイスの言 rnt 曾 n 山 n 断ー 2 ( 叩 t 曾 2 ) A 当 n00 n 「 00 : M る n090 00n 朝 0 リ「 0 れ on fO 「 0 ne ~ WO 戓た 0C0. COt 浦 0 ー t k lnt ・ と dd 5 引 ー 92 靆 2.0 」 t をⅳき 0 を 5 をを d : 100 Mbps ん d リ 0 x ・ 「 Enoble ・ x をを′ 0 引ⅲ t イと 00 EX ⅳ " れ t 一 e ( 記叩い 1 ) A リを 0 ー徹円イ ac 瞽 5 00 : IP dd 「色 55 : S リ bn 社「 0 と sk : Su ト 0 01 sk : 0001 物ー n301 を : を w k れ t 一“ Name 「 Enable ICMP p 95 ーれ te a ( 0 ! を rn External A dre 、、 1 鯰 1 01 Net れ 10 、 k 255.255.25 0 ) : 第 Xd ) 第第いゞウい」 ので、下部にある [Apply Changes] ボタンを押すと反映 されます。なお、 SSL ユーザーカ舸ログインしなけれは有 効にならない設定もあります。 それでは、設疋を始めましよう。 IP アドレスとホスト名は、、、 System Configuration の、、 Network Settings" で設疋します。図 8 の GeneraI タブで、ドメイン名 ( 今回の例では nao-example.org/ を入力し、、、 Enable ICMP pings" で ping への応答 (ICMP ECHO RepIy の送信 ) の有無を指定します ( セ キュリティ上、チェックしないほうが無難です ) 。設疋後、 [Save] ボタンをクリックし、、、 Network lnterfaces" でア プライアンス名と IP アドレスを言定します ( 図 9 ) 。 さきほど述べたように、 EX ー 750 にはインターフェイス が 2 つあります (lnternal と ExternaI)0 たとえば、フ ァイアウォール ( や NAT) の内部と外部のセグメントに それぞれ接続する場合は、外側のインターフェイスを有効 にし ( 、、 Enable external interface" をチェック ) 、外部 UNIX MAGAZINE 2006 . 2 用の IP アドレスを設定します。インターフェイスの速度 は、自動認識 ( オート・ネゴシェーション ) か、または手動 で 10 / 100 / 1 , 000Mbps 、全二重または半二重を選択しま す。一部のスイッチでは自動認識がうまく働かない場合が あり、つながっても、 EX ー 750 側は全二重、スイッチ側は 半二重になっていることがあります。後々の手間を減らす ためにも、 EX ー 750 と接続してからスイッチ側の接続状況 を確認し、一致していない場合は双方ともに手動で設定し ましよう。 次は、糸各の設疋です。 Network Settings の Routing タブを選択し ( 図 10 ) 、デフォルト・ゲートウェイの設疋 (Default gateway IP address) をおこないます。 2 つ ( 外部と内部 ) のインターフェイスを利用する場合は、外側 インターフェイスにおけるデフォルト経路を設定し、内側 への経路については動的・静的糸各設定で追加します。動 的な経路プロトコルとしては、 RIP (vI/v2) に対応して います。 DNS 関連の設定は、 Network Settings の Name Res- olution タブでおこないます。 DNS サーバー ( 3 台まで ) の登録、検索するドメイン名を言古します。 WINS サーバ ーも登録できるので、これも利用する場合はあわせて設定 しましよう。 次に、時刻の設定と AMC へのログイン時に使う管理者 アカウントを設疋します。左フレームの System Config- uration の General Settings" を選び、 GeneraI Set- tings タブで時刻とタイムゾーンを指定します。 NTP を 利用する場合は、表示されているリンク (System set- tings の Servers のなかの NTP 設疋 ) をクリックして 59

6. UNIX MAGAZINE 2006年2月号

国立天文台のネットワーク 図 25 アドレスプールから IP アドレスかり当てられた を技常お知こ入り : ッ 第外しス 0 冫プ二 : 図 23 From に対してレルムやユーザーの指定が可能 0 S 0 は which リ 5 を and 0r0 叩、 yO リ wa f を r を nc d. TO define と 02W リ 5 を「 0 「 0r0 リ 0n6 Of 物 0 New b リ 0 れ . 3 、ⅱま朝ヤに物自 y' . 3 State を " にを物øte 「ⅲ : C •n ⅱ ( 0- 迂信ⅸ SQEret 当 . 「「給 t a 物 0 「ローカルエリア接続 : M ⅱ 3 S い、 : 体 a 市当 1 レⅱ第い T は一 Cmnect れ -8 純 [ 督ⅸ A 「鮗 3. S. Enet 物虫 . Cefault G . い矼町を「 : 3 にヨド池ををⅣ癬ョ三ョ ) AventailÆ Show: : d 物市を 0 を 、 New Gro リ 0 8 N と物 Lj 「 マ 00 ねリ lt iurutY 宿 af リ庁社 NAO ・ TEST ReaIm Type 00 、 ( rip 0 れ Any リ se 「 TEST Realm 出「 0 引 m Used fO ′ n m not 35500 ted with と specific comrnuntty L03 ーリ 5 TEST USER TEST Commumty TEST Name Anr Com「0リ0代第 Any ようこぞ m の、制 " ASAP 有 0 P 0 ・ 0 in を叩 0 ” " 0 0 「 ・ま 3 disx:cn-ecfed Any : 192.1 . 1 . 加 : 255 、 255 、 255.255 WorkPIace のホーム画面が表示されます。この画面は、 VPN の状況、接続のログアウト操作、内部リソースへの リンク、ファイル共有へのアクセス機能、 Web リソースア クセス機能などで構成されます ( 若干のカスタマイズも可 能です ) 。 接続すると自動的にオンデマンド・トンネルに必要なソ フトウェアが起動し、、、 PPP adapter Aventail Smart Tunnel " カ乍成されます。図 25 のように、 IP アドレスプ ールから IP アドレスが割り当てられ、通信可能なことが 確認されました。 いったんトンネルが張られると、各送信先ホストごと にホスト経路が設けられるので、経路表には大量のホスト 経路が設定されます。また、さきほどのトンネル設定で Redirect all" を選択した場合は、すべての通信がトンネ ルへ振り向けられます。したがって、 VMware などを用い たホスト PC とゲスト OS 間の通信でもトンネル側へルー ティングされるため、障害が発生することがあります。 の点については、運用上の注意が必要です。 次に、オンデマンドではなく、コネクトトンネルで接続 してみましよう。コミュニティ (NAO-TEST) の設疋で Access Methods を選び、、 Smart tunnel access の 、 Connect TunneI" を選択します。この方式を利用する 場合は、 Windows に、 Aventail Connect with smart tunneling" というソフトウェアをインストールする必要 があります 10 。インストール後は、 Windows の、、ネット ワーク接続 " で、、 AventaiI VPN Connection" をクリッ クし、図 26 の画面でユーザー名とパスワードを入力すれ 10 このソフトウェアは、 ASAP WorkPlace のホーム画面の、アクセス工 ージェント " からダウンロードできます。 SSL VPN ログイン画面 図 24 1 ~ , 、 , イルのし \ をツ - 、ヘル壑第 ー 0 郎 - 0 ・』圄第 検常・お第に人りをいに、 アドレス 0 ・ h ! い、 / / 準”” / ASAP WO 「 k 円 a ( 2 ログインしてください ここかをロツイ : 民・て、ネットワークリソースへの安全な物を設定ノます。 接続テスト こまでで、とりあえずの VPN 接続に必要な最低限の 定が完了しました。さっそく、接続テストをしてみます。 接続クライアントは、 Windows XP Professional SP2 十 IE6 という構成です。 オンテマンド・トンネルの接続テスト VPN 接続の開始は簡単で、 Web プラウザで以下のよ うな URL を指定し、 EX ー 750 へ HTTPS でアクセスし https : //vpn ・ nao—example ・ org/ 接続後、証明書の信頼性に関する警告カ俵示されたら ( 自 己署名証明書を利用しているので致し方ありません ) 、 [ は い ] をクリックします。すると、、、 ASAP WorkPIace" のログイン・プロンプトが表示されるので ( 図 24 ) 、ユー ザー名とパスワードを入力します。 認証後、自動的にトンネル接続がおこなわれ、 ASAP 0 65 UNIX MAGAZINE 2006.2

7. UNIX MAGAZINE 2006年2月号

ク・ミニ実験室の 図 17 ゾーン輯医によるゾーン情報の里 マスターサーバー ( 192.168.1.1 ) ① SOA レコードを取得。シリアル番号が 変更されていればゾーン転送を要求 ゾーン転送 ネットワー スレーブサーバー ( 192.168.10.1 ) example.com ゾーンの 情報のコピーを保持 example.com ソーンの オリジナルの情報を保持 ② examp 巨 com をゾーン転送 図 18 rndc refresh の実彳吉果 (a) 「 ef 「 esh コマンドの実行結果 冖スレーブサーバーに対してコマンドを送る $ rndc ー s 三 192 .168 . 10 . 1 三 refresh example . com zone refresh queued ーゾーン更新要求が受け付けられた を読み込んだことを確認できます。新しい設定内容が本当 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 9 5 4 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 9 5 4 192 . 16 8 . 10 . 1 # 1161 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 8 0 2 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 8 01 ・ # /usr/local/sbin/named (b) DNS サーバーのメッセーシ zone example . com/工 N: ・ zone example . com/工 N: ー 9 に沿い、 SOA レコードのシリアル番号か哽新されていれ ーンを更新させた例です。 refresh コマンドは上述の手順 図 18 は、 refresh コマンドを使って example.com ゾ おこなわせることができます。 ドを使えば、定期的なタイミングを待たずにゾーン転送を まうという難点があります。 refresh や retransfer コマン るまで、スレープサーバー側に旧いゾーン情報カってし この仕組みには、定期的なゾーン車幻去のタイミングにな する。 4. マスターサーバーが example.com のゾーン情報を車幻医 レープサーバーがゾーン車幻医を要求する。 3. SOA レコードのシリアル番号が更新されていれば、ス 2. マスターサーバーが SOA レコードを送る。 レコードを要求する。 1. スレープサーバーがマスターサーバーに定期的に SOA 手川頁で定期的にゾーン情報を更新します。 ーバーが起動したときに転送されます。また、次のような transfer Of 'example . com/工 N' from 192 .168 . 1 . 1 # 53 : end Of transfer transferred serial 2005121700 transfer Of 'example . com/工 N' from 192 .168 . 1 . 1 # 53 : connected using Transfer started. ← examp com ゾーンの転送の開始 た、それぞれの DNS サーバーは区別のために次のように によって他方の DNS サーノヾーへ送ることができます。ま DNS サーバーが管理しているゾーン情報を、ゾーン転送 図 17 のように複数の DNS サーバーがあるとき、一方の こで、ソーン車医についておさらいしておきましよう。 制御するコマンドです。 rndc refresh と rndc retransfer はゾーン転送を ゾーン情報の更新 確認してください。 に DNS サーバーに反映されているかは、 dig コマンドで 呼ばれます。 ・オリジナルのゾーン情報を管理している DNS サー をマスターサーバー ゾーン情報のコピーをもつ DNS サーバーをスレーブサ マスターサーバーが管理するゾーン情報は、スレープサ UN 工 X MAGAZINE 2006 . 2 ノヾー 107

8. UNIX MAGAZINE 2006年2月号

図 9 クラス宣言窈列 (UMBookmark. h) @interface UMBookmark { NSURL* _URL ; NSString* _title; + (UMBookmark*)b00kmarkWithURL : (NSURL*) ー (id) initWithURL : (NSURL*) URL ; —(void)dealloc; URL ; —(NSDictionary*)dictionaryRepresentation; CidAbc characterAtIndex : 1 ] ; CobjAbc characterAtIndex : 1 ] , id idAbc = @'tabc" NSObject* objAbc = @"abc" コードをみてみましよう。 タンス全般を表す型です。違いを確認するために、下記の のほかに id 型の変数でもオ内できます。 id 型は、インス @end —(void)setTit1e : (NSString*) title ; —(NSString*)tit1e ; この例は、 3 行目では警告が出ますが、 4 行目は正常に コンパイルできます。 28 メンバー変数定義 @interface クラス名 : 親クラス名 { 図 9 に示した例は、以下のような構文になっています。 よっ。 次に、クラスを自分で定義する場合の構文をみてみまし クラス宣言 ています。 該当する機能で、コードがすっきりと書ける仕組みになっ るデザインパターンの 1 つである NullObject2S ターンに ジはすべて無視されます。これは実際の開発でよく使われ す。 Objective-C では、 nil に対して送信されたメッセー Java や C 十十での null は、 id 型の定数 nil で表現しま コンパイラは警告を出さないのです。 dex : が送信されても、対応するメソッドがあるとみなして 取るかは言及していません。だからこそ、 characterAtIn- バであることを保証するだけなので、どのセレクタを受け レクタについても言及しています。一方、 id 型はレシー だということをコンパイラに示しているため、受け取るセ NSObject 型では、内されているのが NSObject 型 図 10 クラス実装びメ列 (UMBookmark. m) #import "UMBookmark. @implementation UMBookmark + (UMBookmark*)bookmarkWithURL : (NSURL*) URL { return [ [ [UMB00kmark a110C ] initWithURL: URL] autorelease] ; メソッド定義 @end メソッド定義は、、一 " から始まる行で、 ー ( [ 戻り値型 ] ) セレクタ名 : ( 引数型 ) 引数名 セレクタ名 : ( 引数型 ) 引数名 ; という書式で言杢します ( 誌面の都合上、で折り返して います ) 。また、、、十 " で始まる行はクラスメソッドの宣言 で、書式は雹のメソッドと同じです。 Objective-C には名前空間のための特別な構文がない ため、クラス名には名前空間を表すプレフィックスにの 例では、、 UM") を付けることカ雛奨されています。 クラス実装 図 10 は、上で宣言したクラスの実装です。 こまで、とくに断ることなくメソッド実装の構文を使 用してきましたが、 C とほば同じで、メソッド宣言の文に 続いて、、 { } " で実装を定義しています。 ただし、それだけではどのクラスのメソッドかカ吩から ないため、 -(id) initWithURL: (NSURL*) URL { [super init] ; URL = [URL retain] ; [self setTit1e: " NO Tit1e"] ; return se1f ; —(void)dealloc { C_URL release] ; [—title release] ; —(void) setTit1e : (NSString*) title { [title retain] , [—title release] ; _title title; @end UN 工 X MAGAZINE 2006.2

9. UNIX MAGAZINE 2006年2月号

図 20 作成したコミュニテイか表示される C 田頑 0R2 曲 n 000 引ー Comm 聞市 6 引 らは幽越い ( 0 皿 Re ー 図 22 ルールの画面 Add/Etit A ( ( 2 R ー Cr ・・ t00 「 n 、 0 山 fy an 303 れな引 r ⅵを . A comm リ n 叫 d ・ t 日「 m をん出みこ 08 、 5 m を新 Od 、代 b を 0 リ、 0r5 and ト 0 物を「をれ第 「 0 式 ri 005 0 placed on the をれ d 00 t d をⅵ ( 0. TO 5000fY which (0 「 nmunities 3 8 ⅱ ab in 物 iS な m ー chOO 、を 00e or 「 00 花 b 引 OW. Communities み「を m tCh ⅵ物 0 0 「 de 「行を d. リ dO れ 、 Nee.' ー 00 厄 Move リ 0 ・ Mo を 00W れ 物 5 引 qn 登 com「0リn叫第新を de 信 will トをを d. N リ庁あを′ : 00 、 200n : AetiOn. From A«essmethods ! い 3 第 000 4 第 1 ⅸ : 0 ! 30 数 3 ま津を 5 認協 Na れ 10 00 、 ( ptiO れ U$edfor 00Y 「 0 「れ n 50.. TEST 奩 permit 0 0 を ny 0 0 ab d Any 「 050 リ′ ( 0 Any@TEST 奩 u 鑢「 0 R を 50 し′ 図 21 ユーザー名とパスワードの言綻 ( / ヾスワードが短いと警告される ) Add/Etnt し出 CO 「 m p る驪 WO 「 d : The ぐレ y を 00 を hO 杙 . Pa ー 5W0 「 d : ・ TES い上モ R - 00 ; on•, TEST R ・一ー 0301 を : C 代 0 を 0 0 リミ 0 「 ina IOC 引朝「 0 は 0 8 天文台に納入された EX ー 750 の場合は、ソフトウェアのバージョンアップ これで VPN 接続は可能になりましたが、アクセス許 アクセス許可の言 を利用します 8 。 ード変更を可能にする場合は、 LDAP などの認証サーバー なうので管理者権限が必要です。ユーザー権限でのパスワ ます ( 図 21 ) 。なお、パスワードの変更は AMC 上でおこ 成時にレルムを選択し、ユーザー名とパスワードを入力し Groups" にある、、 Local Accounts" でおこないます。作 これは、、 Security Administration ' の、、 Users & ユーザー名とパスワードを登録します。 今回はローカルの認証データを使うので、 EX ー 750 上に ューザーの作成 ィをいったん削除して作りなおせば解決します。 ックして内部工ラーが生じた場合は、該当するコミュニテ を再作成します。また、コミュニティの設定中などにクリ Realms) に戻り、作成したコミュニティを指定してレルム 態なので、レルムの作成 ( 左フレームの Authentication 64 も必要になります。 Ch0050 物 0 00855 n10 を hOd を耘 0n1 w ん第 0 リ will con レ引 003 緡出「 050 リ「 : Any 0 5 0 は ed ・ w をト b 「”「 (HTTP/HTTPS) を凸を・ 0 ⅸ Ex が 0 「を「 (Web 0 ( を 5 を tO んを 5Y5 を・ m 「・、 0 し′こを 5 ) 得 A を 0 ⅱ Conn を改 d / 0 「 A を 0 ねⅱ 0 れ 0 を m nd ( TCP ハ円 Advanced Any Zone : Ch005 合物を ~ 00 を 5 om which you will p を「「 0 or deny ヨ 00e5 を tO 物「き、 0 リ rc ・ : 日記 P ntCon む ol ~ 肥、 今回は、レルム TEST からの通信をすべて許可する設 います。 ー A の利用は許可するといった細かな設定も可能になって 有のアクセスは禁止するが、 ( レルム A を用いた ) ユーザ 種類から選べます。たとえば、レルム A からのファイル共 HTTPS 通信 ) 、 Windows ファイル共有、トンネルの 3 点にあります 9 。アクセス方法としては、 web (HTTP と 先にグループやユーザー、レルムなどが指定できる ( 図 23 ) 能です。 Aventail のアクセス制御の特徴は、発信元や発イ言 対象となるアクセス方法 (Access methods) の設疋カ河 (Perrnit)/$äéf (Deny) 、送信元 (From) 、送信先 (To) 、 この画面では、一一般的なアクセス制御と同じように、許可 画面 ( 図 22 ) カ俵示されます。 で設定します。 [New] をクリックすると、、、ルールの編集 " スマートトンネルを利用する場合は、 Access Control でおこないます。 Administration の Access Control と Resources 可の設定をするまでは使えません。この作業は、 Security できます。 9 クライアントの月た兄や、 UDP/TCP 、ポート番号、時間などの条件も言定 定にしました。 UNIX MAGAZINE 2006 . 2

10. UNIX MAGAZINE 2006年2月号

図 1 専用の言がなけれは rndc 用の通信ポートは開かれない 00 : 3 9 : 58 . 83 6 00 : 3 9 : 58 . 847 00 : 3 9 : 58 . 904 0 0 : 3 9 : 58 . 9 05 0 0 : 3 9 : 5 8 . 9 08 0 0 : 3 9 : 5 8 . 913 00 : 3 9 : 58 . 914 00 : 3 9 : 58 . 919 00 : 3 9 : 58 . 924 # /usr/local/sbin/named 11 ー De c ー 2 0 0 5 11 ー De c ー 2 0 0 5 11 ー De c ー 2 0 0 5 11 ー Dec ー 2 0 0 5 11 ー Dec ー 2 0 0 5 11 ー Dec ー 2 0 0 5 11- Dec ー 2 0 0 5 11 ー Dec ー 2 0 0 5 11 ー Dec ー 2 0 0 5 11 ー De C ー 2 0 0 5 starting B 工 ND 9 . 3 . 1 ー 9 loading configuration from ー /etc/named . conf ー no 工 PV6 interfaces found 1 土 s に en 土 ng on 工 Pv4 interface 10 ー 127 . 0 . 0 . 1 # 53 rndc の設定ファイルがない listening on IPv4 interface eth0, 192 .168 . 10 . 1 # 53 none : 0 : open: 訌 / こ 9 / 三 E. 冫上え、、、彑と主之 . 、凸三、工 9 „: 00 : 39 : 58 . 913 三 couldn ー t add command channel 127 . 0 . O . 1 # 953 : file no に found: 土 gnor 土 ng config file 109g 土 ng statement due to ー 9 op む土 on ↑ zone north. example . com/IN: loaded serial 2005101604 1 # /usr/local/sbin/rndc status rndc : neither /etc/rndc. conf nor /etc/rndc. key was found となり、接続できません。 初期状態では DNS サーバー側に設疋がないため、 rndc コマンドのリクエストは拒否されます。つまり、外部から rndc で操作できないのでセキュリティ上は安全です。 設定ファイル 次は、 rndc の設疋をしてみましよう。 rndc を実行でき るようにするには 2 つの方法あります。 1. rndc. conf ファイルをイ吏用 2. rndc. key ファイルをイ吏用 1 の rndc. conf ファイルのほうが柔軟な設定をおこな えるため、 BIND9 ではこちらの方法カ材隹奨されています。 2 の rndc. key を使う方法は BIND8 との互換性のために 用意されています。ここでは rndc. conf を使った設疋を紹 介します。 rndc-confgen による言又疋 ドキュメントに沿って設疋ファイルを一から書いてもよ いのですが、最初に rndc-confgen でテンプレートを作 ってしまうのが簡単です。 1. rndc-confgen を実行し、表示される出力を rndc. conf 98 /etc/rndc. conf に出力された内容です。 図 2-a は上記の手川頁 1 を実行した様子で、図 2-b が 2. named. conf ファイルに設定を追加する。 ファイルに保存する。 rndc との通信路を開けなかった 設疋が終ったら、 named. conf を書き換えた DNS サー 完了です。 れば、手順 2 の、 named. conf ファイルに設疋を追加 " も と書かれているように、後半部分を named. conf に追加す the a110W list as needed: # Use with the following in named. conf , adjusting ントだらけですが、 rndc. conf の # で始まる行はコメントです。後半はコメ バーか動作しているホスト上で、 /usr/local/sbin/rndc status を実行してみてください。図 3 のように、 DNS サー の状態カ俵示されれは成功です。 「 ndc のリモート実行 ノミー 前節の例では DNS サーバーと rndc プログラムを同じ ホスト上で実行したので、混乱したかもしれませんが、 ・ DNS サーバーは named. conf の設疋を読み込む ・ rndc プログラムは rndc. conf の設疋を読み込む という関係になっています。 リモートホスト上で rndc プログラムを実行する場合は、 そのホストに rndc. conf をコピーしてください。そして、 rndc をリモートホストから実行できるように rndc. C011f と named. conf を書き換えます。以下では、これらの設疋 について説明します。 なお、 こでは図 4 に示したように、ホスト A ( 192. 168.10.100 ) 上で rndc プログラムを実行し、 DNS サー ー ( 192.168.10.1 ) を制御すると仮定します。また、 の DNS サーバーは north.example.com ゾーンを管理 しているものとします。 UNIX MAGAZINE 2006.2