/etc/shadow, /etc/passwd, /etc/group, /etc/sudoers を手元の計算機にバックアップする. 今回は joho12 にバックアップした.
コピーしたファイルの持ち主変更(バックアップ先での作業)
chown root:root * chmod 400 *
プライベート LAN 停止
# shutdown -h now
現 blue につながっている 2 本のネットワークケーブルを新 blue に, 新 blue につながっている 1 本のネットワークケーブルを現 blue につなぎかえた.
なお、コンソールに繋がっているLANケーブルが短かったため、長いものを新しく利用した。
/etc/hosts において
133.87.45.66 blue.ep.sci.hokudai.ac.jp blue
/etc/hostname において
blue
と書き換え,
/etc/motd において
Linux blue 4.19.0-9-amd64
と追記 (motdはログイン時の標準出力内容を設定できる).
/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 eno2 iface lo inet loopback # The primary network interface allow-hotplug eno1 iface eno1 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 eno2 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'
に変更.
2021/12/28 exim4のディレクトリが見つからなかったため,飛ばして作業.
$DHCP_SERVER = 'blue.ep.sci.hokudai.ac.jp'
となっていることを確認.
# grep aoi /etc/*
# service networking restart # ifconfig eno1
eno1 を認識していることを確認.
eno1: flags=4163(BROADCAST,RUNNING,MULTICAST) mtu 1500 inet 133.87.45.66 netmask 255.255.255.0 broadcast 133.87.45.255 inet6 fe80::921b:eff:fed4:ab9c prefixlen 64 scopeid0x20(link) ether 90:1b:0e:d4:ab:9c txqueuelen 1000 RX packets 190249 bytes 22799042 (21.7 MiB) RX errors 0 dropped 1690 overruns 0 frame 0 TX packets 1468 bytes 129710 (126.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xd fa00000-dfa7ffff
# hostname --file /etc/hostname
ここで一度再起動し,変更を反映させる.
# reboot
ホストネームが aoi2 から blue に変わったことをログイン画面等で確認.
!!! リモートホストでの作業 ここから !!!
ssh ログインしてみる
$ ssh -l mondo1 blue.ep.sci.hokudai.ac.jp kex_exchange_identification: read: Connection reset
繋げることができなかったので、以下の対応.# ping blue.ep.sci.hokudai.ac.jp connect: Network is unreachablepingは帰ってこなかった.
# dig blue.ep.sci.hokudai.ac.jp正しくdigれた.
IPアドレスが認識されていない可能性があるので, network/interfaceのhotplugをイジる.
network/interface内 allow-hotplug eno1 → auto eno1 # ping blue.ep.sci.hokudai.ac.jp正しくpingが打てた.
allow-hotplug eno1 のままでifupコマンドを使用しても, pingを打つことができた.
network/interface 内 allow-hotplug eno1 # ifup eno1 # ping blue.ep.sci.hokudai.ac.jpでもできた. 中から外へはokっぽい. 今気になっているのは外から中.akiba@orange: $ ssh akiba@blue.ep.sci.hokudai.ac.jp → password: 聞かれた.つながった. とりあえず, グローバルで繋げることができたので、allow-hotpulug eno1 # ifup eno1として次に進む。
!!! リモートホストでの作業 ここまで !!!
syslog-ngはログに関する設定を決めるファイル.syslogの改良版.
/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.135" についても公開鍵が あるかどうか確認し, 存在すれば削除する.
新たに公開鍵を取得する.
$ ssh blue.ep.sci.hokudai.ac.jp
公開鍵を作りますかと聞かれ yes を入力.
2021/12/28 自動で作れなかったので、何らかの操作が必要。
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 が更新されるようになった.
以上で動作不良は解決され, 転送完了の確認ができた.
2021/12/28 /etc/bind/以下 named.conf.local内のファイルの指定が
var/cache/bind/ep.zone
となっていたため、
/var/cache/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 登録更新
テプラの貼り換え