linux 能建立域服务器吗?

linux 能建立域服务器吗?,第1张

可以,使用bind软件!

大多数Linux发行版默认安装的!

如果默认没有安装,可以挂在光盘安装!

如果想配置DNS可以参考我空间的文章,最近刚写的~~完全可以实现配置!

http://hi.baidu.com/itjishu/blog/item/26e19a5057df026f84352460.html

可以:

建立域控制器使用samba+dns--->实现域名解析和身份验证

活动目录服务可以使用openldap--->实现目录服务

想很好的对用户账号进行管理的话可以使用NIS---->实现账户管理

可以访问这个地址,有多个相关文档可以参考~~~说明一下!做起来比较繁琐~~

http://bbs.chinaunix.net/forumdisplay.php?fid=102&filter=digest

安装 BIND 软件包

1、安装

# yum -y install bind caching-nameserver

2、配置

下面的例子是以公网IP(172.16.0.80/29),局域网IP(192.168.0.0/24),域名(linuxde.net)作说明。在配置你自己的服务器时,请使用你自己的IP和域名。

# vim /etc/named.conf

options {

directory "/var/named"

# query range

allow-query { localhost192.168.0.0/24}

# transfer range

allow-transfer { localhost192.168.0.0/24}

# recursion range

allow-recursion { localhost192.168.0.0/24}

}

controls {

inet 127.0.0.1 allow { localhost} keys { rndckey}

}

# here is the section for internal informations

vimew "internal" {

match-clients {

localhost

192.168.0.0/24

}

zone "." IN {

type hint

file "named.ca"

}

# set zones for internal

zone "linuxde.net" IN {

type master

file "linuxde.net.lan"

allow-update { none}

}

# set zones for internal

zone "0.168.192.in-addr.arpa" IN {

type master

file "0.168.192.db"

allow-update { none}

}

zone "localdomain" IN {

type master

file "localdomain.zone"

allow-update { none}

}

zone "localhost" IN {

type master

file "localhost.zone"

allow-update { none}

}

zone "0.0.127.in-addr.arpa" IN {

type master

file "named.local"

allow-update { none}

}

zone "255.in-addr.arpa" IN {

type master

file "named.broadcast"

allow-update { none}

}

zone "0.in-addr.arpa" IN {

type master

file "named.zero"

allow-update { none}

}

}

vimew "external" {

match-clients {

any

}

zone "." IN {

type hint

file "named.ca"

}

# set zones for external

zone "linuxde.net" IN {

type master

file "linuxde.net.wan"

allow-update { none}

}

# set zones for external *note

zone "80.0.16.172.in-addr.arpa" IN {

type master

file "80.0.16.172.db"

allow-update { none}

}

}

include "/etc/rndc.key"

# *note : For How to write for reverse resolvimng, Write network address reversely like below.

the case for 192.168.0.0/24

network address? 192.168.0.0

range of network? 192.168.0.0 - 192.168.0.255

how to write? 0.168.192.in-addr.arpa

case of 172.16.0.80/29

network address? 172.16.0.80

range of network? 172.16.0.80 - 172.16.0.87

how to write? 80.0.16.172.in-addr.arp

设置Zones

创建zone文件以便服务器能解析域名IP。

1、内部zone文件

这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请根据自己的具体情况配置。

# vim /var/named/linuxde.net.lan

$TTL86400

@INSOA ns.linuxde.net. root.linuxde.net. (

2007041501 Serial

3600 Refresh

1800 Retry

604800 Expire

86400Minimum TTL

)

# define name server

INNS ns.linuxde.net.

# internal IP address of name server

INA 192.168.0.17

# define mail exchanger

INMX 10 ns.linuxde.net.

# define IP address and hostname

ns INA 192.168.0.17

2、外部zone文件

这个例子使用的是外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。

# vim /var/named/linuxde.net.wan

$TTL 86400

@ INSOAns.linuxde.net. root.linuxde.net. (

2007041501Serial

3600 Refresh

1800 Retry

604800Expire

86400 Minimum TTL

)

# define name server

INNS ns.linuxde.net.

# external IP address of name server

INA172.16.0.82

# define Mail exchanger

INMX 10 ns.linuxde.net.

# define IP address and hostname

ns INA 172.16.0.82

创建zone文件使服务器能够反向解析IP到域名。

3、内部zone文件

这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请使用自己的设置替换。

# vim /var/named/0.168.192.db

$TTL86400

@ INSOA ns.linuxde.net. root.linuxde.net. (

2007041501 Serial

3600 Refresh

1800 Retry

604800 Expire

86400 Minimum TTL

)

# define name server

INNSns.linuxde.net.

# define range that this domain name in

INPTR linuxde.net.

# define IP address and hostname

INA 255.255.255.0

17INPTR ns.linuxde.net.

4、外部zone文件

这例子使用外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。

# vim /var/named/80.0.16.172.db

$TTL 86400

@INSOA ns.linuxde.net. root.linuxde.net. (

2007041501 Serial

3600 Refresh

1800 Retry

604800 Expire

86400 Minimum TTL

)

# define name server

INNS ns.linuxde.net.

# define range that this domain name in

INPTR linuxde.net.

# define IP address and hostname

INA 255.255.255.248

82 INPTR ns.linuxde.net.

启动BIND

1、完成BIND的配置后,在启动named之前,还需要建立chroot环境。

# yum -y install bind-chroot

# /etc/rc.d/init.d/named start

# chkconfig named on

2、操作检验

确认服务器已经正确解析域名或IP地址。

# dig ns.linuxde.net.

<<>>DiG 9.3.4 <<>>ns.linuxde.net.

global options: printcmd

Got answer:

->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54592

flags: qr aa rd raQUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

QUESTION SECTION:

ns.linuxde.net. IN A

ANSWER SECTION:

ns.linuxde.net. 86400 IN A192.168.0.17

AUTHORITY SECTION:

linuxde.net. 86400 IN NS ns.linuxde.net.

Query time: 0 msec

SERVER: 192.168.0.17#53(192.168.0.17)

WHEN: Thu Mar 8 19:35:19 2007

MSG SIZE rcvd: 68

# dig -x 192.168.0.17

<<>>DiG 9.3.4 <<>>-x 192.168.0.17

global options: printcmd

Got answer:

->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45743

flags: qr aa rd raQUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

QUESTION SECTION:

17.0.168.192.in-addr.arpa. IN PTR

ANSWER SECTION:

17.0.168.192.in-addr.arpa. 86400 IN PTR ns.linuxde.net.

AUTHORITY SECTION:

0.168.192.in-addr.arpa. 86400 IN NS ns.linuxde.net.

ADDITIONAL SECTION:

ns.linuxde.net. 86400 IN A 192.168.0.17

Query time: 0 msec

SERVER: 192.168.0.17#53(192.168.0.17)

WHEN: Thu Mar 8 19:37:50 2007

MSG SIZE rcvd: 107

配置从DNS服务器

配置从DNS服务器比较简单。下面的例子主DNS是“ns.linuxde.net”,从DNS是“ns.example.info”。

1、在主DNS服务器的zone文件作如下配置

# vim /var/named/linuxde.net.wan

$TTL 86400

@IN SOA ns.linuxde.net. root.linuxde.net. (

# update serial

2007041501 Serial

3600Refresh

1800Retry

604800 Expire

86400 Minimum TTL

)

IN NS ns.linuxde.net.

# add name server

IN NS ns.example.info.

IN A172.16.0.82

IN MX 10 ns.linuxde.net.

nsIN A172.16.0.82

# rndc reload

server reload successful

2、配置从DNS服务器

# vim /etc/named.conf

# add these lines below

zone "linuxde.net" IN {

type slave

masters { 172.16.0.82}

file "slaves/linuxde.net.wan"

}

# rndc reload

server reload successful

# ls /var/named/slaves

linuxde.net.wan # zone file in master DNS has been just transfered

设置别名记录,如果你想为你的主机设置另一个名称,在zone文件定义CNAME记录

# vim /var/named/server-Linux.info.wan

$TTL86400

@ INSOA ns.server-linux.info. root.server-linux.info. (

# update serial

2007041501 Serial

3600Refresh

1800Retry

604800 Expire

86400 Minimum TTL

)

INNSns.server-linux.info.

INA 172.16.0.82

INMX 10 ns.server-linux.info.

nsINA 172.16.0.82

# aliase IN CNAME server's name

ftp IN CNAME ns.server-linux.info.

# rndc reload

server reload successful

以下是一个整理的主配文件参数解释(仅供参考)/**/代表注释:

options { /*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到 /var/named 下,在这里你还可以指定端口等等。不指定则端口是53

*/

directory "/var/named"

}//

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost} keys { rndckey}

}

zone "." IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区

type hint

/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:

master:表示定义的是主域名服务器

slave :表示定义的是辅助域名服务器

hint:表示是互联网中根域名服务器

*/

file "named.ca"//用来指定具体存放DNS记录的文件

}

zone "localhost" IN { //定义一具域名为localhost的正向区域

type master

file "localhost.zone"

allow-update { none}

}

zone "test.net" IN { //指定一个域名为test.net的正向区域

type master

file "test.net”

allow-update { none}

}

zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.*的反向域区

type master

file "named.local"

allow-update { none}

}

zone "0.192.168.in-addr.arpa" IN { //定义一个IP为168.192.0.*反向域区

type master

file "168.192.0"

/var/named/test.net文件

@ IN SOA linux.test.net. Webmaster.test.net. ( SOA表示授权开始

/*上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表test.net,即表示一个域名记录定义的开始。而linux.test.net则是这个域的主域名服务器,而webmaster.test.net则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始

*/

2003012101 serial (d. adams) /*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。

*/

28800 refresh

/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的

*/

7200 retry

/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试

*/

3600000 expiry

/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的

*/

8400 )

/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记

*/

IN NS linux

IN MX 10 linux

linux IN A 168.192.0.14

it-test1 IN A 168.192.0.133

www IN CNAME linux

/*上面的第一列表示是主机的名字,省去了后面的域。

NS:表示是这个主机是一个域名服务器,

A:定义了一条A记录,即主机名到IP地址的对应记录

MX 定义了一邮件记录

CNAME:定义了对应主机的一个别名

/var/named/168.192.0

@ IN SOA linux.test.net. webmastert.linux.net. (

1997022700 Serial

28800 Refresh

14400 Retry

3600000 Expire

86400 ) Minimum

IN NS linux.test.net.

/*以上的各关键字的含义跟test.net是相同的

14 IN PTR linux.test.net.

133 IN PTR it-test1.test.net.

/*

上面的第一列表示的是主机的IP地址。省略了网络地址部分。如14完整应该是:

168.192.0.14

PTR:表示反向记录

最后一列表示的是主机的域名。

对于帐户统一管理系统或软件来说,在 Linux 下你可能知道 NIS、OpenLDAP、samba 或者是 RedHat、IBM 的产品,在 Windows 下当然就是最出名的活动目录 (AD)了,这里就来探讨一下如何让 Linux 的计算机加入 AD 域。

首先,先简单介绍一下 AD 域。自 Windows 2000 以来,AD 一直是 Windows 的身份验证和目录服务,AD 基于 LDAP 实现其功能,其使用 DNS 进行主机名的解析,使用 Kerberos V5 进行用户身份验证,使用 LDAP V3 进行统一的帐户管理。

目标:在 AD 域中,将 Linux 服务器加入 AD,以使 Domain Admins 用户组成员可以登录操作 Linux 服务器,不需要在 Linux 服务器中单独创建帐户。

环境:一台 Windows Server 2012 R2 操作系统的服务器,安装有 AD 并作为域控制器(DC),同时也作为 DNS 服务器和时间服务器;一台 RedHat Enterprise Linux 6.x 的服务器,请自行配置好网络及 YUM 源。有关 AD 域服务器的搭建,由于比较简单,请自行查阅资料完成,这里不再详述。

这里以 Windows 服务器地址为 192.168.2.122,域名为 contoso.com,主机名为 ad.contoso.com;Linux 服务器地址为 192.168.2.150,主机名为 lemon20.contoso.com。

1、安装所需软件:

# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients krb5-workstation ntpdate

2、设置服务自启动并启动服务:

# chkconfig smb on

# chkconfig winbind on

# service smb start

# service winbind start

3、修改 /etc/hosts 文件,添加主机对应记录:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.2.150 lemon20.contoso.com lemon20

4、设置 DNS 地址并与 AD 服务器同步时间:

# echo "nameserver 192.168.2.122" >>/etc/resolv.conf

# ntpdate ad.contoso.com

5、设置 Kerberos 票据(可选):

销毁已经存在的所有票据:

# kdestroy

查看当前是否还存在票据:

# klist

klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)

生成新的票据,注意域名大写。

# kinit administrator@CONTOSO.COM

# klist

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: administrator@CONTOSO.COM

Valid starting Expires Service principal

08/02/16 22:35:26 08/03/16 08:35:29 krbtgt/CONTOSO.COM@CONTOSO.COM

renew until 08/09/16 22:35:26

6、以命令方式设置 samba 与 Kerberos,并加入 AD 域:

#authconfig --enablewinbind --enablewins --enablewinbindauth --smbsecurity ads --smbworkgroup=CONTOSO --smbrealm CONTOSO.COM --smbservers=ad.contoso.com --enablekrb5 --krb5realm=CONTOSO.COM --krb5kdc=ad.contoso.com --krb5adminserver=ad.contoso.com --enablekrb5kdcdns --enablekrb5realmdns --enablewinbindoffline --winbindtemplateshell=/bin/bash --winbindjoin=administrator --update --enablelocauthorize --enablemkhomedir --enablewinbindusedefaultdomain

注意命令中的大小写,此步骤也可以使用 authconfig-tui 完成。

7、增加 sudo 权限(可选):

# visudo

加入下列设置:

%MYDOMAIN\\domain\ admins ALL=(ALL) NOPASSWD: ALL

8、确认是否正确加入 AD 域:

查看 AD 的相关信息

# net ads info

查看 MYDOMAIN\USERID 的使用者帐户

# wbinfo -u

补充:

如果启用 selinux 的话,需要安装 oddjobmkhomedir 并启动其服务,这样才能确保系统对创建的家目录设置合适的 SELinux 安全上下文。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/209947.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存