文档章节

Ubuntu DC + Samba4 AD 实现双域控主机模

l
 linux-tao
发布于 2017/04/25 21:25
字数 2667
阅读 43
收藏 1

第一步:为设置 Samba4 进行初始化配置

在开始把第二个 DC 服务器加入到 Samba4 AD DC 域环境之前,你需要注意一些初始化设置信息,首先,确保这个新系统的主机名包含描述性名称。

假设第一个域服务器的主机名叫做 adc1 ,你可以把第二个域服务器命名为 adc2,以保持域控制器名称的一致性。

执行下面的命令来修改系统主机名:

# hostnamectl set-hostname adc2

或者你也可以手动编辑 /etc/hostname 文件,在新的一行输入你想设置的主机名。

# nano /etc/hostname

这里添加主机名。

adc2

下一步,打开本地系统解析文件并添加一个条目,包含主域控制器的 IP 地址和 FQDN 名称。如下图所示:

在这篇教程中,主域控服务器的主机名为 adc1.tecmint.lan ,其对应的 IP 地址为 192.168.1.254 。

# nano /etc/hosts

添加如下行:

IP_of_main_DC FQDN_of_main_DC short_name_of_main_DC

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

为 Samba4 AD DC 服务器设置主机名

下一步,打开 /etc/network/interfaces 配置文件并设置一个静态 IP 地址,如下图所示:

注意 dns-nameservers 和 dns-search 这两个参数的值。为了使 DNS 解析正常工作,需要把这两个值设置成主 Samba4 AD DC 服务器的 IP 地址和域名。

重启网卡服务以让修改的配置生效。检查 /etc/resolv.conf 文件,确保该网卡上配置的这两个 DNS 的值已更新到这个文件。

# nano /etc/network/interfaces

编辑并替换你自定义的 IP 设置:

  • auto ens33
  • iface ens33 inet static
  • address 192.168.1.253
  • netmask 255.255.255.0
  • brodcast 192.168.1.1
  • gateway 192.168.1.1
  • dns-nameservers 192.168.1.254
  • dns-search tecmint.lan

重启网卡服务并确认生效。

# systemctl restart networking.service
# cat /etc/resolv.conf

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

配置 Samba4 AD 服务器的 DNS

当你通过简写名称(用于构建 FQDN 名)查询主机名时, dns-search 值将会自动把域名添加上。

为了测试 DNS 解析是否正常,使用一系列 ping 命令测试,命令后分别为简写名, FQDN 名和域名,如下图所示:

在所有测试用例中,Samba4 AD DC DNS 服务器都应该返回主域控服务器的 IP 地址。

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

验证 Samba4 AD 环境 DNS 解析是否正常

最后你需要注意的是确保这个主机跟域控服务器时间同步。你可以通过下面的命令在系统上安装 NTP 客户端工具来实现时间同步功能:

# apt-get install ntpdate

假设你想手动强制本地服务器与 samba4 AD DC 服务器时间同步,使用 ntpdate 命令加上主域控服务器的主机名,如下所示:

# ntpdate adc1

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

与 Samba4 AD 服务器进行时间同步

第 2 步:安装 Samba4 必须的依赖包

为了让 Ubuntu 16.04 系统加入到你的域中,你需要通过下面的命令从 Ubuntu 官方软件库中安装 Samba4 套件、 Kerberos 客户端 和其它一些重要的软件包以便将来使用:

# apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

 

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模 

 

在 Ubuntu 系统中安装 Samba4

在安装的过程中,你需要提供 Kerberos 域名。输入大写的域名然后按回车键完成安装过程。

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

为 Samba4 配置 Kerberos 认证

所有依赖包安装完成后,通过使用 kinit 命令为域管理员请求一个 Kerberos 票据以验证设置是否正确。使用 klist 命令来列出已授权的 kerberos 票据信息。

# kinit domain-admin-user@YOUR_DOMAIN.TLD# klist

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

在 Samba4 域环境中验证 Kerberos

第 3 步:以域控制器的身份加入到 Samba4 AD DC

在把你的机器集成到 Samba4 DC 环境之前,先把系统中所有运行着的 Samba4 服务停止,并且重命名默认的 Samba 配置文件以便从头开始。在域控制器配置的过程中, Samba 将会创建一个新的配置文件。

# systemctl stop samba-ad-dc smbd nmbd winbind
# mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

在准备加入域前,先启动 samba-ad-dc 服务,之后使用域管理员账号运行 samba-tool 命令将服务器加入到域。

# samba-tool domain join your_domain -U "your_domain_admin"

加入域过程部分截图:

# samba-tool domain join tecmint.lan DC -U "tecmint_user"

输出示例:

  • Finding a writeable DC for domain 'tecmint.lan'
  • Found DC adc1.tecmint.lan
  • Password for [WORKGROUP/tecmint_user]:
  • workgroup is TECMINT
  • realm is tecmint.lan
  • checking sAMAccountName
  • Deleted CN=ADC2,CN=Computers,DC=tecmint,DC=lan
  • Adding CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
  • Adding CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
  • Adding CN=NTDS Settings,CN=ADC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tecmint,DC=lan
  • Adding SPNs to CN=ADC2,OU=Domain Controllers,DC=tecmint,DC=lan
  • Setting account password for ADC2$
  • Enabling account
  • Calling bare provision
  • Looking up IPv4 addresses
  • Looking up IPv6 addresses
  • No IPv6 address will be assigned
  • Setting up share.ldb
  • Setting up secrets.ldb
  • Setting up the registry
  • Setting up the privileges database
  • Setting up idmap db
  • Setting up SAM db
  • Setting up sam.ldb partitions and settings
  • Setting up sam.ldb rootDSE
  • Pre-loading the Samba 4 and AD schema
  • A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
  • Provision OK for domain DN DC=tecmint,DC=lan
  • Starting replication
  • Schema-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]
  • Analyze and apply schema objects
  • Partition[CN=Configuration,DC=tecmint,DC=lan] objects[402/1614] linked_values[0/0]
  • Partition[CN=Configuration,DC=tecmint,DC=lan] objects[804/1614] linked_values[0/0]
  • Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1206/1614] linked_values[0/0]
  • Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1608/1614] linked_values[0/0]
  • Partition[CN=Configuration,DC=tecmint,DC=lan] objects[1614/1614] linked_values[28/0]
  • Replicating critical objects from the base DN of the domain
  • Partition[DC=tecmint,DC=lan] objects[97/97] linked_values[24/0]
  • Partition[DC=tecmint,DC=lan] objects[380/283] linked_values[27/0]
  • Done with always replicated NC (base, config, schema)
  • Replicating DC=DomainDnsZones,DC=tecmint,DC=lan
  • Partition[DC=DomainDnsZones,DC=tecmint,DC=lan] objects[45/45] linked_values[0/0]
  • Replicating DC=ForestDnsZones,DC=tecmint,DC=lan
  • Partition[DC=ForestDnsZones,DC=tecmint,DC=lan] objects[18/18] linked_values[0/0]
  • Committing SAM database
  • Sending DsReplicaUpdateRefs for all the replicated partitions
  • Setting isSynchronized and dsServiceName
  • Setting up secrets database
  • Joined domain TECMINT (SID S-1-5-21-715537322-3397311598-55032968) as a DC

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

把域加入到 Samba4 AD DC

在已安装了 Samba4 套件的 Ubuntu 系统加入域之后,打开 Samba 主配置文件添加如下行:

# nano /etc/samba/smb.conf

添加以下内容到 smb.conf 配置文件中。

  • dns forwarder = 192.168.1.1
  • idmap_ldb:use rfc2307 = yes
  • template shell = /bin/bash
  • winbind use default domain = true
  • winbind offline logon = false
  • winbind nss info = rfc2307
  • winbind enum users = yes
  • winbind enum groups = yes

使用你自己的 DNS 转发器 IP 地址替换掉上面 dns forwarder 地址。 Samba 将会把域权威区之外的所有 DNS 解析查询转发到这个 IP 地址。

最后,重启 samba 服务以使修改的配置生效,然后执行如下命令来检查活动目录复制功能是否正常。

# systemctl restart samba-ad-dc
# samba-tool drs showrepl

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

配置 Samba4 DNS

另外,还需要重命名原来的 /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<

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

配置 Kerberos

同样,使用 samba 的 krb5.conf 配置文件验证 Kerberos 认证是否正常。通过以下命令来请求一个管理员账号的票据并且列出已缓存的票据信息。

# kinit administrator
# klist

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

使用 Samba 验证 Kerberos 认证是否正常

第 4 步:验证其它域服务

你首先要做的一个测试就是验证 Samba4 DC DNS 解析服务是否正常。要验证域 DNS 解析情况,使用 host 命令,加上一些重要的 AD DNS 记录,进行域名查询,如下图所示:

每一次查询,DNS 服务器都应该返回两个 IP 地址。

# host your_domain.tld
# host -t SRV _kerberos._udp.your_domain.tld  # UDP Kerberos SRV record
# host -t SRV _ldap._tcp.your_domain.tld  # TCP LDAP SRV record

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

Verify Samba4 DC DNS

*验证 Samba4 DC DNS *

这些 DNS 记录也可以从注册过的已安装了 RSAT 工具的 Windows 机器上查询到。打开 DNS 管理器,展开到你的域 tcp 记录,如下图所示:

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

通过 Windows RSAT 工具来验证 DNS 记录

下一个验证是检查域 LDAP 复制同步是否正常。使用 samba-tool 工具,在第二个域控制器上创建一个账号,然后检查该账号是否自动同步到第一个 Samba4 AD DC 服务器上。

在 adc2 上:

# samba-tool user add test_user

在 adc1 上:

# samba-tool user list | grep test_user

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

在 Samba4 AD 服务器上创建账号

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

在 Samba4 AD 服务器上验证同步功能

你也可以从 Microsoft AD DC 控制台创建一个账号,然后验证该账号是否都出现在两个域控服务器上。

默认情况下,这个账号都应该在两个 samba 域控制器上自动创建完成。在 adc1 服务器上使用 wbinfo 命令查询该账号名。

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

从 Microsoft AD UC 创建账号

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

在 Samba4 AD 服务器上验证账号同步功能

实际上,打开 Windows 机器上的 AD DC 控制台,展开到域控制器,你应该看到两个已注册的 DC 服务器。

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

验证 Samba4 域控制器

第 5 步:启用 Samba4 AD DC 服务

要在整个系统启用 Samba4 AD DC 的服务,首先你得禁用原来的不需要的 Samba 服务,然后执行如下命令仅启用 samba-ad-dc 服务:

# systemctl disable smbd nmbd winbind
# systemctl enable samba-ad-dc

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

启用 Samba4 AD DC 服务

如果你从 Microsoft 客户端远程管理 Samba4 域控制器,或者有其它 Linux 或 Windows 客户机集成到当前域中,请确保在它们的网卡 DNS 服务器地址设置中提及 adc2 服务器的 IP 地址,以实现某种程序上的冗余。

下图显示 Windows 和 Debian/Ubuntu 客户机的网卡配置要求。

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

配置 Windows 客户端来管理 Samba4 DC

Ubuntu DC + Samba4 AD 实现双域控主机模Ubuntu DC + Samba4 AD 实现双域控主机模

配置 Linux 客户端来管理 Samba4 DC

如果第一台 DC 服务器 192.168.1.254 网络不通,则调整配置文件中 DNS 服务器 IP 地址的顺序,以免先查询这台不可用的 DNS 服务器。

最后,如果你想在 Linux 系统上使用 Samba4 活动目录账号来进行本地认证,或者为 AD LDAP 账号授予 root 权限,请查看在 Linux 命令行下管理 Samba4 AD 架构 这篇教程的 第 2 步和第 3 步。

原文来自:http://os.51cto.com/art/201704/536428.htm

本文地址:http://www.linuxprobe.com/ubuntu-dc-samba4-ad-dc.html

© 著作权归作者所有

l
粉丝 20
博文 1007
码字总数 1130097
作品 0
深圳
运维
私信 提问
windows server 2016 活动目录(一)

身份验证:对象&对象信息,数据库,网络协议 本地身份验证:SAM文件-本地数据库 对象:用户名-SID 网络身份验证(AD(数据库)DS(身份验证服务)) 授权:对象(用户和组),资源,ACL列表 ...

haitao0228
2018/04/20
0
0
Exchange 2007(一)03R2域控升级到2008R2

2011年,朋友所在的公司,一台DC一台Exchange2007都是物理机,没有DHCP和证书(300多个用户)。2003R2域控是一台组装机,硬盘快挂了,开机要20多分钟,还一直嘎嘎响。准备了一台08R2辅助域控,...

技术小胖子
2017/11/11
0
0
Windows Server 2003 AD Upgrade to Windows Server 2008 AD

Windows Server 2003 AD Upgrade to Windows Server 2008 AD 本文介绍将Windows server 2003 AD升级到Windows Server 2008 AD 系统环境:Windows Server 2003 R2 32bit 英文版 Windows Serv......

c1813
2018/06/26
0
0
Windows Server 2012 虚拟化实战:域

在Windows Server系统中,一些服务必需要构建在域的环境中,这不仅是为了统一验证和资源共享,同时也是为了网络安全。为构建虚拟化测试,我们需要先搭建域环境。之前先来大概了解一下域。 在...

qingspace
2016/06/21
0
0
FSMO五大角色转移的3种方法

在域控制器的系统升级或灾难恢复过程中,涉及到五种FSMO角色,即:结构主机、PDC模拟器、RID主机、域命名主机和架构主机。对这五种角色的成功操作与否,将直接影响域控制器的升级或灾难恢复的...

Ray_Leil
2014/03/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何使用soapUI模拟webservice客户端发送请求

参考资料 https://jingyan.baidu.com/article/cbcede0712849a02f40b4d88.html 左边是请求参数,可以自己填写!按着那个绿色三角箭头可以模拟发送请求,右边是返回的报文 soapui如何发送xml格...

故久呵呵
18分钟前
3
0
Java Security 介绍

1.介绍 Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够...

lixiaobao
23分钟前
3
0
Niushop开源商城系统-分销商管理

分销商管理 1.分销员的招募与管理 如何申请成为分销员? 在wap端个人中心满足之前设置的升级条件,可以申请分销员 开启分销商审核,需要在后台分销商管理——》待审核处进行审核通过。 通过完...

niushop-芳
24分钟前
2
0
为什么大公司一定要使用 DevOps?

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠...

cs平台
26分钟前
4
0
高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复

2019年9月6日,阿里云应急响应中心监测到Metasploit-framework官方在GitHub空间公开了针对Windows远程桌面服务远程命令执行漏洞(CVE-2019-0708)的利用代码。利用该代码,无需用户交互操作,即...

Mr_zebra
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部