`

Centos7.1最小化安装后编译samba4.2.1搭建Active Directory Service的域控制器

 
阅读更多

文章来源:http://www.itnose.net

 

实验平台

I3二代,8G内存,WIN764位系统,安装Virtualbox4.3.26,建立CENTOS7.1虚拟机,挂载MINIMAL光盘安装系统。

 

一、最小化安装CENTOS7.1,过程略。

二、登陆Centos7.1系统,安装依赖。我喜欢用下载的Centos DVD安装软件,比网络快。

 

1. 如果要从WIN7系统用PUTTY等软件SSH连接虚拟机,要配置好固定IP,打开SSH。我是用securecrt连的虚拟机,网络选了一个网卡桥接本机网卡动态IP,一个选host-only网络,IP段设置192.168.6.*。

Last login: Thu Apr 16 04:20:06 2015 from 192.168.6.1

2.挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only

3.进入/etc/yum.repos.d/目录,批量改名备份repo文件

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# find . -type f |xargs -i mv {} {}.bkp
[root@localhost yum.repos.d]# ls
CentOS-Base.repo.bkp  CentOS-Debuginfo.repo.bkp  CentOS-Sources.repo.bkp
CentOS-CR.repo.bkp    CentOS-fasttrack.repo.bkp  CentOS-Vault.repo.bkp

4.用编辑器新建立一个光盘安装源。
[root@localhost yum.repos.d]# vi CentOS-Media.repo
[c7-media]
name=CentOS-$releasever- Media
baseurl=file:///mnt
gpgcheck=0
enabled=1
                                                                                                 
"CentOS-Media.repo" 5L, 83C written
5.从光盘安装"development tools"

[root@localhost yum.repos.d]# yum groupinstall "development tools"

安装过程略

 

6.安装一些依赖

[root@localhost samba-4.2.1]# yum -y install libacl-devel libblkid-devel gnutls-devel readline-devel python-devel autoconf gdb bind rsyslog-gssapi cyrus-sasl-gssapi

 

还有几个RPM包我用RPM命令是后面编译报错再安装的,也可以在上面的YUM一次安装

[root@localhost samba-4.2.1]# rpm -ivh /mnt/Packages/python-devel-2.7.5-16.el7.x86_64.rpm
warning: /mnt/Packages/python-devel-2.7.5-16.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
        package python-devel-2.7.5-16.el7.x86_64 is already installed
[root@localhost samba-4.2.1]# rpm -ivh /mnt/Packages/cyrus-sasl-2.1.26-17.el7.x86_64.rpm
warning: /mnt/Packages/cyrus-sasl-2.1.26-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:cyrus-sasl-2.1.26-17.el7         ################################# [100%]
[root@localhost samba-4.2.1]# rpm -ivh /mnt/Packages/cyrus-sasl-devel-2.1.26-17.el7.x86_64.rpm
warning: /mnt/Packages/cyrus-sasl-devel-2.1.26-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:cyrus-sasl-devel-2.1.26-17.el7   ################################# [100%]
[root@localhost samba-4.2.1]# rpm -ivh /mnt/Packages/openldap-devel-2.4.39-6.el7.x86_64.rpm          
warning: /mnt/Packages/openldap-devel-2.4.39-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:openldap-devel-2.4.39-6.el7      ################################# [100%]

 

三、下载编译Samda

7.下载SAMBA4.2.1源码包,用SECUREFXP上传到/tmp目录,wget实在太慢了。

8.现在进入/tmp目录,解压准备编译samba4.2.1

[root@localhost ~]# cd /tmp
[root@localhost tmp]# ls
ks-script-BL7c5a  samba-latest.tar.gz  yum.log
[root@localhost tmp]# tar -xvf samba-latest.tar.gz
[root@localhost tmp]# ls
ks-script-BL7c5a  samba-4.2.1  samba-latest.tar.gz  yum.log
[root@localhost tmp]# cd samba-4.2.1/

编译之前要运行buildtools/scripts/目录下的autogen-waf.sh

[root@localhost samba-4.2.1]# cd buildtools/scripts/
[root@localhost scripts]# ./autogen-waf.sh 

Setting up for waf build
Looking for the buildtools directory
Found buildtools in ./../../buildtools
Setting up configure
Setting up Makefile
done. Now run ./configure or ./configure.developer then make.

 

回到解压的目录,开始编译samba

[root@localhost scripts]# cd /tmp/samba-4.2.1/
[root@localhost samba-4.2.1]# ./configure

编译过程略......
'configure' finished successfully (1m8.178s)

 

到这里编译完成.

9.开始make安装

[root@localhost samba-4.2.1]# make && make install

安装过程略......
Waf: Leaving directory `/tmp/samba-4.2.1/bin'
'install' finished successfully (3m22.415s)

至此samba4.2.1源码编译安装完成。

 

10.修改主机名为DC1,把FQDN完全域名写上,好处是等下提升为域控免输域名了。

[root@localhost samba-4.2.1]#vi /etc/hostname
DC1.contoso.com

 

四、提升为域控

11.虚拟机可以关机做个快照,然后启动,登陆,开始把这台linux主机提升为域控制器。

 

[root@DC1 ~]# cd /usr/local/samba/bin

[root@DC1 bin]# ./samba-tool domain provision

Realm [CONTOSO.COM]:

Domain [CONTOSO]:

Server Role (dc, member, standalone) [dc]:

DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_FLATFILE  #这里选的BIND9的DNS,也可以安装Samba自带的DNS.

Administrator password: 输入域控管理员密码,密码一定要复杂,大小写字母+数字,如Ab123456&
Retype password: 再输入一遍Ab123456&

Looking up IPv4 addresses More than one IPv4 address found. Using 192.168.6.3

Looking up IPv6 address

No IPv6 addresswill be assigned

Setting up secrets.ldb

Setting up the registry

Setting up the privileges database

Setting up idmap db

Setting up sam.ldb partitions and settings

Setting up sam.ldb rootDSE

Pre-loading the Samba 4 and AD schema

Adding DomainDN: DC=contoso,DC=com

Adding configuration container

Setting up sam.ldb schema

Setting up sam.ldb configuration data

Setting up display specifiers

Modifying display specifiers

Adding users container

Modifying users container

Adding computers container

Modifying computers container

Setting up sam.ldb data

Setting up well known security principals

Setting up sam.ldb users and groups

Setting up self join

Adding DNS accounts

Creating CN=MicrosoftDNS,CN=System,DC=contoso,DC=com

rndc: neither /etc/rndc.conf nor /etc/rndc.key was found

rndc: neither /etc/rndc.conf nor /etc/rndc.key was found

See /usr/local/samba/private/named.conf for an example configuration include file for BIND

and /usr/local/samba/private/named.txt for further documentation required for secure DNS updates

Setting up sam.ldb rootDSE marking as synchronized

Fixing provision GUIDs

A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf

Once the above files are installed, your Samba4 server will be ready to use

Server Role:           active directory domain controller

Hostname:              DC1

NetBIOS Domain:        CONTOSO

DNS Domain:            contoso.com

DOMAIN SID:            S-1-5-21-3366851103-1622988557-2824442447

[root@DC1 bin]#

 

一定要见到DOMAIN SID才算配置成功


启动samba
[root@DC1 bin]# /usr/local/samba/sbin/samba

查看版本

[root@DC1 bin]# /usr/local/samba/bin/smbclient --version

Version 4.2.1



测试

[root@DC1 bin]# /usr/local/samba/bin/smbclient -L localhost -U%

Domain=[CONTOSO]

OS=[Unix]

Server=[Samba 4.2.1]     

Sharename       Type      Comment     

---------       ----      -------  

 netlogon        Disk     

 sysvol          Disk      

 IPC$            IPC      IPC Service (Samba 4.2.1)

Domain=[CONTOSO] OS=[Unix] Server=[Samba 4.2.1] 

  Server               Comment   

  ---------            -------   

  Workgroup            Master   

  ---------            -------



[root@DC1 bin]# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator

Enter administrator's password:

Domain=[CONTOSO] OS=[Unix] Server=[Samba 4.2.1]

smb: \> q

[root@DC1 bin]#


检查一下BIND

[root@DC1 bin]# rpm -qa|grep bind

bind-libs-lite-9.9.4-18.el7.x86_64

bind-license-9.9.4-18.el7.noarch

bind-libs-9.9.4-18.el7.x86_64

bind-9.9.4-18.el7.x86_64



在/etc/named.conf文件中可以看到bind9的目录是/var/named,进入该目录:
[root@DC1 etc]# cd /var/named


复制一份named.localhost作为contoso.com.zone,然后修改,作为contoso.com的正向解析文件。

[root@DC1 named]# cp named.localhost contoso.com.zone

[root@DC1 named]# vim contoso.com.zone

$TTL 1D@       IN SOA  @ contoso.com. (        

                    0       ; serial           

                    1D      ; refresh          

                    1H      ; retry            

                    1W      ; expire           

                    3H )    ; minimum          

IN NS   DC1.contoso.com.

@       IN A    192.168.6.3

DC1     IN A    192.168.6.3



以上就是修改后的,双网卡的虚机,IP可能是另外一个的,要修改。


再把samba产生的DNS文件的后面部分复制过来。但是不要复制gc._msdcs这一条,我测试报错,删除了能启动bind

[root@DC1 ~]# cd /usr/local/samba/private/dns

[root@DC1 dns]# ls

contoso.com.zone

[root@DC1 dns]# vim contoso.com.zone



复制下面部分

79aef472-c658-49c0-a2b4-3988bc00338a._msdcs     IN CNAME        DC1

;

; global catalog servers

_gc._tcp                IN SRV 0 100 3268       DC1

_gc._tcp.Default-First-Site-Name._sites IN SRV 0 100 3268       DC1

_ldap._tcp.gc._msdcs    IN SRV 0 100 3268       DC1

_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs     IN SRV 0 100 3268 DC1

;

; ldap servers_ldap._tcp              IN SRV 0 100 389        DC1

_ldap._tcp.dc._msdcs    IN SRV 0 100 389        DC1

_ldap._tcp.pdc._msdcs   IN SRV 0 100 389        DC1

_ldap._tcp.8b2afba7-4d3a-4b88-8b45-381cf145c623.domains._msdcs          IN SRV 0 100 389 DC1

_ldap._tcp.Default-First-Site-Name._sites               IN SRV 0 100 389 DC1

_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs     IN SRV 0 100 389 DC1

;

; krb5 servers_kerberos._tcp          IN SRV 0 100 88         DC1

_kerberos._tcp.dc._msdcs        IN SRV 0 100 88 DC1

_kerberos._tcp.Default-First-Site-Name._sites   IN SRV 0 100 88 DC1

_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 88 DC1_kerberos._udp          IN SRV 0 100 88         DC1

; MIT kpasswd likes to lookup this name on password change

_kerberos-master._tcp           IN SRV 0 100 88         DC1

_kerberos-master._udp           IN SRV 0 100 88         DC1

;

; kpasswd_kpasswd._tcp           IN SRV 0 100 464        DC1

_kpasswd._udp           IN SRV 0 100 464        DC1

;

; heimdal 'find realm for host' hack

_kerberos               IN TXT  CONTOSO.COM



然后粘贴到/var/named/contoso.com.zone修改过的后面。具体操作中,可以在SecureCRT里克隆会话,进到目录,打开文件,拖选要复制的,然后切换到原来的会话点右键就粘贴上了,然后按ESC,:wq保存退出。


打开/etc/named.rfc1912.zones, 后面添加如下字段,增加正向解析区域

[root@DC1 etc]# vim /etc/named.rfc1912.zones

zone "contoso.com" IN {

      type master;

      file "contoso.com.zone";

      allow-update { none; };

};



启动BIND服务,如果报错,需要检查etc/named.rfc1912.zones和contoso.com.zone文件配置

[root@DC1 dns]# systemctl start named.service

[root@DC1 dns]# systemctl status named.service



测试解析,需要host命令。默认未安装。

[root@DC1 named]# host -t SRV _ldap._tcp.contoso.com.

-bash: host: 未找到命令



重新挂载光盘安装。

[root@DC1 named]# mount /dev/cdrom /mnt

mount: /dev/sr0 写保护,将以只读方式挂载


[root@DC1 named]# yum -y install bind-utils    


然后测试

[root@DC1 ~]# host -t SRV _ldap._tcp.contoso.com

_ldap._tcp.contoso.com has SRV record 0 100 389 DC1.contoso.com.


[root@DC1 ~]# host -t SRV _kerberos._udp.contoso.com               _kerberos._udp.contoso.com has SRV record 0 100 88 DC1.contoso.com.

[root@DC1 ~]# host -t A dc1.contoso.com.    

dc1.contoso.com has address 192.168.6.3       



然后再开WIN7虚拟机,配置同网段IP如192.168.6.5, DNS配置192.168.6.3。 先用PING测试能ping通域名,如果不通尝试清除IPTABLES防火墙规则:

[root@DC1 ~]# iptables -F

到此服务器端所有的配置完成,可以在WIN7系统下载WINDOWS服务器远程管理工具包。
安装后添加组件,在控制面板--管理工具里看到域控的管理工具,能远程管理了。

   更多相关文章:http://www.itnose.net/st/6252674.html
分享到:
评论

相关推荐

    在CentOS 7.1下安装Oracle 11gR2

    在安装Oracle 11gR2数据库之前,你需要确保你的CentOS 7.1系统满足必要的硬件和软件要求。首先,内存至少需要1GB,但推荐至少2GB以确保顺畅运行。如果你的系统内存小于2GB,建议设置swap分区大小为内存的1.5倍;若...

    CentOS7.1安装 GCC

    它还包含其他有用的工具,如`g++`用于编译C++代码,`gcov`用于代码覆盖率分析,`gdb`是一个强大的调试器,`make`用于自动化编译过程。这些工具对于开发者来说非常实用,特别是在进行软件开发和系统维护时。 如果你...

    Centos7.1(1503)国内镜像下载地址.txt

    很多Centos7.1的下载地址是国外的,下载很慢。这个Centos7.1(1503)下载地址是国内的,可以在一小时内下载

    RazDC:基于CentOS和Samba4构建的Active Directory域控制器。-开源

    RazDC是基于CentOS和Samba4的与MS兼容的Active Directory域控制器。 它包括一个自定义Web界面,用于管理Active Directory,DHCP,系统服务等。

    centos7.1+zabbix-server安装

    根据提供的文件内容,本篇文章主要讲述了如何在CentOS 7.1系统中安装Zabbix Server,以及所需的Nginx、MySQL和PHP环境配置。以下是对文章中提到的知识点的详细说明: 1. Nginx安装与配置: 文章首先提到了Nginx的...

    Centos 7.1.txt

    Centos 7.1.txt

    SAMBA文件服务器的AD域控搭建

    在这种搭建中,我们需要首先安装 Windows Server 2008 作为域控制器,然后安装 SAMBA 文件服务器,并配置域控制器和 SAMBA 文件服务器的相关设置。 一、域控制器的安装和配置 首先,我们需要下载和安装 Windows ...

    centos7.1安装配置手册

    centos7.1安装配置手册

    CentOS 7 最小化安装

    最小化安装CentOS 7 64位

    CentOS 7.9 最小化安装 kubernetes(k8s)1.25.3(免费下载)

    在本教程中,我们将深入探讨如何在CentOS 7.9最小化安装环境中部署Kubernetes(简称k8s)版本1.25.3。Kubernetes是一个开源的容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。CentOS作为一款稳定的Linux...

    Centos7 Joining Active Directory

    ### Centos7 加入 Active Directory 的详细步骤及原理 #### 一、安装与更新 在开始之前,确保已经安装了 CentOS 7 x64 版本,并且执行 `yum -y update` 更新系统以获取最新的补丁和安全更新。这一步至关重要,因为...

    centos 7.1 mysql5.7.12常见问题解决

    "centos 7.1 mysql5.7.12常见问题解决" 标题:"centos 7.1 mysql5.7.12常见问题解决",该标题指向了 Centos 7.1 操作系统下使用 MySQL 5.7.12 版本时可能遇到的问题和解决方法。 描述:"centos 7.1.1503 系统下使用 ...

    centos7.1安装mysql5.7.rar

    本教程将详细介绍如何在CentOS 7.1上安装MySQL 5.7,这对于搭建稳定的Web服务环境至关重要。下面我们将深入探讨这个过程中的关键步骤和相关知识点。 首先,确保系统已经更新到最新版本,因为这有助于解决可能存在的...

    cloudera manager 5.6在centos7.1上的安装

    cloudera manager 5.6 cdh5.6 centos7.1 jdk1.8 结合官方文档原创安装,常见故障预处理

    centos 6.5 最小化安装mysql

    centos 6.5 最小化安装mysql,方便快捷。。。。。。。。。。。。。。。。。。。。。。。

    CentOS 7.1 离线安装API -kong所需依赖包

    本文将深入探讨如何在CentOS 7.1环境下离线安装Kong API网关及其依赖包。 首先,让我们了解Kong的基本概念。Kong是一个基于开放源代码的API Gateway,它使用了高性能的NGINX Web服务器作为基础。Kong的主要功能包括...

    Centos 6.3最小化安装桌面脚本

    Centos 6.3最小化安装桌面脚本 在最小化系统安装桌面

    hualinux1.2 搭建篇:centos8最小化安装.pdf

    在介绍CentOS 8最小化安装的文档中,作者“byhualinux”详细描述了从零开始构建Linux运维环境的全过程。文档分为环境说明、CentOS 8的安装、配置以及相关的附录等内容。下面详细阐述各个部分的知识点。 一、环境...

    CentOS7.1 基于target的ISCSI模拟存储搭建实例

    在CentOS 7.1环境下,利用target模式搭建ISCSI模拟存储是一项实用的技术,可以实现远程存储资源共享。服务端配置主要包括创建target、分配LUN和开启服务,客户端配置则涉及发现target、登录和挂载LUN。通过这种方式...

Global site tag (gtag.js) - Google Analytics