プロローグ

2011年4月14日(木)19:00よりApple Store, Ginzaにて、Mac OS X Server勉強会主催の第17回「Mac OS X Server Night!」が開催されました。

今回は、Mac OS X Serverが搭載している各種サービスのうち、DNS、ファイアウォール、NAT、NTP、SNMPを採り上げて、設定・運用方法の紹介を行いました。


Mac OS X Server勉強会

「Mac OS X Server勉強会(略称MOXSSG)」では、みんなで楽しくMac OS X Serverの勉強をしています。レクチャー、ハンズオン、プレゼンテーション、ディスカッションなどを通じて、Mac OS X Serverの知識、技術の習得、理解を深めることを目的に活動を行っています。

定例勉強会 Mac OS X Server Night!

Web: http://www.moxssg.com/
Twitter: @moxssg、#moxssg

技術紹介: Mac OS X Serverでのサービスの利用法 〜 DNSについて
[株式会社スプラッシュ - 竹内康二氏]

サーバの機能

「DNS」(Domain Name System)とは、インターネット上で、ドメイン名とIPアドレスの間での名前解決をしてくれるしくみのことです。このしくみのおかげで、ドメイン名ベースでのインターネット通信が実現しています。

たとえば、「blackout.splash.jp」のIPアドレスの問い合わせを受けたDNSサーバは、

  1. ルートサーバ
  2. 「jp」を管理するDNSサーバ
  3. 「splash.jp」を管理するDNSサーバ
の順に問い合わせを行って、「splash.jp」のゾーンにある「blackout.splash.jp」のIPアドレスを取得します。このとき、問い合わせるDNSサーバはルートサーバの、ルートサーバは「jp」の、「jp」は「splash.jp」のDNSサーバのアドレスを知っているので、1→2→3の順での問い合わせが成立し、最終的に「blackout.splash.jp」のIPアドレスが取得できます。


Mac OS X Serverでの設定

サーバ管理の「DNS」で設定を行います。設定画面で、自身で管理するゾーンのネームサーバ、メールサーバ、Webサーバ等の、ホスト名とIPアドレスの対応関係を設定します。 設定画面で行った設定は
/var/named/zones/db.example.com.zone.apple
に書き込まれます。手動でも追記できます。GUIを使えば、ゾーン名の記述方法、シリアル番号の更新、逆引き設定といった煩わしいことを意識しないで、かんたんに設定ができます。


使用上の注意

基本的にGUIはDNSサーバに関して一定の知識がある管理者に向けのツールと考えるのがよいようです。ただし、初心者向けにも、視覚的に見やすい設定画面を備えているので、触りながら覚えていけそうです。
OpenDirectoryをはじめ、Mac OS X ServerのサービスはこのDNSサーバの動きに依存しているものが多いので、設定がきちんとできていないと他のサービスが動かないということもあります。

技術紹介: Mac OS X Serverでのサービスの利用法 〜 ファイアウォールについて
[MOXSSG - 飯島基文氏]

サーバの機能

インターネットのさまざまな脅威、サーバを保護するための機構を備えています。主にパケットフィルタリングを行っており、サーバソフトのベースにはBSD系の「IPFW」(パケットフィルタリング型のファイアウォール)が使われています。


Mac OS X Serverでの設定

サーバ管理の「ファイアウォール」で設定を行います。デフォルトで機能をオンにすると、インターネットからネットワーク(LAN)を保護するというよりは、サーバ自身を保護するように動作します。 具体的な設定は、アドレスグループ(IPアドレスの集合体)レベルで、アクセス制限を行います。


設定上の注意

より細かい設定を行うときは、下記のファイルを手動で編集します。
/etc/ipfilter/ipfw.conf
/etc/ipfilter/ip_address_groups.plist
GUIでは、基本的に"パケットを許可する"チェックしか付けないので、所定の項目にチェックを付けないとアクセスが拒否されます。アクセスを許可したいIPアドレスのグループ化、それぞれのグループに使わせるポートの決定といった、マクロ的なポリシー設定を行ってから、GUIでチェックを付けていくのが適当といえそうです。AppleのNetwork Service Administrationやコマンド「man ipfw」で、より詳しい説明が得られます。

技術紹介: Mac OS X Serverでのサービスの利用法 〜 NATについて
[MOXSSG - 飯島基文氏]

サービスの機能

「NAT」(Network Address Translation)は、ローカルアドレスとグローバルアドレスの相互変換を行う機能です。手動で設定ファイルを追記することで、ルータと同様に機能させることもできます。


Mac OS X Serverでの設定

GUIでの設定項目は少なく、下記の2つのみ設定可能です。
  • IP転送のみ
  • IP転送とネットワークアドレス変換


設定上の注意

細かい設定を行うときは、下記の設定ファイルを編集します。
/etc/nat/natd.plist
ただし、GUIだけでは、ルータと同様に機能させることはできません。ローカルネットワークに複数台のマシンを配置してルータと同じような使い方をする場合(PPPoEでの接続の場合)には、外側、内側それぞれのインターフェイスの定義などの追記が必要なようです。 また、NATを使うときは、ファイアウォールを有効にしておかないと動作しないとのことです。

技術紹介: Mac OS X Serverでのサービスの利用法 〜 NTPについて
[MOXSSG - 杉原智幸氏]

サービスの機能

ネットワークを利用して、機器の時計を正確な時間に同期させるためのプロトコルです。時間をミリ秒単位で修正するだけでなく、内蔵時計の進み具合の度合い(drift)も修正します。インターネット上のネットワークタイムサーバは、原子時計やGPSなどから正確な時間を取得しています。


Mac OS X Serverでの設定

「システム環境設定」の「日付と時刻」でNTPサーバのIPアドレスまたはドメイン名を入力して、「日付と時刻を自動的に設定」にチェックを入れます。カンマで区切れば、複数のサーバを指定できます。そうして、サーバ管理で「ネットワーク・タイム・サーバ(NTP)」のチェックを付けるだけで動作します。


設定上の注意

confファイルは特に設定する必要はないとのことです。NTPを利用する場合、できるだけ近いロケーションのNTPサーバを参照した方が誤差(通信による遅延)が少なくなります。また、ネットワーク内でサービスを起動させると、トラフィックを低減させる効果もあります。国内のタイムサーバでは、情報通信研究機構(NICT)のタイムサーバが比較的遅延が少ないようです。なお、Mac OS X Serverのバージョン10.6以上は、デフォルトではIPv6での接続を試みるので、NTPサーバによってはIPv4アドレスで明示的に指定しないといけないようです(ntp.nict.jpなど)。

技術紹介: Mac OS X Serverでのサービスの利用法 〜 SNMPについて
[MOXSSG - 新藤隆氏]

サービスの機能

「SNMP」(Simple Network Management Protocol)は、ネットワークに接続された機器を、ネットワークで監視(管理)するためのプロトコルです。監視を行うサーバに監視ツールを、監視対象サーバにSNMPエージェントをインストールし、監視サーバから対象サーバにポーリングを行って状態を監視します。障害を感知した場合には、障害感知メールなどを管理者に送信します。SNMPで監視可能な項目には、次のようなものが挙げられます。
  • A) 実メモリー空き容量
  • B) NIC送信バイト数・受信バイト数
  • C) パーティション使用率 / パーティションの空き容量
  • D) コマンド実行結果 / シェルスクリプト実行結果
  • E) CPUロードアベレージ


Mac OS X Serverでの設定

Mac OS X Serverには、SNMPエージェントがデフォルトでインストール済みです。監視サーバを別に立てて、そちらに監視ツール(ZABBIX、NAGIOSなど)をインストールし、サーバにポーリング(SNMPポーリング)を行うのが比較的かんたんな手順のようです。 設定は、基本的にSNMPエージェントの設定ファイル
/etc/snmp/snmpd.conf
を編集します。基本的な設定項目は、下記の2つです。
  • コミュニティ名(パスワードのようなもの)
  • 接続できるサブネットを設定する
これだけで、上記のうちA、Bの情報が収集できるようになります。 そのほか、serveradminコマンドを使うなどして設定ファイルを追記していくことで、サービスの稼働状況が監視できるようになります。


設定上の注意

エージェントは、Mac OS X Server対応の監視ツール専用エージェントが存在しないので、SNMP専用エージェントを使います。SNMPエージェントはLinux系OSで使われる「NetSNMP」なので、Linux環境と同様の感覚で設定、運用が行えます。

事例紹介: 計画停電サーバ分散プロジェクト
[MOXSSG - 新居雅行氏]

Mac OS X Server勉強会で行った「計画停電サーバ分散プロジェクト」の紹介がありました。このプロジェクトは、2011年3月11日の東日本大震災を契機に開始された、東京電力、東北電力の計画停電の状況について、検索サービスを提供するものです(URLは下記参照)。

もともとは新居氏が単独で始めたところ、震災の翌週明けころからアクセス数が飛躍的に伸び、東電のグループ組みやスケジュール設定が目まぐるしく変わったことでデータベース更新に関わるシステム的な負荷が上がるなどして、新居氏だけではフォローし切れなくなりました。そこで、勉強会メンバーに分散化の協力を依頼し、試行錯誤の末、安定してサービスを提供できる状態になったとのことです。

なお、最盛期では、検索リクエストが1秒間で2回ほど(7,000回強/h)ほどあったそうで、その度に3万件ほどの住所データの検索が行われたわけです。 現在は、3台のサーバで分散していますが、当面は計画停電が実施されないので状態は落ち着いています。来月の勉強会では、アクセス解析を中心にサービスの検証を行い、夏に実施予定の停電に向けて再度分散化を構想を練っていくとのことです。

計画停電サーバ分散プロジェクト: http://tden.me/

認定トレーニング: 認定試験紹介 [MOXSSG - 新居雅行氏]

アップル認定資格や認定試験についての紹介が行われました。試験制度についての説明のほか、アップルの公認トレーニングセンターとしてダイワボウ情報システムの紹介や、受験の場所や日程、方法などの概要が説明されました。なお、だいたいのところでWindowsでの受験となるそうです。

詳しい内容は受付サイトのこちら

https://training.exid.jp/

エピローグ

次回の告知をして閉会となりました。 次回の「Mac OS X Server Night! #18」は、2011年5月12日(木)の19:00よりApple Store, Ginzaで開催です。バックアップの題材として、タイムマシンサーバの機能を利用した事例紹介ほか、ライトニングトークなどを行う予定です。


次回の予告