CentOS 7 DNS服务器架设

CentOS 7 DNS服务器部署

项目背景和要求

要保证即能够解析内网域名linuxidc.local的解析,又能解析互联网的域名。

主DNS服务器:ZZYH1.LINUXIDC.LOCAL

辅助DNS服务器:ZZYH2.LINUXIDC.LOCAL

包含以下域的信息:

1、linuxidc.local域的信息:

FQDN IP地址 备注
zzyh1.linuxidc.local 192.168.188.15 DNS1服务器
zzyh2.linuxidc.local 192.168.188.16 DNS2服务器
ftp.linuxidc.local 192.168.188.15
mailyh1.linuxidc.local 192.168.188.22
smtp.linuxidc.local 192.168.188.22
pop3.linuxidc.local 192.168.188.22
www.linuxidc.local 192.168.188.15
crm.linuxidc.local 192.168.188.15

2、192.168.188.0/24、192.168.189.0/24反向解析域

要求实现chroot功能,以提高安全性

实现到202.102.224.68、202.102.227.68的DNS转发。

防止非授权用户的DNS记录的枚举(防止出现类似上海烟草公司的安全隐患)。仅允许管理员在192.168.188.10上进行操作。

DNS网络配置

除了传统的修改/etc/resolv.conf之外,还有通过在ifcfg文件中添加配置的方式。

Tip: 与Windows在某个网卡中设置DNS服务器的IP地址类似

# vi/etc/sysconfig/network-scripts/ifcfg-eno16777728

# Generated by parse-kickstartIPV6INIT=no

BOOTPROTO=static

DEVICE=eno16777728

ONBOOT=yes

TYPE=Ethernet

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME="System eno16777728"

IPADDR=192.168.188.15

NETMASK=255.255.255.0

GATEWAY=192.168.188.2

DNS1=192.168.188.15DNS2=192.168.188.16

这样,当重新启动network服务时,会生成/etc/resolv.conf中的配置

# servicenetwork restart

Restarting network (via systemctl):                        [  OK  ]

# cat/etc/resolv.conf

# Generated by NetworkManager

search linuxidc.local

nameserver 192.168.188.15nameserver192.168.188.16

配置Yum库

[[email protected] ~]# cd /etc/yum.repos.d/

[[email protected] yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-Vault.repo

[[email protected] yum.repos.d]#

[[email protected] yum.repos.d]# cpCentOS-Base.repo CentOS-Base.repo.origin

[[email protected] yum.repos.d]# viCentOS-Base.repo

配置内容

[base]

name=CentOS-$releasever - Base

baseurl=file:///media

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

安装DNS支持包

#yum -y installbind bind-util bind-chroot    //

[[email protected] ~]# cd /media/Packages/

[[email protected] Packages]# yum -y install bindbind-util bind-chroot

Warning: RPMDB altered outside of yum.

Installing : 32:bind-libs-9.9.4-14.el7.x86_64                            1/3

Installing : 32:bind-9.9.4-14.el7.x86_64                                  2/3

Installing : 32:bind-chroot-9.9.4-14.el7.x86_64                          3/3

Verifying  :32:bind-9.9.4-14.el7.x86_64                                  1/3

Verifying  : 32:bind-libs-9.9.4-14.el7.x86_64                            2/3

Verifying  :32:bind-chroot-9.9.4-14.el7.x86_64                          3/3

Installed:

bind.x86_64 32:9.9.4-14.el7        bind-chroot.x86_64 32:9.9.4-14.el7

Dependency Installed:

bind-libs.x86_6432:9.9.4-14.el7

Complete!

查看bind的生成包

[[email protected] ~]# rpm -qc bind

/etc/logrotate.d/named

/etc/named.conf

/etc/named.iscdlv.key

/etc/named.rfc1912.zones

/etc/named.root.key

/etc/rndc.conf

/etc/rndc.key

/etc/sysconfig/named

/var/named/named.ca

/var/named/named.empty

/var/named/named.localhost

/var/named/named.loopback

配置文件

[[email protected] ~]# cd /etc

[[email protected] etc]# cp named.confnamed.conf.origin

[[email protected] etc]# vi /etc/named.conf

[[email protected] etc]# cat /etc/named.conf、

//listen-on port 53 { 127.0.0.1; };

listen-on port 53 { any; };

//dnssec-enable yes;

//dnssec-validation yes;

dnssec-enable no;

dnssec-validation no;

配置转发地址:

forwarders {202.102.224.68; 202.102.227.68;};

allow-transfer {192.168.188.15; 192.168.188.12;};

查看状态

[[email protected] etc]# rndc status

version: 9.9.4-RedHat-9.9.4-14.el7<id:8f9657aa>

CPUs found: 1

worker threads: 1

UDP listeners per interface: 1

number of zones: 101

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

测试一下解析

补充一下

#find / -name nslookup

/usr/bin/nslookup

#rpm -qf/usr/bin/nslookup  //查询这个命令依附于那个包bind-utils-9.9.4-14.el7.x86_64.rpm

#nslookup              //如果找不到nslookup那是因为没有安装bind-utils-9.9.4-14.el7.x86_64.rpm

> server 192.168.188.15

Default server: 192.168.188.15

Address: 192.168.188.15#53

> g.cn                                //尝试解析g.cn

Server:        192.168.188.15

Address:        192.168.188.15#53

Non-authoritative answer:

Name:  g.cn

Address: 203.208.36.17

Name:  g.cn

Address: 203.208.36.18

Name:  g.cn

Address: 203.208.36.16

Name:  g.cn

Address: 203.208.36.20

Name:  g.cn

Address: 203.208.36.19

//解析成功

添加自定义zone

自定义,修改配置文件

[[email protected]~]# vi /etc/named.conf

在最后添加

zone "linuxidc.local" IN {

type mester;

file "linuxidc.local.zone";

}

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

type master;

file "192.168.188.zone";

}

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

type master;

file "192.168.189.zone";

}

include"/etc/named.rfc1912.zones";

include "/etc/named.root.key";

[[email protected]]# cp named.empty linuxidc.local.zone  //修改前备份一下

[[email protected] named]# ls

linuxidc.local.zone  data    named.ca    named.localhost  slaves

chroot              dynamic  named.empty named.loopback

配置文件

[[email protected]]# vi  linuxidc.local.zone

$TTL 3H

@      IN SOA  zzyh1.linuxidc.local.  chenzhou312.blog.51cto.com (

0      ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H)    ; minimum

IN      NS          zzyh1.linuxidc.local.

IN      NS          zzyh2.linuxidc.local.

zzyh1                IN      A            192.168.188.15

zzyh2                IN      A            192.168.188.16

ftp                  IN      A            192.168.188.15

mailyh1              IN      A            192.168.188.22

smtp                  IN      CNAME        mailyh1.linuxidc.local.

pop3                  IN      CNAME        mailyh1.linuxidc.local.

www                  IN      A            192.168.188.15

crm                  IN      A            192.168.188.15

#vi192.168.188.zone

$TTL 3H

@      IN SOA  zzyh1.linuxidc.local.  chenzhou312.blog.51cto.com (

0      ; serial

1D      ; refresh

1H      ; retry

1W      ; expiredgG

3H)    ; minimum

IN        NS          zzyh1.linuxidc.local.

IN        NS          zzyh2.linuxidc.local.

15      IN        PTR          zzyh1.linuxidc.local.

15      IN        PTR          ftp.linuxidc.local.

16      IN        PTR          zzyh2.linuxidc.local.

16      IN        PTR          mailyh1.linuxidc.local.

#vi192.168.189.zone

$TTL 3H

@      IN SOA zzyh1.linuxidc.local. chenzhou312.blog.51cto.com (

0      ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H)    ; minimum

IN    NS                  zzyh1.linuxidc.local.

IN    NS                  zzyh2.linuxidc.local.

www    IN    NS                  192.168.188.15

重启服务

[[email protected] named]# systemctl restartnamed.service

[[email protected] named]# service named restart

Redirecting to /bin/systemctl restart  named.service

[[email protected] named]# rndc status

version: 9.9.4-RedHat-9.9.4-14.el7<id:8f9657aa>

CPUs found: 1

worker threads: 1

UDP listeners per interface: 1

number of zones: 104

debug level: 0

xfers running: 0

xfers deferred: 0

soa queries in progress: 0

query logging is OFF

recursive clients: 0/0/1000

tcp clients: 0/100

server is up and running

设置为自动启动

# systemctl enable named

[[email protected] named]# systemctl status named

named.service - Berkeley Internet NameDomain (DNS)

Loaded: loaded (/usr/lib/systemd/system/named.service; enabled)

Active: active (running) since Mon 2014-08-25 00:36:59 CST; 3min 47s ago

MainPID: 2807 (named)

CGroup: /system.slice/named.service

a””a”2807 /usr/sbin/named -u named

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 189.168.192.in-addr.ar...

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 189.168.192.in-addr.ar...

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 1.0.0.127.in-addr.arpa...

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 1.0.0.0.0.0.0.0.0.0.0....

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: all zones loaded

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: running

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 188.168.192.in-addr.ar...

Aug 25 00:36:59 zzyh1.linuxidc.localnamed[2807]: zone 189.168.192.in-addr.ar...

Aug 25 00:36:59 zzyh1.linuxidc.localsystemd[1]: Started Berkeley Internet N....

Aug 25 00:37:00 zzyh1.linuxidc.localnamed[2807]: managed-keys-zone: No DNSKE...

Hint: Some lines were ellipsized, use -l toshow in full.

# nslookup

> server192.168.188.15

Default server: 192.168.188.15

Address: 192.168.188.15#53

>www.linuxidc.local.

Server:        192.168.188.15

Address:      192.168.188.15#53

Name:  www.linuxidc.local

Address: 192.168.188.15

>smtp.linuxidc.local.

Server:        192.168.188.15

Address:      192.168.188.15#53

smtp.linuxidc.local    canonical name = mailyh1.linuxidc.local.

Name:  mailyh1.linuxidc.local

Address: 192.168.188.22

>192.168.188.15

Server:        192.168.188.15

Address:      192.168.188.15#53

15.188.168.192.in-addr.arpa    name = ftp.linuxidc.local.

15.188.168.192.in-addr.arpa    name = zzsrv1.linuxidc.local.

> exit

zzyh2上的DNS配置

安装BIND

与zzyh1上的主DNS配安装一样。

操作略。

配置

Cache Only Server

与zzyh1上的主DNS配安装一样。

操作略。

添加辅助Zone

# vi /etc/named.conf

添加如下zone信息

zone "linuxidc.local" IN {

type slave;

masters {192.168.188.15; };

file "linuxidc.local.zone";

};

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

type slave;

masters {192.168.188.15; };

file "192.168.188.zone";

};

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

type slave;

masters {192.168.188.15; };

file "192.168.189.zone";

};

修改目录权限

[[email protected] named]# ll /var/named/ -d

drwxr-x--- 6 root named 133 Aug 15 14:06/var/named/

[[email protected] named]# chmod g+w /var/named/

[[email protected] named]# ll /var/named/ -d

drwxrwx--- 6 root named 133 Aug 15 14:06/var/named/

启动服务

[[email protected] ~]# systemctl startnamed.service

Redirecting to /bin/systemctl restart  named.service

设置为自动启动

[[email protected] ~]# systemctl enable named

ln -s‘/usr/lib/systemd/system/named.service‘‘/etc/systemd/system/multi-user.target.wants/named.service‘

查看日志,检查是否有报错信息。(建议在启动时,就在另外一个会话时就打开)

# tail -f /var/log/messages

测试BIND

在zzyh1上生成了相应的zone文件

[[email protected] ~]# ll /var/named/

total 28

-rw-r--r-- 1 named named  451 Aug 15 14:58 192.168.188.zone

-rw-r--r-- 1 named named  254 Aug 15 15:05 192.168.189.zone

-rw-r--r-- 1 named named  647 Aug 15 15:16 linuxidc.local.zone

drwxr-x--- 7 root  named  56 Aug 15 14:06 chroot

drwxrwx--- 2 named named  22 Aug 15 14:19 data

drwxrwx--- 2 named named  58 Aug 15 16:20 dynamic

-rw-r----- 1 root  named 2076 Jan 28  2013 named.ca

-rw-r----- 1 root  named 152 Dec 15  2009 named.empty

-rw-r----- 1 root  named 152 Jun 21  2007 named.localhost

-rw-r----- 1 root  named 168 Dec 15  2009 named.loopback

drwxrwx--- 2 named named    6 Jun 10 16:13 slaves

[[email protected] ~]# vi /var/named/linuxidc.local.zone

添加一个A记录

test    IN A 10.0.0.1

并且将,zone的序列号增大

[[email protected] ~]# rndc reload

server reload successful

在zzyh1的日志中会看到

zone linuxidc.local/IN: sending notifiesrial 15)

client 192.168.188.16#41658 (linuxidc.loc:transfer of ‘linuxidc.local/IN‘: AXFR-style IXFR started

client 192.168.188.16#41658 (linuxidc.loc:transfer of ‘linuxidc.local/IN‘: AXFR-style IXFR ended

在zzyh2的日志中会看到

client 192.168.188.15#33856: received notifyfor zone ‘linuxidc.local‘

zone linuxidc.local/IN: Transfer started.

transfer of ‘linuxidc.local/IN‘ from192.168.188.15#53: connected using 192.168.188.16#41658

zone linuxidc.local/IN: transferred serial15

transfer of ‘linuxidc.local/IN‘ from192.168.188.15#53: Transfer completed: 1 messages, 13 records, 339 bytes, 0.005secs (67800 bytes/sec)

zone linuxidc.local/IN: sending notifies(serial 15)

测试

# nslookup

> server 192.168.188.16

Default server: 192.168.188.16

Address: 192.168.188.16#53

> test.linuxidc.local.

Server:        192.168.188.16

Address:        192.168.188.16#53

Name:  test.linuxidc.local

Address: 10.0.0.1

> exit

时间: 2024-12-24 08:10:11

CentOS 7 DNS服务器架设的相关文章

Linux与云计算——第二阶段 第四章:DNS服务器架设1-安装BIND

Linux与云计算--第二阶段Linux服务器架设 第四章:DNS服务器架设1-DNS基础原理和软件包安装 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据IP地址查找对

【DNS服务器架设】Centos下转发DNS服务器的架设与测试

架设前的准备: 要架设DNS服务器,则必须安装可以提供DNS服务的软件程序,即bind软件,使用下面的命令即可安装: yum install -y bind-chroot bind-utis 1.修改主配置文件/etc/named.conf 此服务器的架设相对简单,即实际上是把自己这台[所谓的DNS服务器]作为一个代理,向上执行查询DNS信息,这种环境下,只需要修改/etc/named.conf这个主配置文件即可,修改如下: 上面的配置完成后使用下面的命令来启动DNS服务: /etc/init.

DNS服务器架设

DNS (既可使用TCP协议传输,又可以使用UDP协议传输,端口号为53) 因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 实验环境:物理环境windows7 虚拟环境centos7 设备:workstation(workstation.example.com) server1(server1.example.com) server2(se

centos搭建dns服务器

前言:搭建dns服务器,dns服务器我就不多说什么了,大家都懂,就是域名解析,就将ip装换为域名,域名就可以理解为类似这样的www.baidu.com网址,接下来我就直接上图了.这里面最重要的是修改unbound配置文件,配置文件,文件 操作: 1.环境拓扑 服务器: 2.配置yum仓库 3.安装unbound组件 4.更改unbound配置文件 5.改服务器主机名 6.修改unbound配置文件,并且重启 7.设置防火墙 8.校检:服务器本地来实现本机dns解析 效果:客户端上配置dns,并且

CentOS 7 DNS 服务器设置

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736 DNS1=192.168.1.100 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=lin01.example.local vim /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1         l

在CentOS 7系统上架设DNS服务

文档说明: 本文档以一个案例来介绍如何在CentOS 7系统上部署DNS服务.该案例仅是我对如何部署DNS服务的知识总结,并非是生产环境中存在的案例.并且,该案例中用到的CentOS系统均是安装在VMware虚拟机内的,虽然一般情况下这不会有什么不妥,但还是特别说明一下. 案例说明: 本案例使用了两台VMware虚拟机.两台虚拟机上均安装CentOS 7(详细版本号为7.0.1406,核心版本号为3.10.0-123.el7.x86_64),其中一台虚拟机用于模拟Master DNS服务器(假设

DNS服务器bind的架设笔记

bind在Linux下为主流的DNS服务器架设软件,本篇讲的是通过yum在RHEL7上安装与配置DNS服务器 通过yum在线安装bind软件,下载的版本为9.9.4 #yum -y install bind 主要文件存放路径: /etc/named.conf    主配置文件 /var/named            区域文件存放路径 /etc/rndc.conf    /etc/rndc.key    rndc配置文件和KEY存放路径 正向区域:将FQDN地址转换为IP记录 反向区域:将IP

烂泥:centos安装及配置DNS服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过DNS软件BIND为例,进行实验. 本次实验:OS centos6.5 64bit 安装DNS软件,使用如下命令: yum -y install bind bind-chroot bind-utils BIND配置文件保存在两个主要位置: /etc/named.conf 这个是BIND服务主配置文件

使用queryperf对DNS服务器作压力测试

一.querperf简介 当我们把DNS服务器配置好后,我们肯定会想测试一下DNS服务器的性能如何,上线后如果请求数够多服务器还能否响应?于是,我们可以使用软件模拟环境,对DNS服务器作评估性的测试.在bind中,有一款自带的压力测试软件,queryperf.使用这款软件可以对DNS服务器作请求测试,并且使用方法简单,我们可以使用queryperf测试多次,取一个平均值,这样就算结果不准确,也不会和实际情况相差太大. 二.queryperf安装 1.queryperf是bind自带的测试软件,所