この環境固有の問題かもしれないが、そうでないかもしれない。
CentOS 6.7 Samba-4.2.8 AD DC #1
CentOS 6.7 Samba4-4.2.9 AD DC #2
CentOS 7 Samba4-4.2.8 AD ファイルサーバ
とりあえずDC2台の間で、同期が正しく動作しない。BDC側にユーザ/コンピュータアカウントなどがコピーされてはいるので全く動作していないわけではないが、いずれかの変更がもう一方にレプリケーションされない。
とりあえずトラフィックで見えるところでは、
このような。DCE/RPC のエラーのようだ。
Distributed Computing Environment / Remote Procedure Calls
https://ja.wikipedia.org/wiki/DCE/RPC
/usr/local/samba/var/log.wb-SAMBA4-AD
を見てみると、
../source3/winbindd/winbindd.c:266(winbindd_sig_term_handler)
Got sig[15] terminate (is_parent=0)
なるエントリが続くだけ。同期のタイミングで発生しているわけではなさそうだ。次に、
/usr/local/samba/var/log.samba
の中身だが、
../lib/util/util_runcmd.c:324(samba_runcmd_io_handler)
/usr/local/samba/sbin/samba_dnsupdate: RuntimeError: kinit for DC01$@SAMBA4-AD.LOCAL failed (Cannot contact any KDC for requested realm)
このエラーが。
host -t SRV _ldap._tcp.SAMBA4-AD.LOCAL
Host _ldap._tcp.SAMBA4-AD.LOCAL not found: 3(NXDOMAIN)
DNSも引けない。さて、これは、、、
一方で、BDC側の方でkinitでOK。ま、そう簡単にいくわけもないということ。
# /usr/local/samba/bin/samba-tool drs showrepl
ERROR(<class 'samba.drs_utils.drsException'>): DRS connection to dc01.samba4-ad.local failed - drsException: DRS connection to dc01.samba4-ad.local failed: (-1073741772, 'The object name is not found.')
File "/usr/local/samba/lib/python2.6/site-packages/samba/netcmd/drs.py", line 39, in drsuapi_connect
(ctx.drsuapi, ctx.drsuapi_handle, ctx.bind_supported_extensions) = drs_utils.drsuapi_connect(ctx.server, ctx.lp, ctx.creds)
File "/usr/local/samba/lib/python2.6/site-packages/samba/drs_utils.py", line 54, in drsuapi_connect
raise drsException("DRS connection to %s failed: %s" % (server, e))
#
ひとつ手掛かりは見つけたが、また「この意味するところを学ぶ」段階から牛歩。
また、DCの2台目を落とした状態で、WinクライアントからDCの1台目へのドメインログオンはOKとみられる。しかしnslookup では確かにdc01.samba4-ad.localが引けない。一方で管理ツール上ADへのアクセスはOK。ありえない事象のようにも思えるが、あるいはこれはクライアントがDCと同一セグメントであるためか? などとも思ったが違った。Winクライアントを別セグに移してもログオン可能。管理ツール上で試しにユーザを追加してみたがこれも可能。
ここで、DC01のトラフィックをキャプチャしたところ、外部DNS向けのクエリが多数流れている状況が見えた。/etc/resolv.conf を見ると、外部ルータをDNS参照先にしている。これを書き換えたがトラフィックはおさまらな...ってここの元になっているのは、ifcfg-だった。DNS1の値をループバックに書き換えたところ、外部DNS参照は終了した。
また、dc01をDNSサーバとしているWinクライアントからDC1のホスト名を引くと、OKとなった。そういうことか。。
この後、samba-tool の user list をDC両方で確認したところ、BDC側で作成したユーザアカウントがもう一方へ、またこの逆も更新がなされた。他方、Winクライアントの管理ツール上では、ユーザ情報の自動更新はなされない。またF5なども利かないようだが、ツールのOFF/ONで更新されるので何の問題も無い。
内部DNSについてこれまでの私の認識は根本的に誤っていた。一連の状況からすると、少なくとも私が従来持っていた「知らないことだけ外部に問い合わせるという浅はかな想像の産物」ではない。
学ぶってこんなもん...ということは決してなくて今回も愚かな学び方だったが、いずれはもっとスマートに学びたいぜ AWESOME!(Neil Pasricha 氏ふう)
0 件のコメント:
コメントを投稿