2016 DNS 2nd 入れ替えログ (2016/11/04)


  1. 設定ファイルのバックアップ
  2. blue をシャットダウン
  3. ネットワーク線のつなぎかえ
  4. ホスト名, IP アドレスの変更
  5. aoi という名前が残っていないか確認
  6. 新設定の読み込み
  7. gate-toroku-system のインストール
  8. 動作不良解決
  9. 各ソフトウェアの動作確認
  10. 後始末

設定ファイルのバックアップ

/etc/shadow, /etc/passwd, /etc/group, /etc/sudoers を手元の計算機にバックアップする. 今回は joho27 にバックアップした.

コピーしたファイルの持ち主変更(バックアップ先での作業)

chown root:root *
chmod 400 *

blue をシャットダウン

プライベート LAN 停止

# shutdown -h now

ネットワーク線のつなぎかえ

現 blue につながっている 2 本のネットワークケーブルを新 blue に, 新 blue につながっている 1 本のネットワークケーブルを現 blue につなぎかえた.

ホスト名, IP アドレスの変更

ホスト名の変更(aoi -> 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

と追記.

IP アドレスの変更

/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

と編集.

/etc/mailname の編集

blue.ep.sci.hokudai.ac.jp

に変更.

/etc/exim4/update-exim4.conf.conf の編集

dc_other_hostnames='blue.ep.sci.hokudai.ac.jp'

に変更.

gate.conf の確認

$DHCP_SERVER = 'blue.ep.sci.hokudai.ac.jp'

となっていることを確認.

aoi という名前が残っていないか確認

# 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

ログインできた.

!!! リモートホストでの作業 ここまで !!!

syslog-ng の設定

/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));
};

syslog-ng の再起動

# service syslog-ng restart

ステータス確認

# service syslog-ng status

active になっている.

gate-toroku-system のインストール

公開鍵作り直し

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 を入力.

gate.conf の確認

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 が更新されるようになった.

以上で動作不良は解決され, 転送完了の確認ができた.

各ソフトウェアの動作確認

bind9

host -l ep.sci.hokudai.ac.jp

動いている.

dhcp

新たにプライベート IP を取得する実験(入れ替え作業中,有線接続した手元の計算機で IP アドレスを直打ち設定していたものを,ネットワーク線を抜いてみて IP を自動取得する設定に戻し,cmd で ipconfig して IP アドレスが割り当てられているかを確認する)成功.

/etc/passwd, /etc/shadow の修正

新しくできた /etc/passwd, /etc/shadow の人名の行(gate より下)を, バックアップしておいたファイルで置き換える.

mondo 以外でログインしてみる.

-> ログインできた.

後始末

/ETC, /HOME を削除

# rm -r /ETC /HOME

mondo ユーザを削除

# deluser --remove-home mondo1

gate 登録更新

テプラの貼り換え