如何在Samba4ADDC上增加另一台UbuntuDC服务器,实现双域控制器主机模式创建SambaADDC森林环境,为ADDC的一些关键服务提供负载均衡和故障转移功能,特别是DNS服务和AD等重要服务使用SAM数据库的DCLDAP架构。要求本文是Samba4ADDC系列的第五篇。前几篇文章如下:1.在Ubuntu系统上使用Samba4创建活动目录结构2.Linux命令行下管理Samba4AD结构3.使用Windows10RSATTools管理Samba4ActiveDirectory架构4.管理Samba4AD域控制器Windows下的DNS和组策略第一步:设置Samba4的初始配置1.开始将第二个DC服务器添加到Samba4ADDC域环境中在此之前,需要注意一些初始设置信息,首先确保这个新系统的主机名包含一个描述性名称。假设第一台域服务器的主机名为adc1,可以将第二台域服务器命名为adc2,以保持域控制器的名称一致。执行以下命令修改系统主机名:#hostnamectlset-hostnameadc2或者您可以手动编辑/etc/hostname文件并在新行中输入您要设置的主机名。#nano/etc/hostname在此处添加主机名。ADC22。接下来,打开本地系统解析文件并添加一个包含主域控制器的IP地址和FQDN名称的条目。如下图所示:本教程中主域控服务器的主机名为adc1.tecmint.lan,对应的IP地址为192.168.1.254。#nano/etc/hosts添加如下一行:IP_of_main_DCFQDN_of_main_DCshort_name_of_main_DC设置Samba4ADDC服务器的主机名3.接下来打开/etc/network/interfaces配置文件,设置静态IP地址,如下图:注意dns-nameservers和dns-search这两个参数的值。为了DNS解析正常,这两个值需要设置为主Samba4ADDC服务器的IP地址和域名。重启网卡服务使修改后的配置生效。检查/etc/resolv.conf文件,确保在这个网卡上配置的两个DNS的值已经更新到这个文件中。#nano/etc/network/interfaces编辑并替换您的自定义IP设置:autoens33ifaceens33inetstaticaddress192.168.1.253netmask255.255.255.0brodcast192.168.1.1gateway192.168.1.1dns-nameservers192.168.1.254dns-searchtecmint.lan重启网卡服务并确认影响。#systemctlrestartnetworking.service#cat/etc/resolv.conf为Samba4AD服务器配置DNS当您通过简写名称(用于构造FQDN名称)查找主机名时,dns-search值将自动添加域名。4、为了测试DNS解析是否正常,使用一系列的ping命令进行测试,依次是缩写名、FQDN名和域名,如下图所示:所有测试用例中,Samba4ADDCDNS服务器应返回主域控制服务器IP地址。验证Samba4AD环境的DNS解析是否正常。5.***需要注意确保本主机时间与域控服务器同步。您可以使用以下命令在系统上安装NTP客户端工具来实现时间同步功能:#apt-getinstallntpdate6。假设要手动强制本地服务器和samba4ADDC服务器时间同步,使用ntpdate命令加上主域控服务器的主机名如下:#ntpdateadc1与Samba4AD服务器同步时间第二步:安装Samba4必要的依赖包7.为了将Ubuntu16.04系统添加到您的域,您需要从官方Ubuntu软件使用以下命令安装库中的Samba4包、Kerberos客户端和其他一些重要软件包以供将来使用使用:#apt-getinstallssambakrb5-userkrb5-configwinbindlibpam-winbindlibnss-winbind在Ubuntu系统中安装Samba48。在安装过程中,您需要提供Kerberos域名。以大写形式输入域名并回车完成安装过程。为Samba4配置Kerberos身份验证9.安装所有依赖包后,通过使用kinit命令为域管理员请求Kerberos票证来验证设置是否正确。使用klist命令列出授权的kerberos票证信息。#kinitdomain-admin-user@YOUR_DOMAIN.TLD#klist在Samba4域环境中验证Kerberos第3步:加入Samba4ADDC10作为域控制器。在将您的机器集成到Samba4DC环境之前,首先安装系统停止所有正在运行的Samba4服务,并将默认的Samba配置文件重命名为从头开始。在域控制器配置过程中,Samba会创建一个新的配置文件。#systemctlstopsamba-ad-dcsmbdnmbdwinbind#mv/etc/samba/smb.conf/etc/samba/smb.conf.initial11。在加入域之前,先启动samba-ad-dc服务,然后使用域管理员账号运行samba-tool命令将服务器加入域。#samba-tooldomainjoinyour_domain-U"your_domain_admin"加入域过程部分截图:#samba-tooldomainjointecmint.lanDC-U"tecmint_user"输出示例:FindingawriteableDCfordomain'tecmint.lan'FoundDCadc1.tecmint.lanPasswordfor[WORKGROUP\tecmint_user]:workgroupisTECMINTrealmistecmint.lancheckingsAMAccountNameDeletedCN=ADC2,CN=Computers,DC=tecmint,DC=lanAddingCN=ADC2,OU=DomainControllers,DC=tecmint,DC=lanAddingCN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=配置,DC=tecmint,DC=lanAddingCN=NTDSSettings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lanAddingSPNstoCN=ADC2,OU=域控制器,DC=tecmint,DC=lanSettingaccountpasswordforADC2$EnablingaccountCallingbareprovisionLookingupIPv4addressesLookingupIPv6addressesNoIPv6addresswillbeassignedSettingupshare.ldbSettingupsecrets.ldbSettinguptheregistrySettingupprivilegesdatabaseSettingupidmapdbSettingupSAMdbSettingupsam.ldbsettingsamsetupsand.ldbrootDSEPre-loadingtheSamba4andADschemaAKerberosconfigurationsuitableforSamba4hasbeengeneratedat/var/lib/samba/private/krb5.confProvisionOKfordomainDNDC=tecmint,DC=lanStartingreplicationSchema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan]objects[402/1550]linked_values[0/0]Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan]objects[804/1550]linked_values[0/0]Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan]objects[1206/1550]linked_values[0/0]Schema-DN[CN=Schema,CN=Configuration,DC=tecmint,DC=lan]objects[1550/1550]linked_values[0/0]AnalyzeandapplyschemaobjectsPartition[CN=配置,DC=tecmint,DC=lan]对象[402/1614]链接值[0/0]分区[CN=配置,DC=tecmint,DC=lan]对象[804/1614]链接值[0/0]分区[CN=配置,DC=tecmint,DC=lan]对象[1206/1614]链接值[0/0]分区[CN=配置,DC=tecmint,DC=lan]对象[1608/1614]链接值[0/0]分区[CN=配置,DC=tecmint,DC=lan]对象[1614/1614]linked_values[28/0]从baseDNofthedomainPartition[DC=tecmint,DC=lan]objects[97/97]linked_values[24/0]Partition[DC=tecmint,DC=lan]objects[380/283]复制关键对象]linked_values[27/0]始终复制NC(base,config,schema)ReplicatingDC=DomainDnsZones,DC=tecmint,DC=lanPartition[DC=DomainDnsZones,DC=tecmint,DC=lan]objects[45/45]linked_values[0/0]复制DC=ForestDnsZones,DC=tecmint,DC=lanPartition[DC=ForestDnsZones,DC=tecmint,DC=lan]objects[18/18]linked_values[0/0]CommittingSAMdatabaseSendingDsReplicaUpdateRefsforallthereplicatedpartitionsSettingisSynchronizedanddsServiceNameSettingupsecretsdatabase-SI2-DS-TECMINT5715537322-3397311598-55032968)asaDC把域添加到Samba4ADDC12。安装好Samba4套件的Ubuntu系统加入域后,打开Samba主配置文件,添加如下一行:#nano/etc/samba/smb.conf在smb.conf配置文件中添加如下内容dnsforwarder=192.168.1.1idmap_ldb:userfc2307=yestemplateshell=/bin/bashwinbindusedefaultdomain=truewinbindofflinelogon=falsewinbindnssinfo=rfc2307winbindenumusers=yeswinbindenumgroups=yes将上面的dns转发器地址替换成你自己的DNS转发器IP地址。Samba会将域权威区域之外的所有DNS解析查询转发到此IP地址。13.***,重启samba服务使修改后的配置生效,然后执行以下命令查看活动目录复制功能是否正常。#systemctlrestartsamba-ad-dc#samba-tooldrsshowrepl配置Samba4DNS14。另外,还需要将/etc下原有的kerberos配置文件重命名,替换为Samba在加入域过程中生成的新配置文件krb5.conf。Samba生成的新配置文件位于/var/lib/samba/private目录中。使用Linux符号链接将此文件链接到/etc目录。#mv/etc/krb6.conf/etc/krb5.conf.initial#ln-s/var/lib/samba/private/krb5.conf/etc/#cat/etc/krb5.conf配置Kerberos15,同理,使用sambakrb5.conf配置文件验证Kerberos身份验证是否有效。使用以下命令为管理员帐户请求票证并列出缓存的票证信息。#kinitadministrator#klist使用Samba验证Kerberos认证是否正常第四步:验证其他域服务16、首先要做的测试是验证Samba4DCDNS解析服务是否正常。验证域名的DNS解析,使用host命令,加上一些重要的ADDNS记录,来查询域名,如下图所示:对于每次查询,DNS服务器应该返回两个IP地址。#hostyour_domain.tld#host-tSRV_kerberos._udp.your_domain.tld#UDPKerberosSRVrecord#host-tSRV_ldap._tcp.your_domain.tld#TCPLDAPSRVrecord验证Samba4DCDNS*验证Samba4DCDNS*17。这些DNS记录也可以使用RSAT工具从Windows机器上注册安装的Query中获取。打开DNS管理器,展开到你的域的tcp记录,如下图:通过WindowsRSAT工具验证DNS记录18、接下来的验证是检查域LDAP复制同步是否正常。使用samba-tool工具在第二个域控上创建一个账号,然后查看该账号是否自动同步到第一台Samba4ADDC服务器上。adc2上:#samba-tooluseraddtest_useradc1上:#samba-tooluserlist|greptest_user在Samba4AD服务器上创建一个账户在Samba4AD服务器上验证同步功能19.你也可以从MicrosoftADDC控制台创建一个账户,然后验证该帐户是否出现在两个域控制服务器上。默认情况下,该帐户应该在两个samba域控制器上自动创建。在adc1服务器上使用wbinfo命令查询账户名。从MicrosoftADUC创建帐户在Samba4AD服务器20上验证帐户同步功能。实际上,在Windows机器上打开ADDC控制台,展开到域控制器,您应该会看到两个已注册的DC服务器。验证Samba4域控制器Step5:启用Samba4ADDC服务21.要在整个系统中启用Samba4ADDC服务,首先要禁用原来不需要的Samba服务,然后执行以下命令只启用samba-ad-dc服务:#systemctldisablesmbdnmbdwinbind#systemctlenablesamba-ad-dc启用Samba4ADDC服务22.如果您从Microsoft客户端远程管理Samba4域控制器,或者有其他Linux或Windows客户端集成到当前域,请确保它们的网卡是adc2服务器的IP地址在DNS服务器地址设置中提到,以实现一些程序冗余。下图显示了Windows和Debian/Ubuntu来宾的NIC配置要求。配置Windows客户端管理Samba4DC配置Linux客户端管理Samba4DC如果第一台DC服务器192.168.1.254不可用,调整配置文件中DNS服务器IP地址的顺序,避免查询不可用的DNS第一台服务器。***,如果想在Linux系统上使用Samba4ActiveDirectory账号进行本地认证,或者给ADLDAP账号授予root权限,请参考下面的管理Samba4AD架构教程的第2步和第2步Linux命令行3个步骤。
