現在、Samba 4 ADサーバー(Ubuntu Server 16.04上)をセットアップしています。計画中のLinux/Windowsメンバーは約10です。ドメインコントローラーを正常にプロビジョニングした後、最初のXubuntu 16.04クライアントをドメインに参加させました。
最初は、Sambaユーザーアカウントを使用してクライアントにログインできました。したがって、wbinfo -u
とgetent passwd
の両方にすべてのSambaアカウントがリストされていました。数分後、再度ログインを試みましたが、ログオン画面にkerberosの警告が表示されただけで、41日でパスワードの有効期限が切れそうです。
getent passwd
はローカルユーザーのみをリストするようになりました。 wbinfo -u
は、空のリストとSambaユーザーを一貫して切り替えていません。
net ads info -d 3
は以下を返します。
ads_connect: No logon servers
ads_connect: No logon servers
Didn't find the ldap server!
/var/cache/samba/gencache.tdb
および/var/run/samba/gencache_notrans.tdb
を削除すると、出力が次のように変更されることがよくあります。
LDAP server: 10.230.44.1
LDAP server name: dc1.samdom.com # not the original domain
Realm: SAMDOM.COM
Bind Path: dc=SAMDOM,dc=COM
LDAP port: 389
Server time: Sa, 15 Okt 2016 18:01:33 CEST
KDC server: 10.230.44.1
Server time offset: 0
しかし、しばらくすると、上記の出力に戻ります。時々、単に待つだけでもうまくいくことがあります。
2番目のクライアントでも同じ問題が発生しますが、同時には発生しません。
サーバーは大学のネットワーク内にあり、NAT sambaクライアントのルーターとして機能します。ただし、非プライベートIPアドレスを使用している場合、クライアントはインターネットにアクセスできます。 。
サーバーのsmb.conf
:
[global]
workgroup = SAMDOM
realm = SAMDOM.COM
netbios name = DC1
server role = Active Directory domain controller
dns forwarder = xxx.yyy.xxx.yyy
idmap_ldb:use rfc2307 = Yes
# Only listen to the internal network
interfaces = eno2
bind interfaces only = Yes
[netlogon]
path = /var/lib/samba/sysvol/samdom.com/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
クライアントのsmb.conf
:
[global]
netbios name = M1
security = ADS
workgroup = SAMDOM
realm = SAMDOM
log file = /var/log/samba/%m.log
log level = 1
# Default idmap config used for BUILTIN and local windows accounts/groups
idmap config *:backend = tdb
idmap config *:range = 2000-9999
# idmap config for domain SAMDOM
idmap config SAMDOM:backend = rid
idmap config SAMDOM:range = 10000-99999
# Use template settings for login Shell and home directory
winbind nss info = template
template Shell = /sbin/bash
template homedir = /home/%U
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
encrypt passwords = Yes
サーバーなしでNATルーターと同じ設定を行いますが、通常のIPアドレスでは同じ動作を返します。
クライアントレルムはSAMDOM.COM
ではなくSAMDOM
です。
質問のタイプミスのようです。また、DCインターフェースには、localhostインターフェースlo
を含める必要があります。net ads info
の出力は、-d 3
を使用したデバッグでは有効になりません。
クライアントとサーバーのレルムは一致する必要があります(DNSドメインに解決される必要があります)。 net ads info
は、次のようなDNSのさまざまなドメイン名を解決しようとします。
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.<your realm>
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.<your realm>
それ以外の場合は、<your workgroup>#1c
でのnetbios名前解決にフォールバックします。
キャッシュを削除すると、<your workgroup>#1c
エントリがDCのIPで660秒間有効になり、解決されます。
それ以外の場合、<your workgroup>#1c
の値は、タイムアウトが負(0 - <seconds since Epoch>
と等しい)であるため破棄されます。
660秒のタイムアウトはNAMECACHETIMEOUT
の値です。
全体として、これであなたは一歩前進するはずですが、No logon server
エラーから抜け出すことはできません。サーバーが解決された場合でも、クライアントはCLDAP netlogon要求を発行し、失敗します。
次の方法で確認できます:
ldapsearch -LLL -h <you server ip> -x -b '' -s base "(&(NtVer=\06\00\00\00)(DnsDomain=<your realm>))" NetLogon
これを整理するためのデバッグがありません。
断続的である場合、別のDNSサーバーが古いエントリを持っている可能性が高く、時にはDCがドメイン名を照会されますが、他のDNSサーバーはそうです。
注:<your realm>
、<your workgroup>
および<your server ip>
はプレースホルダーです。