突然、ファイルサーバー(Samba3.0)のフォルダにアクセスできなくなりました。フォルダが見えないのです。

昨日までは、普通にアクセスできていました。設定ファイルを変更していないので、あきらかにハード側に問題がありそうです。

そこで、ファイルサーバーを再起動してみると、システムクロックがどのこうのいうメッセージが表示されていました。

もしや……。BIOSで日時を確認すると、なんと9時間ほど遅れています。

ファイルサーバーは、AD(アクティブディレクトリ)に参加しているので、これだけ時刻がズレていると認証に失敗し、接続できなくなりますね。

ちょうど時間的にも、昨日作業を終えてファイルサーバーの電源を落としてから今朝、電源を入れるまでの時間に相当します。

さっそく、マザーボードのバッテリー(バタン電池)を新品に交換しました。外した電池の電圧をテスターで測ると一応3Vはありました。でも、2,3年ほどそのままだったので念の為に交換しておきました。

次に、

# service ntp restart

して、サーバーの時刻が更新されるのを待ちましたが、一向に更新されません。

そこで、

# service ntp stop

して、

#ntpdate 133.100.11.8

を実行して更新しました。

なぜか、ntp.confに指定しているタイムサーバーでは更新ができませんでした。サーバーが利用できないみたいなことを言っていました。

さて、これで、フォルダにアクセスできると思ったのですが。甘かった。アクセスできません。状況は、朝と同じです。

そこで、次に疑ったのが、前回もあった、名前解決に失敗していた例(ある日突然、使えなくなったAD用サーバー管理ツール)です。

さっそく、名前解決に関係しそうな設定をチェックしました。

といっても、/etc/hostsや/etc/nsswitch.confや/etc/samba/smb.confか/etc/krb5.conf、/etc/resolv.confくらいですかね。あと、/etc/sysconfig/network-scripts/ifcfg-eth0も確認しました。

とくに設定に不備は見当たりませんでした。

だって、昨日まで普通にアクセスできていたので、当たり前ですね。

試しに、

# net ads join -U Administrator

とやってパスワードを入力しても何も返ってこない

カーソルが下へ移動して点滅しているだけです。

ネットで調べると、どうもsamba3.0ではnet ads joinは失敗することがあるとでています。

しかし、前回はこれでうまく行ったので、ちゃんと今まで使えていたんですがー??

(もしかすると、前回は、net rpc joinをしたらうまくいったのかもしれません。しかし、今回は、rpcでも登録できませんでした。)

しょうがなく、

samba3.0をバージョンアップすることに。

その前に

# yum update

次に、samba3.0削除

# yum remove samba samba-common samba-client

次にsamba3xをインストールします。(3xとすると、適切なバージョンがインストールされるようです。)

念の為に、smb.confだけはバックアップ

# cp /etc/samba/smb.conf /etc/samba/smb.conf-20131008
# yum install samba3x samba3x-common samba3x-client samba3x-winbind

(おそらく、samba3xだけでも、自動的に全てがインストールされたはずです。)

エラーもなくすべてインストール完了。設定ファイルの内容もチェック完了。

# smbd -V

samba3.6にアップしていました。これで大丈夫でしょう。

さらに、残念。ファイルサーバーにアクセスできません。

これ以上なにをすればよかっちゃろか。

と、たまたま見たサイトに「authconfig-tuiを使うと、ADに参加すると同時に、自動的にwinbind関連の設定もできます。」という情報が掲載されていました。

さっそくサイトの指示にしたがってauthconfig-tuiを実行しました。

が、やっぱり、net ads joinに失敗しADに参加できません。

再度設定ファイルがどのように変更されているか眺めていると、解決の糸口を見つけました。

krb5.confの[realms]セクション内のある一行の設定です。

元は、

# vi /etc/krb5.conf
中略…

[realms]

中略…

kdc = smb4.shigi.local

中略…

と、ADサーバーのURLだけだったものが

変更後は

kdc = smb4.shigi.local
kdc = 192.168.aaa.bbb

とURLとIPアドレスとが併記されていました。

これを見た瞬間、

「あっ、そうか。名前解決ができていないんだ」

と思いました。

(一応、kdc = 192.168.aaa.bbbは削除しておきました。)

つまり、ADサーバーのアドレスsmb4.shigi.localのIPアドレスを取得できずに、AD参加に失敗しているんだと気づきました。(追記2016/04/26:これは、名前解決ができていないからではなく、authconfig-tuiでkdcの入力欄に私が192.168.aaa.bbbとインプットしたためです。後で気づきました。)

さっそく、「hosts」ファイルの最終行に次のようにADサーバーのアドレスを追記しました。

# vi /etc/hosts
中略…
192.168.aaa.bbb smb4.shigi.local smb4

そして、

# net ads join -U Administrator

を実行し、パスワード入力後、

joined ‘shigi’ ……

と表示されました。

さて、無事にファイルサーバーのフォルダにアクセス出来ました。

ふぅ〜、一安心。

しかし、おかしいなぁ。

なんで、hostsファイルに名前解決用にADサーバーのアドレスを記入しないとダメなのかわかりません。

本来は、resolv.confのnameserveに192.168.aaa.bbbが登録されているので、ちゃんと問い合わせているはずです。

試しに、hostsファイのsmb4アドレスを#でコメントアウトしてから

$ dig smb4.shigi.local

とやると、ちゃんと

中略…
192.168.aaa.bbb
中略…

と返ってきます。

応答しているのは、もちろん、192.168.aaa.bbbです。

おかしいなぁ。

今のところは使えているのでよしとしますが、さらに原因を探ります。

できれば、hostsファイルに記述しなくもいいようにしたい。

shigi-net-config-images