samba3xサーバ(CentOS5.11)のアップデート後、samba3xサーバとの接続が切断されてしまった。
ただし、Windowsからは正常に通信でき、今まで通りsamba3xの共有フォルダにアクセスできます。しかし、Ubuntu14.04からは、samba3xの共有フォルダまでは見えますが、そこから先に進もうとすると、”リンク先が削除”つまり、samba3xの共有フォルダにアクセスできません。
samba3xの共有フォルダは、cifs経由でautofsを利用してマウントしています。
ログを見てみると、(samba3xのターミナルで実行。実際には、Ubuntuからsshでsamba3xにリモート接続している。)
$ dmesg
...
...
...
CIFS VFS: Send error in SessSetup = -5
CIFS VFS: cifs_mount failed w/return code = -5
Status code returned 0xc000005e NT_STATUS_NO_LOGON_SERVERS
これだけでは、cifsの接続が失敗しているということしかわからない。
(ちなみに、auto.smbやcredentialsファイルなどcifs,autofs関連ファイルの設定をネットで調べ、書き直してみるも、まったく改善しませんでした。)
ちなみに、samba3xで、アップデートされたパッケージを確認すると、
Apr 19 13:47:48 Updated: libsmbclient-3.0.33-3.41.el5_11.i386
Apr 19 13:48:15 Updated: tzdata-2016c-1.el5.i386
Apr 19 13:48:30 Updated: samba3x-winbind-3.6.23-12.el5_11.i386
Apr 19 13:49:03 Updated: samba3x-common-3.6.23-12.el5_11.i386
Apr 19 13:49:17 Updated: samba3x-client-3.6.23-12.el5_11.i386
Apr 19 13:49:47 Updated: samba3x-3.6.23-12.el5_11.i386
やはり、samba3x関連のパッケージがアップデートされていました。
そこで、samba3x上で、ドメインコントローラ(samba4により構築済み)に参加しているか確認します。
# net ads testjoin
Join is OK
しっかり、参加しているが、
# wbinfo -u
としても、何も表示されません。本来なら、ドメインコントローラに登録されているユーザ名が表示されるはずなのですが。
ここで、ちょっと疑念が…。
もしかすると、samba3xサーバはちゃんとドメインコントローラに参加できていないのでは?または、ドメインコントローラと正しく通信ができていないのでは?
ちょっと怖いが、思い切ってドメインコントローラから離脱してみます。
# net ads leave -U Administrator
Enter Administrator's password:
Deleted account for 'SMB3' in realm 'SHIGI.LOCAL'
Administratorのパスワードを入力後、Enterを押下。無事に、離脱に成功!
そして、再登録…(もし、登録に失敗したら、、、、、)
net ads join -U Administrator
Failed to join domain: failed to lookup DC info for domain 'SHIGI.LOCAL' over rpc: Access denied
嫌な予感が的中しました。というか、まぁ、想定内ですが。
さて、ここからドツボにはまります。さまざまな、手立てを講じてなんとかドメインコントローラに参加させようと設定をやり直しますが全く効果がありませんでした。(約2週間ほど試行錯誤しました。テスト機を用意して、samba4をインストールしたりして、試験しました。このとき、利用したリポジトリはwing-repo.netです。検証中の期間は、業務に支障がでるとまずいので、ドメインコントローラではなく、ごく普通のワークグループによる共有接続で運用しました。credentialsファイルに新たに作成したsamba3xのクライアン名とパスワードを書き込み、今までのcredentialsファイルはバックアップ用として、別名で保存しました。Windowsは、通常のワークグループとして共有接続で運用します。メインPCはUbuntuです。Windowsはほとんど利用していないので、この程度の変更はまったく支障がありません。)
結局、最終的には、samba3xをwing-repo.netからダウンロードしてインストールしました。通常は、CentOS-5のレポジトリからダウンロードしますが、今回は、下記のサイトを参考にレポジトリを追加して利用することにしました。が、、、、
<参考サイト>
http://wingse.blog57.fc2.com/blog-entry-275.html
なぜか、有効になりませんでした。相変わらず、「samba3x-3.6.23-12.el5_11.i386」系のパッケージをダウンロードしようとします。本来は、下記サイトのように、
http://wing-repo.net/wing/5/i386/
「samba3x-3.6.24-0.147.el5_24.wing.i686.rpm 2014-06-27 16:58 5.7M 」3.6.24系をダウンロードして欲しいところです。しかし、レポジトリが切り替わりらないので、wgetで、ダウンロードしました。
# cd /usr/local/src
# wget samba3x-3.6.24-0.147.el5_24.wing.i686.rpm
# wget samba3x-client-3.6.24-0.147.el5_24.wing.i686.rpm
# wget samba3x-common-3.6.24-0.147.el5_24.wing.i686.rpm
# wget samba3x-winbind-3.6.24-0.147.el5_24.wing.i686.rpm
yumで、インストールするのですが、”Package samba3x-client-3.6.24-0.147.el5_24.wing.i686.rpm is not signed”のようなメッセージが表示されるので、インストールに失敗します。
”–nogpgcheck”オプションで回避します。
yum install --nogpgcheck \
samba3x-3.6.24-0.147.el5_24.wing.i686.rpm \
samba3x-client-3.6.24-0.147.el5_24.wing.i686.rpm \
samba3x-common-3.6.24-0.147.el5_24.wing.i686.rpm \
samba3x-winbind-3.6.24-0.147.el5_24.wing.i686.rpm
yumのログで、インストールされたパッケージを確認します。
# cat /var/log/yum.log
May 01 23:11:26 Installed: openldap24-libs-2.4.23-5.el5.i386
May 01 23:11:27 Installed: iniparser-3.1-1.el5_0.wing.i686
May 01 23:11:40 Installed: samba3x-common-3.6.24-0.147.el5_24.wing.i686
May 01 23:11:46 Installed: samba3x-winbind-3.6.24-0.147.el5_24.wing.i686
May 01 23:11:57 Installed: samba3x-client-3.6.24-0.147.el5_24.wing.i686
May 01 23:12:05 Installed: samba3x-3.6.24-0.147.el5_24.wing.i686
yumでインストールしたので依存関係も自動で処理してくれます。今回は、
openldap24-libs-2.4.23-5.el5.i386
iniparser-3.1-1.el5_0.wing.i686
が、自動的にインストールされています。
今までは、問題なくドメインコントローラに参加できていたので、各設定ファイルはそのままで行きます。
もちろん、smb.confはワークグループ用から本来のドメインコントローラ参加用に戻しています。
緊張の瞬間です。
# net ads join -U Administrator
Enter Administrator's password:
Using short domain name -- SHIGI
Joined 'SMB3' to dns domain 'shigi.local'
DNS Update for smb3.shigi.local failed: ERROR_DNS_UPDATE_FAILED
DNS update failed!
無事に、参加した。(DNSの更新には失敗しているが、これは、気にする必要がない。)
# net ads testjoin
Join is OK
ドメインコントローラに参加していますね。
# wbinfo -t
checking the trust secret for domain SHIGI via RPC calls succeeded
ドメインSHIGI(ドメインコントローラ)に信頼されているってことかな。
# wbinfo -u
SHIGI+postgres
SHIGI+administrator
ドメインSHIGIに登録されているユーザ一覧を表示します。
これで、samba3xはドメインコントローラに正式に参加していることが確認できます。
さて、最後に、Ubuntuからsamba3xの共有フォルダにアクセスできるか確認します。まず、バックアップしていたcredentialsファイルを元に戻し、autofsを再起動させます。
Ubuntuのターミナルで実行。
sudo cp /root/credentials-AD /root/credentials
sudo service autofs resart
無事に、Ubuntuからsamba3xの共有フォルダにアクセスできました。CentOS5.11のサポートは2017年3月31日までです。CentOS6.7か7にアップしなければ。
<<番外>>
テスト環境を構築し、CentOS6.7でsamba3.6をインストールしてドメインコントローラに参加させたが、失敗しました。今回発生している症状と同じです。
私見ですが、CentOSのデフォルトのレポジトリからインストールされるsamba3.6はリリース番号が23ですが、wing-repo.netのレポジトリでは24となります。この違いが大きく影響しているのかも。
また、テスト環境では、samba4.0もインストールしてみました。(レポジトリはwing-repo.net)
無事にドメインコントローラに参加しましたが、samba4.0自体が起動失敗で使えませんでした。さらに、samba41,42,43,44のインストールを試みましたが、依存関係が解決できずに断念しました。(時間をかければ依存関係は解決すると思いますが、今回の目的はsamba3xの復旧なのであまり深入りはしませんでした。)