/etc/shadow, /etc/passwd, /etc/group, /etc/sudoers を手元の計算機にバックアップする. 今回は joho27 にバックアップした.
コピーしたファイルの持ち主変更(バックアップ先での作業)
chown root:root * chmod 400 *
プライベート LAN 停止
# shutdown -h now
現 blue につながっている 2 本のネットワークケーブルを新 blue に, 新 blue につながっている 1 本のネットワークケーブルを現 blue につなぎかえた.
/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
と追記.
/etc/network/interfaces を編集する前に
# service networking stop
を実行.
新 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'
となっていることを確認.
# grep aoi /etc/*
# service networking restart # ifconfig eth0
eth0 を認識していることを確認.
# hostname --file /etc/hostname
ここで一度再起動し,変更を反映させる.
# reboot
ホストネームが aoi から blue に変わったことをログイン画面等で確認.
!!! リモートホストでの作業 ここから !!!
ssh ログインしてみる
$ ssh -l mondo1 blue.ep.sci.hokudai.ac.jp
ログインできた.
!!! リモートホストでの作業 ここまで !!!
/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)); };
# service syslog-ng restart
ステータス確認
# service syslog-ng status
active になっている.
www サーバで gate ユーザが作業を行う.
!!! www での作業 ここから !!!
すでにある公開鍵を削除する.
$ ssh-keygen -F blue.ep.sci.hokudai.ac.jp
で blue の公開鍵があることを確認.
known_hosts のオーナー名,グループ名を確認
# cd ~gate/.ssh/ # ls -l known_hosts
root gate となっていたので,オーナーを gate になおす.
# chown gate:gate known_hosts
確認
# ls -l known_hosts
gate gate に変わった.
$ 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 が書き込まれているか確認.
!!! www での作業 ここまで !!!
/etc/gate.conf を一度以下のように書き換える
## 本気モードとデバックモード # $DEBUG_CONFIG = 0; # 0: 本気モード, 1: デバッグモード
www から telnet で gate ポート を叩く.
$ telnet localhost 8888
connection closed by foreign host といわれれば成功.
$ lv /var/cache/bind/ep.zone
を見ると ep.zone が更新されていなかった. (/etc/passwd は更新されていた. )
ep.zone のタイムスタンプが更新されない問題の解決を図るため,以下の操作を実行した.
まず, ep.zone の中身が文字化けしてしまっていたので, 正常にゾーンファイルが生成されていないことはわかった. 原因はわからないので, yellow から ep.zone を scp してきて, telnet 接続したのちに ep.zone のタイムスタンプが更新されるかどうか確認したが, 更新されなかった.
そこで, gate-daily というプログラムが正常に動作しているのかどうかを調べてみた. blue の local で
/usr/local/lib/gate/gate-daily -n
を実行してみたが, ゾーンファイルのタイムスタンプが更新されていなかった. どうやら gate-daily が正常に動作していないようなので, つぎに
/usr/local/sbin/gate-db-to-zone
を実行すると, 以下のようなメッセージが表示された.
defined(%hash) is deprecated at /usr/local/sbin/gate-db-to-zone line 87. (Maybe you should just omit the defined()?) defined(%array) is deprecated at /usr/local/sbin/gate-db-to-zone line 133. (Maybe you should just omit the defined()?)
defined() で配列を定義する箇所が, 現最新版の perl のバージョンに沿った文法でないようなので, それを修正し(gate の管理者にお願いした) てみたが, やはり ep.zone のタイムスタンプは更新されなかった.
ls -l で ep.zone のファイルのオーナーを確認したところ, root になっていた. 今回 ep.zone は yellow から scp してきたものだったためだと思われる. そのため, 生成してもファイルが更新できなかったのだと考えられる.
今ある ep.zone を削除して,
# service bind9 restart
で bind を再起動したら, ep.zone が更新されるようになった.
以上で動作不良は解決され, 転送完了の確認ができた.
host -l ep.sci.hokudai.ac.jp
動いている.
新たにプライベート IP を取得する実験(入れ替え作業中,有線接続した手元の計算機で IP アドレスを直打ち設定していたものを,ネットワーク線を抜いてみて IP を自動取得する設定に戻し,cmd で ipconfig して IP アドレスが割り当てられているかを確認する)成功.
新しくできた /etc/passwd, /etc/shadow の人名の行(gate より下)を, バックアップしておいたファイルで置き換える.
mondo 以外でログインしてみる.
-> ログインできた.
/ETC, /HOME を削除
# rm -r /ETC /HOME
mondo ユーザを削除
# deluser --remove-home mondo1
gate 登録更新
テプラの貼り換え