搭建DNS服务器

DNS域名解析

DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务。

DNS 是一个分布式数据库,命名系统采用层次的逻辑结构,如同一棵倒置的树,这个逻辑的树形结构称为域名空间,由于DNS 划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

注:DNS 域名空间中,树的最大深度不得超过127 层,树中每个节点最长可以存储63 个字符。

两种查询方式:

(1)递归查询

递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一

个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询

问其他服务器,并将返回的查询结果提交给客户机。


(2)迭代查询

DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。


DNS服务部署-正向解析

第一步:关闭防火墙

```

[root@ken ~]# systemctl stop firewalld

[root@ken ~]# setenforce 0

```

第二步:下载bind

```

[root@ken ~]# yum install bind bind-utils -y

```

第三步:配置DNS主配置文件

```

[root@ken ~]# vim /etc/named.conf

options {

listen-on port 53 { any; };     #把127.0.0.1改成any

listen-on-v6 port 53 { ::1; };

directory “/var/named”;

dump-file “/var/named/data/cache_dump.db”;

statistics-file “/var/named/data/named_stats.txt”;

memstatistics-file “/var/named/data/named_mem_stats.txt”;

allow-query { any; };   #把localhost改为any

```

第四步:修改区域配置文件

```

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

zone “kendd.cn” IN {    #定义自己的域

type master;

file “kendd.cn.zone”;   #定义域文件

allow-update { none; };

};

```

第五步:配置域文件

```

[root@ken named]#cd  /var/named

[root@ken named]#ls

[root@ken named]# cp named.localhost kendd.cn.zone -a  #注意复制的时候一定要加-a选项保持属性不变

```

第六步:配置自己的域文件

```

[root@ken named]#vim  kendd.cn.zone

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

www IN A 192.168.64.4

xin IN A 192.168.64.4

ken IN A 192.168.64.4

```

第七步:重启服务

```

[root@ken network-scripts]# systemctl restart named

```

第八步:使用自己配置DNS服务器

```

[root@ken named]#vim  /etc/sysconfig/network-scripts/ifcfg-ens33(原基础不动,在最后加DNS,之前的DNS加#进行转义)

DEVICE=”eth0″

ONBOOT=yes

NETBOOT=yes

BOOTPROTO=static

TYPE=Ethernet

IPADDR=192.168.64.4

NETMASK=255.255.255.0

GATEWAY=192.168.64.2

#DNS1=8.8.8.8

#DNS2=114.114.114.114

DNS=192.168.64.4

```

第九步:重启网卡

```

[root@ken network-scripts]# systemctl restart network

```

第十步:进行验证

```

[root@ken network-scripts]# nslookup

> www.kendd.cn

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: www.kendd.cn

Address: 192.168.64.4

> xin.kendd.cn

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: xin.kendd.cn

Address: 192.168.64.4

```

DNS服务部署-反向解析

第一步:关闭防火墙

```

[root@ken ~]# systemctl stop firewalld

[root@ken ~]# setenforce 0

```

第二步:下载bind

```

[root@ken ~]# yum install bind bind-utils -y

```

第三步:配置DNS主配置文件

```

[root@ken ~]# vim /etc/named.conf

options {

listen-on port 53 { any; };     #把127.0.0.1改成any

listen-on-v6 port 53 { ::1; };

directory “/var/named”;

dump-file “/var/named/data/cache_dump.db”;

statistics-file “/var/named/data/named_stats.txt”;

memstatistics-file “/var/named/data/named_mem_stats.txt”;

allow-query { any; };   #把localhost改为any

```

第四步:修改区域配置文件

```

[root@ken ~]# vim /etc/named.rfc1912.zones(在最后一个编写,原基础上进行修改,前几个都是正向解析,并且服务器的ip只能倒着写,最后一位不要写)

zone “64.168.192.in-addr.arpa” IN {

type master;

file “kenken.com.zone”;(定义域文件不能与正向的相同)

allow-update { none; };

};

```

第五步:定义自己的域文件

```

[root@ken named]#cd  /var/named

[root@ken named]#ls

[root@ken named]# cp -a named.loopback kenken.com.zone

```

第六步:配置域文件

```

[root@ken named]#vim  kenken.com.zone

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

PTR localhost.

4 IN PTR www.kendd.cn

5 IN PTR mail.kendd.cn

6 IN PTR vvv.kendd.cn

```

第七步:重启服务

```

[root@ken network-scripts]# systemctl restart named

```

第八步:使用自己配置DNS服务器

```

[root@ken named]#vim  /etc/sysconfig/network-scripts/ifcfg-ens33(原基础不动,在最后加DNS,之前的DNS加#进行转义)

 DEVICE=”eth0″

ONBOOT=yes

NETBOOT=yes

BOOTPROTO=static

TYPE=Ethernet

IPADDR=192.168.64.4

NETMASK=255.255.255.0

GATEWAY=192.168.64.2

#DNS1=8.8.8.8

#DNS2=114.114.114.114

DNS=192.168.64.4

```

第九步:重启网卡

```

[root@ken network-scripts]# systemctl restart network

```

第十步:进行验证

```

[root@ken named]# nslookup 192.168.64.4

Server: 127.0.0.1

Address: 127.0.0.1#53

4.64.168.192.in-addr.arpa name = www.kendd.cn.64.168.192.in-addr.arpa.

[root@ken named]# nslookup 192.168.64.5

Server: 127.0.0.1

Address: 127.0.0.1#53

5.64.168.192.in-addr.arpa name = mail.kendd.cn.64.168.192.in-addr.arpa.

[root@ken named]# nslookup 192.168.64.6

Server: 127.0.0.1

Address: 127.0.0.1#53

6.64.168.192.in-addr.arpa name = vvv.kendd.cn.64.168.192.in-addr.arpa.

```

你可能感兴趣的:(搭建DNS服务器)