/etc/shadow, /etc/passwd, /etc/group, /etc/sudoers を手元の計算機にバックアップする.
コピーしたファイルの持ち主変更
chown root:root * chmod 400 *
プライベート LAN 停止
現 blue の eth1 (プライベート側) のネットワーク線を抜き, 新 blue の eth1 につなぐ.
/etc/hosts において
133.87.45.66 blue.ep.sci.hokudai.ac.jp blue
/etc/hostname において
blue
/etc/motd において
Linux blue 2.6.26-2-686
と編集.
新 blue のプライベート IP アドレスを 192.168.16.2 に, グローバル IP アドレスを 133.87.45.66 に設定
/etc/network/interfaces を
# The loopback network interface auto lo eth1 iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 133.87.45.66 netmask 255.255.255.0 network 133.87.45.0 broadcast 133.87.45.255 gateway 133.87.45.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 133.87.45.70 133.87.45.66 133.87.1.11 dns-search ep.sci.hokudai.ac.jp iface eth1 inet static address 192.168.16.2 netmask 255.255.255.0 network 192.168.16.0 broadcast 192.168.16.255
と編集.
blue.ep.sci.hokudai.ac.jp に変更
dc_other_hostnames='blue.ep.sci.hokudai.ac.jp' に変更
$DHCP_SERVER = 'blue.ep.sci.hokudai.ac.jp'
となっていることを確認.
$ sudo grep aoi /etc/*
# /etc/init.d/networking restart
ここで, restart し,ifconfig で確認すると eth0 が認識されなかった.
そこで /etc/network/interfaces を次のように変更した
auto lo eth0 eth1
allow-hotplug eth0 の行はコメントアウトした.
restart すると
Reconfiguring network interfaces...if-up.d/montnfs[eth0]:waiting for interface eth1 before doing NFS mounts (warning)
と表示されたが,ifconfig すると eth0 が認識されているのでよしとした. また,blue に ssh でログインできた.
# hostname --file /etc/hostname
/etc/syslog-ng/syslog-ng.conf の設定を変更. 133.87.45.136 を 133.87.45.66 へ.
source s_lemon { # UDP 514 番を使う udp(ip("133.87.45.66") port(514)); };
# /etc/init.d/syslog-ng restart
www サーバで gate ユーザが作業を行う.
すでにある公開鍵を削除する.
$ ssh-keygen -F blue.ep.sci.hokudai.ac.jp
で blue の公開鍵があることを確認.
$ ssh-keygen -R blue.ep.sci.hokudai.ac.jp
で削除. 同様に "blue", "133.87.45.136" についても公開鍵が あるかどうか確認し, 存在すれば削除する.
新たに公開鍵を取得する.
$ ssh blue.ep.sci.hokudai.ac.jp
公開鍵を作りますかと聞かれ yes を入力.
orange の /etc/gate.conf の %DB_SHARE_HOSTS に blue が書き込まれているか確認.
blue から www にログイン.
$ ssh orange.ep.sci.hokudai.ac.jp $ telnet localhost 8888
転送は数秒で終わったものとみられる.
blue にて
$ lv /var/cache/bind/ep.zone
を見ると ep.zone が更新されていないことを確認
昨年の DNS 1st 入れ替えログを参考に以下の作業を行う.
# apt-get install libperl4-corelibs-perl
続いて以下のような操作を行ったが, この後に行った DNS 1st 入れ替えの際には 行う必要がなく, 正常に動作している.
そのためこれらの EUC-JP まわりに処置はここではログとして残しておくが, 特に行う必要はないと思われる.
#ja_JP.EUC-JP EUC-JP
のコメントアウト (#) を外す.
再読み込み
# locale-gen
&init_z2h_euc unless defined %z2h_euc; (684行目) &init_z2h_sjis unless %z2h_sjis; (693行目)
設定を確認すると /etc/bind/named.conf.local の設定が間違っていたので修正.
# 訂正前 zone "ep.sci.hokudai.ac.jp" { type slave; file "/var/cache/bind/ep.zone"; notify no; masters {134.87.45.70; }; }; # 訂正後 zone "ep.sci.hokudai.ac.jp" { type slave; file "/var/cache/bind/ep.zone"; notify no; masters {133.87.45.70; }; };
bind の group id が何故か変わっていた. 正しいものに修正.
もともとの bind の gid は fuse という group に使われていたが, 特に消しても問題なさそうだったので fuse の gid を bind に手動で戻してしまった.
# 訂正前 bind:x:106: # 訂正後 bind:x:107:
$ ls -l /etc/* | grep 106 # chgrp 107 ファイル名
ここで gate-daily を www 上で回すと ep.zone が更新されることを確認した.
host -l ep.sci.hokudai.ac.jp
動いている.
新たにプライベート IP を取得する実験成功.
新しくできた /etc/passwd, /etc/shadow の人名の行(gate より下)を, バックアップしておいたファイルで置き換える.
mondo 以外でログインしてみる.
-> ログインできた.
/ETC, /HOME を削除
# rm -r /ETC /HOME
mondo ユーザを削除
# deluser --remove-home mondo1 # deluser --remove-home mondo5
gate 登録更新
テプラの貼り換え
入れ替え後, gate が正常に動作