2012年2月17日金曜日

Google Appsを導入しよう (BIND9設定編)

こんばんは。サイオステクノロジーの小川です。

最近、無償版の「Google Apps Standard Edition」で利用できる機能が増えてきて、便利に感じています。たとえば、シングルサインオンの機能は、以前まで有償版の「Google Apps for Business」でしか提供されていなかったのですが、現在は Standard Edition でも利用ができます

Standard Edition は 10アカウントまで作成ができますので、色々な用途で使い分けることができます。Googleサイトでサークルのホームページを作ったり、チームの連絡用にGmailを使ってみるのも良いかもしれないですね。

今回はGoogle Appsの導入でBIND9の設定について紹介します。また、併せてマスターサーバとスレーブサーバの構築の手順についても簡単に説明します。OSはCentOS5 系を使用しています。

< Google Apps の導入に必要なもの >
  • ドメイン
  • Google Appsは最低 1つのドメインが必要です。私は「お名前.com」様でドメインを取得しました。ここでは、Google Apps に登録するドメインを example.com として説明をさせていただきます。

  • DNSサーバ 
  • Google Apps の導入では、DNSサーバに登録した情報を Google が参照できる必要があります。インターネット上にDNSサーバを公開するので、ポート53番は解放します。取得したドメインのDNSサーバは自前のDNSサーバに設定を変更してください。

まだCentOSにBINDをインストールされていない方は、以下の手順でインストールします。
# yum install bind bind-chroot 
# yum install caching-nameserver
なお、CentOS6 系では caching-nameserver は bind に統合された為、インストールする必要はありません。インストールしようとすると、以下のようなメッセージが表示されます。
# yum install caching-nameserver
Package 32:bind-9.7.3-8.P3.el6_2.2.i686 already installed and latest version



1. マスターサーバの構築手順

1-1. BIND の設定ファイル named.conf を編集。
# vim /etc/named.conf 
< 追記項目の例 >
view "external" {
   allow-query { any; };
   recursion no;
   include "/etc/example.com.zone";
};
  • view
  • view の名称は特に決まりはありません。インターネットに公開している、外向けといった意味で「external」としています。

  • allow-query
  • すべての問い合わせに対して応答するよう any としています。Google Apps の導入の際に Google がDNSレコードを参照したり、メールのやり取りで不特定のユーザーが参照したりするので、必要な設定です。

  • recursion
  • DNSサーバへの問い合わせの応答は、このサーバが持っている情報だけ返せばいいので no にしてください。

  • include
  • named.conf の内容を別のファイルに分けて記述することができます。後述の example.com.zone のファイルを参照してください。

※ CentOS5系で caching-nameserver をインストールしている場合は、named.caching-nameserver.conf を利用して named.conf を作成することもできます。
# cd /var/named/chroot/etc/
# cp named.caching-nameserver.conf named.conf
# chown root:named named.conf
# ln -s /var/named/chroot/etc/named.conf /etc/named.ccnf

1-2. zone を記述するファイルを作成。
# vim example.com.zone
< 記述内容の例 >
zone "example.com" IN {
     type master;
     allow-update { none; };
     allow-transfer { xxx.xxx.xxx.91; };
     file "example.com.db";
};
  • zone
  • example.com ゾーンの設定を記述します。Google Apps で今後新しくサブドメイン oss.example.com を追加するような場合は、example.comゾーンの管理下に置かれます。

  • type
  • マスターサーバは master としてください。

  • allow-update
  • セキュリティの観点から、クライアントがDNSレコードを更新できないよう明示的に none としています。

  • allow-transfer
  • マスターサーバからスレーブサーバへ example.com ゾーンの情報を転送する為に、スレーブの IP アドレスを設定します。

  • file
  • ゾーンデータファイルの場所を指定します。ファイルの内容は後述の example.com.db を参照ください。

1-3. example.com.zone の所有者を named に変更。
# chown root:named example.zone
1-4. named.conf の内容に間違いがないかチェック。
# named-checkconf
1-5. 正引き用ゾーンデータファイルを作成。
# vim example.com.db
< 記述内容の例 >
$TTL 86400
@                          IN  SOA    ns1 root (
                           2012021307 ; Serial
                           10800      ; Refresh   
                           3600       ; Retry     
                           604800     ; Expire   
                           86400 )    ; Minimum

                           IN NS      ns1
                           IN NS      ns2
                           N A         xxx.xxx.xxx.145
                           IN MX      1 aspmx.l.google.com.
                           IN MX      5 alt1.aspmx.l.google.com.
                           IN MX      5 alt2.aspmx.l.google.com.
                           IN MX      10 aspmx2.googlemail.com.
                           IN MX      10 aspmx3.googlemail.com.
                           IN MX      10 aspmx4.googlemail.com.
                           IN MX      10 aspmx5.googlemail.com.

ns1                        IN A       xxx.xxx.xxx.147
ns2                        IN A       xxx.xxx.xxx.91

ゾーンデータファイルの書き方は好みが分かれるかと思いますが、私の場合、@ を使用しています。@ を利用することで、example.com.zone の zone で指定したドメイン名(example.com)を補完してくれます。

example.com のネームサーバとしてマスター(ns1.example.com)、スレーブ(ns2.example.com)を指定しています。ns1 の Aレコードにはマスターサーバの IP アドレス、ns2 の Aレコードにはスレーブサーバの IP アドレスを登録しています。

「2012021307」はシリアル番号です。2012年2月13日に7回更新しました、という意味となります。更新した年月日と回数を記述してください。ゾーンデータファイルを更新する際はシリアル番号の更新は忘れないように注意してください。

Gmail では Google Apps のメールサーバを利用してメールの送受信を行うので、example.com の MX レコードには Google Apps のメールサーバを登録してください。

注意! Gmail の有効化が完了するまで、現在使用中のメールサーバのMX レコードは削除しないでください。メールの配送が止まってしまいます。

1-6. example.com.db の所有者を named に変更。
# chown root:named example.com.db
1-7. ゾーンデータファイルの構文に間違いがないかチェック。
# named-checkzone example.com example.com.db
zone example.com/IN: loaded serial 2012021307
OK
1-8. サービスを起動。
# service named start
1-9. example.com の MX レコードを確認。
# dig @8.8.8.8 example.com mx
[応答結果]
exmple.com.  86400 IN MX 10 aspmx2.googlemail.com.
exmple.com.  86400 IN MX 10 aspmx3.googlemail.com.
exmple.com.  86400 IN MX 10 aspmx4.googlemail.com.
exmple.com.  86400 IN MX 10 aspmx5.googlemail.com.
exmple.com.  86400 IN MX 1 aspmx.l.google.com.
exmple.com.  86400 IN MX 5 alt1.aspmx.l.google.com.
exmple.com.  86400 IN MX 5 alt2.aspmx.l.google.com.



2. スレーブサーバの構築手順

2-1. named.conf を編集。
# vim /etc/named.conf
< 追記項目の例 >
view "external" {
   allow-query { any; };
   recursion no;
   include "/etc/example.com.slave.zone";
};
2-2. zone を記述するファイルを作成。
# vim example.com.slave.zone
< 記述内容の例 >
zone "example.com" IN {
        type slave;
        masters { xxx.xxx.xxx.147; };
        file "slaves/example.com.slave.db";
};
  • type
  • スレーブサーバは slave としてください。

  • masters
  • マスターサーバの IP アドレスを指定してください。

  • file
  • マスターサーバから転送されるゾーンデータファイルの保存場所を slaves ディレクトリに指定して、ファイル名を決めます。

2-3. named.conf の内容に間違いがないかチェック。
# named-checkconf

2-4. サービスを起動。
# service named start

2-5. slaves ディレクトリにゾーンデータファイルが作成される。
# cat /slaves/example.com.slave.db
マスターサーバのゾーンデータファイルと同様の内容であることがわかります。
$ORIGIN .
$TTL 86400 ; 1 day
example.com  IN SOA ns1.example.com. root.example.com. (
                          2012021307 ; serial
                          10800      ; refresh (3 hours)
                          3600       ; retry (1 hour)
                          604800     ; expire (1 week)
                          86400      ; minimum (1 day)
                          )
                          NS ns1.example.com.
                          NS ns2.example.com.
                          A xxx.xxx.xxx.145
                          MX 1 aspmx.l.google.com.
                          MX 5 alt1.aspmx.l.google.com.
                          MX 5 alt2.aspmx.l.google.com.
                          MX 10 aspmx2.googlemail.com.
                          MX 10 aspmx3.googlemail.com.
                          MX 10 aspmx4.googlemail.com.
                          MX 10 aspmx5.googlemail.com.
$ORIGIN example.com.
ns1   A xxx.xxx.xxx.147
ns2   A xxx.xxx.xxx.91

以上で DNS サーバの構築は完了です。

※ 今回は Google Apps の導入が目的の為、逆引き設定の話は割愛させていただきます。

次は、Google Apps の申込み 〜 サービスの有効化の話に進みたいと思います。




3. Google Apps のサービス有効化までの手順

3-1. Google Apps の製品ページにアクセス。
「開始する」のボタンをクリックしてください。
http://www.google.com/apps/intl/ja/group/index.html

3-2. Google Apps に登録するドメイン名を入力。
「次へ進む」をクリックしてください。

3-3. アカウント管理者の情報と組織の情報を入力。
「次へ進む」のボタンをクリックしてください。

3-4.管理者アカウントの名前とパスワードを入力。
「文字の確認」に表示されている文字を入力してください。
利用規約を確認しましたら、「同意して、設定を続行 >>」ボタンをクリックしてください。

3-5.Google Apps の管理者コントロールパネルにログイン。
URLは「https://www.google.com/a/example.com」となります。
「example.com」はGoogle Apps に登録したドメイン名になります。

3-6.「Google Apps を有効にする」のボタンをクリック。

3-7.「所有権の確認」で「別の方法」をクリック。

3-8.「DNS レコードをドメインの設定に追加」を選択。
「ドメイン レジストラまたはプロバイダを選択」から「その他」を選択してください。

3-9.「google-site-verification=文字列」の文字列をTXTレコードに登録。
example.comのDNSサーバに登録してください。

< 記述内容の例 >
$TTL 86400
@                          IN  SOA    ns1 root (
                           2012021601 ; Serial
                           10800      ; Refresh   
                           3600       ; Retry     
                           604800     ; Expire   
                           86400 )    ; Minimum

                           IN NS      ns1
                           IN NS      ns2

                           IN A       xxx.xxx.xxx.145
                           IN MX      1 aspmx.l.google.com.
                           IN MX      5 alt1.aspmx.l.google.com.
                           IN MX      5 alt2.aspmx.l.google.com.
                           IN MX      10 aspmx2.googlemail.com.
                           IN MX      10 aspmx3.googlemail.com.
                           IN MX      10 aspmx4.googlemail.com.
                           IN MX      10 aspmx5.googlemail.com.
                           IN TXT    "google-site-verification=xxxxxxxxxxxxxxxxxxxxxx"

ns1                        IN A       xxx.xxx.xxx.147
ns2                        IN A       xxx.xxx.xxx.91
TXT レコードの記述は "google-site-verification=xxxxxxxxxxxxxxxxxxxxxx" のようにダブルクォーテーションで括っています。

注意! シリアル番号の更新は忘れないようにしてください。

3-10.サービスを再起動。
# service named restart

3-11.TXT レコードが反映されているかどうか確認。
# dig @8.8.8.8 example.com txt
< 実行結果を抜粋 >
;; ANSWER SECTION:
example.com.  86399 IN TXT "google-site-verification=xxxxxxxxxxxxxxxxxxxxxx"

3-12.「所有権の確認」の画面で「確認」ボタンをクリック。

3-13.「example.com の所有権が確認されました。」と表示される。
「続行」のリンクをクリックしてください。

3-14.「ダッシュボード」の画面に戻るので、「設定」をクリック。

3-15.「メール」の「MXレコード」の項目で「MX 設定の手順」のリンクをクリック。

3-16.「メール配信の方法」は「Google サーバー」を選択し、「次へ >>」をクリック。

3-17.「MXレコードを更新しています...」と表示される。
有効化まで最大で48時間かかる場合があります。しばらくお待ちください。

3-18.「受信トレイ」のリンクをクリックし、Gmail のサービスにアクセス。

3-19.「作成」ボタンからメールを作成し、メールの送信ができるどうか確認をしてください。


以上で Google Apps の導入は完了です。お疲れさまでした!



Standard Edition をご利用いただき、Google Apps for Business の導入をご検討される場合は是非 SIOS にご相談ください!お客様に最適なソリューションのご提案やサポートをさせていただきます。

Google Apps の基本サポート/追加ソリューション/移行・サポート
http://www.sios.com/products/cloud/service/index.html

ここまでお付き合いくださった皆様、どうもありがとうございました。

0 件のコメント:

コメントを投稿