[[PageOutline]] = さくらの VPS セットアップメモ ~2G プラン乗り換え + Scientific Linux 編~ = == はじめに == * [wiki:HowTo/SakuraVpsSetup 前回の記事はこちら]。 * CentOS のバージョンが古くていろいろと支障を来していたので、プランラインナップ変更を期に乗り換えを行うことにした。 * 今回は Scientific Linux を利用することにする。 * 当面は前回との相違点を中心にメモを残す。 == 申し込み == プランラインナップ変更に伴う[http://vps.sakura.ad.jp/news/sakurainfo/newsentry.php?id=628 乗り換え優遇施策]を利用。 == Scientific Linux セットアップ == VPS コントロールパネルから OS を選択し、基本的なネットワークの設定を行うだけで ok. かんたん。 1. 送られてきた IP アドレスとパスワードで [https://secure.sakura.ad.jp/vpscontrol/ VPS コントロールパネル]にログインする。 1. 画面左の「OS再インストール」をクリックし、遷移先のページにてさらに「カスタムOSインストールへ」をクリックする。 1. 「OS選択」コンボボックスにて「Scientific Linux 6 x86_64」を選択し、「確認」をクリックする。 1. インストール開始を告げるページに遷移し、インストーラ画面が起動する。 * インストーラ画面を表示するには Java SE が必要らしい。 1. [http://support.sakura.ad.jp/manual/vps/mainte/custom_scientificlinux.html Scientific Linux 6|カスタムOSインストールガイド]の記述に倣ってセットアップを進める。 * IPv4 はマニュアル設定、 IPv6 は設定なし。 * [http://research.sakura.ad.jp/2011/01/21/tunnel-6rd-linux1/ 6rd トライアルを利用した IPv6 運用もできるらしい]。あとで試してみようかなぁ…。 * STEP 3 がキーボード設定になってるけど、実際にはネットワーク設定よりも前だったような…。 * 「※さくらのVPS 1G以上のサービスには、ディスクの選択画面が表示されます。」<2G だけど出てこなかったよ? * 「OSシャットダウン後、VNC接続も切断されます。インフォメーションを「OK」で閉じてください。」<「OK」なんて無いのでふつーに「×」で画面を閉じませう…。 1. あとはコントロールパネルから VPS を起動してやれば ok. == ソフトウェアの更新 == ViM は入ってた。前回に倣ってとりあえず yum -y update だけしておく。 == ユーザー登録と ssh 接続のためのセキュリティ設定 == 前回と同じ手順で ok. == シェルのロケール設定 == これも同じく。 == BIND の設定 == === chroot 版の BIND をインストールする === * [http://www.server-world.info/query?os=CentOS_6&p=dns&f=4 CentOS 6 - DNSサーバー - chroot環境にする : Server World] BIND を chroot 環境で動かしたい場合、最新の Red Hat クローンでは専用のパッケージである bind-chroot を入れてしまえばいい。知ってさえいれば設定は超楽ちんだ。…上記のサイトを見つけるまで延々と嵌っていた訳だが orz {{{ $ sudo yum -y install bind-chroot }}} これで、 chroot 環境である /var/named/chroot 以下に必要なファイルが大体インストールされる。あとはドメインのための設定を加えていけばいいだけ。 ちなみに、インストールされるバージョンは 9.7.3 (2012/5/28 現在)。[http://www.geekpage.jp/blog/?id=2012/3/21/1 幽霊ドメイン名問題]の件については、このバージョンであれば修正も入るだろう。とりあえず一安心。 === named.conf の設定例等 === 驚くべき事に、 chroot 環境下における named.conf 等の設定ファイルの類は、 named が実行中の間だけ存在する。仕組みとしては、起動時に実際の /etc/named.conf 等を chroot 環境下にコピーし、それを読み込んでいる模様。面白いことに、 named を稼働させておいて、 chroot 環境下の named.conf 等を編集し、 named を restart させると、編集された内容が反映された上に、ちゃんと /etc/named.conf 等にも編集結果が反映される。つまり、設定の変更はどちらのファイルを用いてもいいようになっているようだ。 named.conf にはデフォルトでいろいろと設定が書かれていて面食らったので、ちょっといろいろ調べてみた。以下、参考になった URL。 * [http://www.nina.jp/server/redhat/bind/named.conf.html named.conf の設定] * [http://linuxreviews.org/man/named.conf/index.html.ja Manpage of NAMED.CONF] * [http://www.turbolinux.com/products/server/11s/user_guide/x1583.html 8.9. その他のステートメント | Turbolinux 11 Server: ユーザーガイド] * 公開 DNS なので listen-on とか allow-query とかは any にする。 * directory は設定しないとデフォルトではカレントディレクトリ。それだと困る場合は "/var/named" とかに設定する (今回はデフォルトでそうなってる)。 * dump-file は SIGINT 時のダンプファイル出力先。 statistics-file は SIGILL 時の統計ログ出力先。 memstatistics-file は deallocate-on-exit が yes なら終了時のメモリー統計ログ出力先だが、そも deallocate-on-exit は yes にすると効率悪くなるらしいので no にしておくべき (デフォルトは no)。 * [http://xoops.fens.net/modules/wiki/?Linux%2FMemo%2FDNSSEC%20%E3%81%AE%E8%A8%AD%E5%AE%9A DNSSEC の設定] * [http://member.wide.ad.jp/~fujiwara/dnssec/ Fujiwara's DNSSEC materials] * DNSSEC に対応する方法が書かれてる。 * とりあえず、今は DNSSEC プロトコルで検証が行われるように設定しておく (デフォルトの named.conf の内容をそのまま使う)。自ゾーンを DNSSEC に対応させて ISC DLV に登録するのはあとで。 * directory で指定したディレクトリは BIND が書き込み可能である必要がある。 "/var/named/chroot/var/named" を chmod g+w する。 === ゾーンの設定 === ゾーン設定は 9.7 では named.conf 自体には書かれておらず、 named.rfc1912.zones というファイルを include する形を取っている。ドメインのゾーン設定はこちらに書き加える。書き加える内容自体は以前と同じ。 {{{ # vim /etc/named.rfc1912.zones // 以下をファイル末尾に書き加える zone "harapeko.jp" IN { type master; file "harapeko.jp.zone"; }; zone "142.128.212.49.in-addr.arpa" IN { type master; file "harapeko.jp.rev"; }; # vim /var/named/chroot/var/named/harapeko.jp.zone // 以前の設定内容をそのままコピーし、 A クラスの IP アドレスと SOA クラスの serial だけ新しい値に修正する。 // 但し、ネームサーバーホストは CNAME クラスではなく A クラスを用いるよう修正 (後述)。 # vim /var/named/chroot/var/named/harapeko.jp.rev // 以前の設定内容をそのままコピーし、 SOA クラスの serial だけ新しい値に修正する。 # chown root:named /var/named/chroot/var/named/harapeko.jp.* # chmod 640 /var/named/chroot/var/named/harapeko.jp.* }}} なお、正引きのゾーン設定において、ネームサービスを提供するホスト名のアドレスを CNAME (別名) で設定するのは、 9.7 系では illegal となっているらしい。以前まで harapeko.jp.zone ファイルの当該箇所において {{{ onaka IN A 49.212.128.142 ns IN CNAME onaka }}} としていたのを {{{ onaka IN A 49.212.128.142 ns IN A 49.212.128.142 }}} に修正する必要がある。 == パケットフィルタリング設定 == iptables はやはり導入済みだった。 設定ファイル /etc/sysconfig/iptables は前回のサーバーのファイルを ViM でコピペした。内容は、前のサーバーを稼働中に以下の行を追加していたのを、そのまま踏襲している。 {{{ # SMTP Submission port -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 587 -j ACCEPT }}} == NTP 設定 == 前回とほぼ同じだが、 restrict 周りはデフォルトで基本 ignore だったので、 NICT へのサーバー参照を追加するのみとした。 == Postfix 設定 ==