Centos

Samba 4 在 samba-tool 域加入上給出“無法找到域的可寫 DC”

  • April 24, 2014

我有一個安裝了 SerNet 的 Samba 4.0.8 的 CentOS 6.4 機器,但還沒有 smb.conf 文件,因為它應該是. 我希望它成為我現有 Windows 域中的 AD DC,從現有的 Windows Server 2003 機器複製。我啟用了 SELinux,並希望它最終保持這種狀態,但願意嘗試暫時禁用它。但我已經跑了sudo setsebool -P samba_domain_controller onsudo setsebool -P samba_enable_home_dirs on他們沒有返回任何錯誤。

我還選擇嘗試使用 Samba 4 的內部 DNS 而不是 BIND。

我在嘗試執行 samba-tool 時遇到此錯誤:

$ sudo samba-tool domain join currentwindowsadserver.mydomain.lan DC -Uadministrator --realm=currentwindowsadserver.mydomain.lan
Finding a writeable DC for domain 'currentwindowsadserver.mydomain.lan'
ERROR(exception): uncaught exception - Failed to find a writeable DC for domain 'currentwindowsadserver.mydomain.lan'
 File "/usr/lib64/python2.6/site-packages/samba/netcmd/__init__.py", line 175, in _run
   return self.run(*args, **kwargs)
 File "/usr/lib64/python2.6/site-packages/samba/netcmd/domain.py", line 552, in run
   machinepass=machinepass, use_ntvfs=use_ntvfs, dns_backend=dns_backend)
 File "/usr/lib64/python2.6/site-packages/samba/join.py", line 1082, in join_DC
   machinepass, use_ntvfs, dns_backend, promote_existing)
 File "/usr/lib64/python2.6/site-packages/samba/join.py", line 73, in __init__
   ctx.server = ctx.find_dc(domain)
 File "/usr/lib64/python2.6/site-packages/samba/join.py", line 246, in find_dc
   raise Exception("Failed to find a writeable DC for domain '%s'" % domain)

與此處描述的情況相同,但建議-S似乎不再存在 - 當我嘗試時它會吐出使用說明並說:

samba-tool domain join: error: no such option: -S

我嘗試添加舊的和新的,/etc/hosts但這並沒有改變結果。

kinit並按klist應有的方式工作,並host -t A mynewserver產生正確的輸出(給出正確的 IP 和正確的名稱,見下文。)

目前,我的 Windows AD 伺服器有 5 個名稱和 5 個 IP 地址,但如果我通過 CentOS 的主名稱 ping 它,我將其用於所有 Windows(另外 4 個我只用於 Apache,是的,我知道,在 Windows 上執行 Apache。 ..你可以看到我為什麼要遷移)它以該名稱正確返回。儘管如此,我認為這可能會導致一些問題,所以看到這個頁面(甚至samba-tool domain join -h)我也嘗試添加--ipaddress=192.168.1.2它,它說它也不是一個有效的選項:

samba-tool domain join: error: no such option: --ip-address

samba-tool domain info沒有DC但與開始時相同的參數,正確地為我提供了有關 Windows DC 的資訊。DNS似乎也很好:

$ host -t SRV _ldap._tcp.mydomain.lan
_ldap._tcp.mydomain.lan has SRV record 0 100 389 currentwindowsadserver.mydomain.lan
$ host -t SRV _kerberos._udp.mydomain.lan
_kerberos._udp.mydomain.lan has SRV record 0 100 88 currentwindowsadserver.mydomain.lan
$ host -t SRV _ldap._tcp.dc._msdcs.mydomain.lan
_ldap._tcp.dc._msdcs.mydomain.lan has SRV record 0 100 389 currentwindowsadserver.mydomain.lan
$ host -t SRV _kerberos._tcp.dc._msdcs.mydomain.lan
_kerberos._tcp.dc._msdcs.mydomain.lan has SRV record 0 100 88 currentwindowsadserver.mydomain.lan
$ host -t SRV _kpasswd._tcp.mydomain.lan
_kpasswd._tcp.mydomain.lan has SRV record 0 100 464 currentwindowsadserver.mydomain.lan.
$ host -t SRV _kpasswd._udp.mydomain.lan
_kpasswd._udp.mydomain.lan has SRV record 0 100 464 currentwindowsadserver.mydomain.lan.
$ host -t SRV _ldap._tcp.gc._msdcs.mydomain.lan
_ldap._tcp.gc._msdcs.mydomain.lan has SRV record 0 100 3268 currentwindowsadserver.mydomain.lan.
$ host -t SRV _gc._tcp.mydomain.lan
_gc._tcp.mydomain.lan has SRV record 0 100 3268 currentwindowsadserver.mydomain.lan.

ATM,AFAIK,我們是一個純 IPv4 網路(一頁提到 IPv6 問題)。當我 ping 或執行或類似的東西時,我看不到任何 IPv6 地址host -t A- 如果這是我不確定如何驗證或修復它的問題,也許有人可以幫助我解決這個問題。

sudo netstat -tunpe | grep ":53"什麼都不返回,我在 445 UDP 和 TCP 上打開了 iptables更新,我現在在此處列出的所有內容上都打開了它,除了 NetBIOS 之外,並重新載入了 iptables 沒有錯誤,但仍然沒有任何變化。我也嘗試過暫時停止 iptables 服務,沒有區別。

在它們之後,我還有mydomain.landomain和Windows 框的主 IP 的指令。search``/etc/resolv.conf``nameserver

還能是什麼?Google在這裡沒有給我太多其他嘗試。

我將錯誤的資訊傳遞給 samba-tool。 currentwindowsadserver是 dc,而不是域或領域。代替:

sudo samba-tool domain join currentwindowsadserver.mydomain.lan DC -Uadministrator --realm=currentwindowsadserver.mydomain.lan

…命令應該簡單地閱讀:

sudo samba-tool domain join mydomain.lan DC -Uadministrator --realm=mydomain.lan

這成功了,SELinux 仍然啟用,並且domainresolv.conf 中的指令被註釋掉了。

引用自:https://unix.stackexchange.com/questions/86516