サーバの引越 (FreeBSD2.2.8RからFreeBSD3.3R) Nov.12,1999

DNS・MailをDX4/100と言う超前衛的(?)な計算機で運用してきた当サイトですが、この頃くたびれてきたとみえて怪しげなジャーナルを時々送りつけるようになってきました。
この際マシンの入れ替えを行って、DX4/100にはご隠居願う事にしました。

これでホントに良いかどうかはともかく計算機の入れ替えをした記録です。 (取りあえず問題なく動いているようですから良しとしてます。)

ユーザの引っ越し
はじめにユーザの引越しをしておきます。そうしないと/usr/home(/home)以下を移動した際にオーナーやグループがめちゃくちゃになって往生します。

/etc/passwd
/etc/master.passwd
/etc/group
の3つのファイルを属性を保ったまま固めます。

tar cvf userinfo.tar.gz /etc/passwd /etc/master.passwd /etc/group

した後、scpなりftpなりで引越し先の計算機に持って来て

cd /etc
tar xpvf userinfo.tar.gz
します。

一応リブートしてからrootになりvipwして軽く変更します。この「軽く」ってのは例えばどうでも良いようなユーザ(失礼!)のシェルを変更するなどして、一度何らかの変更を加えて保存(ZZ)するのです。(そうするとユーザDBのリビルトをしてくれるようなので。)

ついでに/etc/alias も引っ越しておきます。(newaliasesを忘れずに)

ホームの引っ越し

ユーザの引っ越し同様/usr/home以下を
cd /usr
tar cvf home.tar.gz home
として固めて新居に転送後、
cd /usr
tar xpvf home.tar.gz
します。

メールスプールの引っ越し

/var/mail 以下を上記同様に引っ越します。

他・・・

fmlを動かしていたなら
/usr/local/fml 以下
/var/spool/ml 以下
等々を引っ越します。 
最後にrc.confやらinetd.confを適当に直してリブートして終わりです。
くれぐれもIPアドレスの変更を忘れずに・・・。 
当然CFを使ってsendmail.cfを作り直したり、sendmail.localdomainやらsendmail.localipの記述、tcp_wrappersの設定(hosts.allow)の書き直しor前の計算機からのコピーの処置も必要になりますが・・・。

bind8への乗り換え

FreeBSD2.2.xまではbindは4.9.xでしたが、FreeBSD3.3ともなると、bind8が標準になります。named.bootってのが無くなって、named.confと言うのを書かなければなりません。
さらにゾーンファイルを古いマシンから持ってくる必要がでてきます。
ここはひとつ楽をするために上記のrc.confを書き換えてIPアドレスを変更する前にセカンダリ(slave)DNSとして立ち上げておいてプライマリ(master)からゾーンファイルを貰っておく作戦にでます。ちゃんとbind8が動いてゾーンファイルの転送が受けられたらプライマリDNSに昇格(?)させることにします。
/etc/namedb/named.conf
options {
directory "/etc/namedb";
};

zone "itoh.co.jp."{
type slave;
file "itoh.co.jp";
masters { 210.145.46.226;};
allow-update { none; };
allow-transfer { any; };
allow-query { any; };
};

zone "224.46.145.210.in-addr.arpa." {
type slave;
file "itoh.co.jp.rev";
masters { 210.145.46.226;};
allow-update { none; };
allow-transfer { any; };
allow-query { any; };
};

zone "localhost." {
type master;
file "localhost";
};

zone "0.0.127.in-addr.arpa." {
type master;
file "localhost.rev";
};

zone "." {
type hint;
file "named.root";
};
/etc/resolv.conf に
domain itoh.co.jp
nameserver 自分のマシンのIPアドレス

とでも書いて
/etc/defaults/rc.confのnamedの起動設定をします。
named_enable="YES"
named_flags="-b /etc/namedb/named.conf"
と変更してリブートします。起動すればもうセカンダリとして機能しているハズ。
/etc/namedb以下に itoh.co.jp(正引き)、itoh.co.jp.rev(逆引き)のゾーンファイルが転送されていればちゃんとbind8は動いています。念のためnslookupして自力で名前解決ができているか確認してみます。
うまくいったら、次にプライマリに化けさせる変更を加えます。
さっきの/etc/namedb/named.conf中の
type slave;

type master;
に変更。
masters { 210.145.46.226;};
の行を削除してさらにゾーンファイルを適宜見直ししてから、シリアルナンバをインクリメント。
最後の最後に、rc.confの自分のIPアドレスを前のマシンのIPに変更し
/etc/resolv.conf に
domain itoh.co.jp
nameserver 「rc.confで宣言したIPアドレス」に変更
後リブートすればオッケーです。

Bind4からBind8へ 番外編 

特別マシンの入れ替えを伴わなくても、bind-4.9.xを愛用しているサイトは多いはずです。当サイトもそうでした。ところが、
BIND のセキュリティ問題
BIND の 8.2.2-P3 以前のほぼ全てのバージョン(4.9.x も含む)には セキュリティ上の不具合が存在します. 8.2.2-P3 にバージョンアップしてください. この件に関する CERT Advisory も出ています. (1999/11/11)
http://www.linux.or.jp/security/index.html
 
なんて事が出ているじゃありませんか。それじゃあしようがないので他のdnsも全てbind-8.2.2-P3にアップグレードしました。
(ちゃんとbind-4.9.xが動いているのが大前提です。)
 
cd /usr/local/src/
mkdir bind-8.2.2-P3
cd bind-8.2.2-P3
ftp ftp.isc.org
 
して
cd /isc/bind/
以下にある3つの*.tar.gzをmgetしてきます。
ftpが終わったら全部
tar zxvf bind-doc.tar.gz
tar zxvf bind-contrib.tar.gz
tar zxvf bind-src.tar.gz
して
cd src
make clean
make depend
make
make install
します。

次に今まで使っていたnamed.bootをnamed.confに変換してくれるツールを使ってbind8が動くように設定します。

そのお手軽ツールは
/usr/sbin/named-bootconf
なのでフツーパスが通っている筈です。

named.bootが/etc/namedb/以下にある場合

cd /etc/namedb

named-bootconf < named.boot > named.conf


と言う具合にnamed.confを生成後

/etc/rc.conf(FreeBSD3.xの場合は/etc/defaults/rc.conf)のnamed起動オプションを変更します。

named_flags="-b /etc/namedb/named.boot"

named_flags="-b /etc/namedb/named.conf"
に書き換えてからリブートすれば作業終了です。

 
高村のホーム   いとうのホーム