タイトルBrowsing Mac OS X》Mac OS X ServerをDNSサーバにするカテゴリーネットワーク管理, ネットワーク, Browsing Mac OS X
作成日2001/6/11 17:19:18作成者新居雅行
Mac OS X Server 10.0が発売された。MDOnlineでは基本的なことなどの詳細な記事はまだお届けしてはいないが、実際にテスト運用を開始し、その内容をチェックし始めている。Mac OS X Serverに関連することも、Browsing Mac OS Xのコーナーでお届けしようと思う。とは言いながら、いきなりコアな話になってしまうのではあるが、ある意味ではすでにサーバを運用している人にとっては興味深い話ではないだろうか。

Mac OS X Server 10.0(以下バージョンは省略)は、文字通りサーバのOSであり、さまざまなサーバ機能が利用できる。ファイルサーバ、プリントサーバはもちろん、Webサーバ、メールサーバなどの機能があり、一般的なサーバ機能はほとんど網羅できると言えるかもしれない。また、そうした機能を、管理ツールを用いて管理ができる。管理ツールは、サービスごとにアイコンが並び、メニューから処理を選んで、設定はウインドウで行うというものだ。つまり、普通のアプリケーションのように使えるのである。管理ツールはサーバマシン上はもちろん、別のMac OS Xのマシンからもリモートで管理ができる。多くの一般的な設定は管理ツールでできるが、さらにssh(Secure Shell)でログインしての管理もできるわけだ。いわば、UNIXサーバの機能をMacライクに使えるというのがいちばんの大きな特徴だろう。
ネットワーク機能としては、DNSサーバの機能も含まれていることになっている。DNSとは、たとえばmdonline.jpというドメイン名から、実際にサービスを提供しているサーバのIPアドレスを取り出したり、あるいは逆の処理を行うものだ。Webやメールを始め、インターネットの利用には欠かせないものである。プロバイダに接続する場合、プロバイダが接続ユーザに対してDNSサーバを提供しているので、そのIPアドレスを指定するだけでよい。一方、常時接続をしているようなネットワークサイトでは、自分でDNSサーバを運用しなければならないこともある。
DNSサーバを運用するという場合、自分自身のドメインを機能させるために、サーバを立てるというのがまず1つの大きな理由だ。その場合のやり方は一概にはこうだとは言えないが、基本的には上位のドメインの方式に従って、いろいろな設定を行う必要がある。サーバを立てるだけではなく、ドメインを管理しているデータベースの情報を書き換えるなど、作業はいろいろ大変だ。これで1冊の本が書けるくらいでもある。
一方、自分でドメインは管理しないけども、LAN内の各マシンから利用できるDNSサーバが必要だという場合もあるだろう。たとえば、ADSLなどの常時接続回線を引き、8IP(実際には6つになる)のうち1つのIPアドレスでIPマスカレードを行って、社内の30台のパソコンからインターネットアクセスをしたいというような場合だ。そのとき、特に自社内でサーバは立てないとか、あるいは自社ドメインの管理を完全にプロバイダにまかせてしまうこともある。それでも、接続プロバイダでDNSを用意してくれないのなら、ドメインの管理は行わないもののLAN内のクライアントからの名前解決要求だけを行うDNSを立てる必要も出てくる。もっともその場合は原理的にはどこかのプロバイダのDNSサーバをちゃっかりお借りすることも不可能ではないのだが、使われた側は処理データが増えたりとたまったものではない。最近では、そうしたことができないように、IPアクセス範囲を制限しているDNSサーバもあるだろう。一方で、いろいろな制約はあるがDynamic DNSとして、ドメイン名とIPアドレスの変換処理をサービスしてくれるサービスもある。いずれにしても、DNSを立てるとは一言で言っても、実際の状況はサイトによって千差万別だと言えるだろう。

□Mac OS X Serverに含まれるDNSサーバ
さて、Mac OS X Serverは、DNSサーバの代名詞とも言えるBINDが最初からインストールされている。Ver.8.2.3-RELが組み込まれているソフトウエアのバージョン番号だ。Ver.8系列では、8.2.4がリリースされているが、細かいバグ修正が中心で、大きな変化はない。また、Ver.9.1.2もリリースされているが、Ver.9系列は署名やIPv6対応などとなっている。BINDのサイトではいちおう、9.1.2の利用を勧めているが、最低限8.2.3を使うようにと記載されている。BINDはいろいろなセキュリティホールが出てはそれをつぶしていったが、8.2.3は知られているセキュリティホールはない安全なバージョンだと言えるようで、その意味では普通に使う分には基本的に大丈夫なバージョンとして、8.2.3が入っていると思われる。
Mac OS X Serverは、管理ツールがあって…という話を最初にしたが、残念ながらDNSに関してはこの機能はあてはまらない。もちろん、管理ツールにDNS関連の機能は含まれているのだが、事実上そこを使っての管理はできない。まず、各種設定は、自分で設定ファイルを作らないといけないので、その点は他のUNIXサーバと同じである。また、サービスの起動や終了は、管理ツールにメニューはあるものの、実際にはそれは稼働しないようなのである。特に起動時に自動スタートができない。
では、どうすればいいのだろうか。設定ファイルは、エディタを使って自分で作り込むしかない。詳細は関連書籍などを参照してもらうとして、次のポイントを知っておけばいいだろう。まず、設定ファイルのいちばん基本になるnamed.confファイルは、/etcディレクトリに作る。このファイルはもともと作られているので、修正をすることになる。ルートになってviあるいはpicoといったエディタで作業をすることになるだろう。また、named.conf内で指定はあるが、実際のゾーンに関するファイルを、/var/namedディレクトリに保存する。このディレクトリも作られているので、後はゾーン設定のファイルを作ればよい。最初からあるdb.exampleなどの設定ファイルを参考にするといいだろう。いずれにしても、BINDの既定値通りだとも言えるだろう。
こうして設定ファイルを作ってしまえば、namedとコマンドを入れたり、ndc startなどとコマンドを入れれば、DNSは起動する。管理ツールから見える情報はきちんとゾーンを認識していないような気もするが、とりあえずはDNSとしては動くようだ。だけど、管理ツールで起動時にサービスを開始するような指定はなく、自動的には起動されない。そこで、起動時にDNSを起動するスクリプトはないものかと思ったら、やっぱりあった(大津さんありがとう!)。「Installing BIND on Mac OS X 10.0.1」というサイトに、DNSサーバを起動するスクリプトが用意されている。このサイトの「Making BIND launch at startup」というところに用意されている。ダウンロードすると、DNSというフォルダができるので、それを、/System/Library/StartupItemsというフォルダに入れておけばよい。そして、/etc/hostconfigファイルに、「DOMAINNAMESERVER=-YES-」という行を追加しておく。これで起動時にDNSサーバが立ち上がる。DNSサーバを立ち上がらないようにしたいのであれば、/etc/hostconfigファイルの追加した部分を「DOMAINNAMESERVER=-NO-」などとすればよく、DNSフォルダをどけるようなことはしなくてもかまわない。

◇Installing BIND on Mac OS X 10.0.1
 http://www.qwerta.com/macosx-bind-howto.html

こうして、DNSの自動スタートは何とかなった。Mac OS X Serverにはいろいろな機能はあるが、絶対に必要な機能はとりあえずは何とかうまく動いている。Mac OS X Serverは前のバージョンの1.2までの印象が世間には広まっているが、そのバージョンから見ると、大きく違っている。やはりVer.1.2までは、NeXT色が強かったが、Mac OS X Server 10.0は、むしろMac色が強いと言えそうだ。一方で、UNIX的な使い方ができると言えば合わせたメリットのようにも見えるが、言い換えればそれらの設定をうまく折り合いをつけないといけないという場面も出てきそうだ。たとえば、Apacheの設定ファイルはやはりあるのだが、闇雲に設定ファイルをいじるのではなく、基本的にはまずは管理ツールを使って設定を行う。それ以上のことがしたいときに設定ファイルを触るというような手順になると考えられる。そうしたノウハウをこれから積み上げることになるだろう。
MDOnlineでは、Mac OS Xだけでなく、Mac OS X Serverについても、もちろんいろいろと情報をお伝えしていきたい。
関連リンク