centos7 dns服务器搭建

試著忘記壹切 提交于 2019-12-07 04:21:29

DNS,全称Domain Name System,即域名解析系统

DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)

DNS功能 

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

主机名到IP地址的映射有两种方式:

1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。 

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

DNS的工作原理

以访问www.为例说明(主机为Windows系统)

1)客户端首先检查本地c:\windows\system32\drivers\etc\host文件,是否有对应的IP地址,若有,则直接访问WEB站点,若无
2)客户端检查本地缓存信息,若有,则直接访问WEB站点,若无
3)本地DNS检查缓存信息,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无
4)本地DNS检查区域文件是否有对应的IP,若有,将IP地址返回给客户端,客户端可直接访问WEB站点,若无,
5)本地DNS根据cache.dns文件中指定的根DNS服务器的IP地址,转向根DNS查询。
6)根DNS收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.com服务器的IP地址告诉本地DNS服务器
7).com服务器收到查询请求后,查看区域文件记录,若无,则将其管辖范围内.xxx服务器的IP地址告诉本地DNS服务器
8).xxx服务器收到查询请求后,分析需要解析的域名,若无,则查询失败,若有,返回www.的IP地址给本地服务器
9)本地DNS服务器将www.的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接

 安装DNS服务器软件

yum install bind -y

 配置相关配置文件

/etc/named.conf ,/etc/named.rfc1912.zones 为DNS主配置文件
/var/named/目录为DNS数据库文件存放目录,每一个域文件都放在这里。
/etc/rc.d/init.d/named 为DNS服务的服务脚本。

 一 DNS正向解析

这里以peter.com域为例
www.peter.com 对应IP 为192.168.4.12;
ftp.peter.com 对应IP为1.1.1.1

1 首先编辑vim /etc/named.conf文件

        listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 编辑区域配置文件vim /etc/named.rfc1912.zones

zone "peter.com" IN {
        type master;
        file "peter.com.zone";
};

 其中zone的格式为:

zone "ZONE_NAME"  IN {
    type  master;
    file "ZONE_NAME.zone"
};

 

3 新建解析库文件/var/named/peter.com.zone

[root@CentOS7 ~]# vim /var/named/peter.com.zone
$TTL 1D
$ORIGIN peter.com.
@   IN SOA  peter.com. admin.peter.com. (
                    20170526; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
peter.com. IN  NS  ns1.peter.com.

ns1    IN A    192.168.4.12
www    IN A    192.168.4.12
ftp    IN A    1.1.1.1

 4 修改解析库文件权限

[root@CentOS7 ~]# chgrp named /var/named/peter.com.zone 

 5、检查 配置语法

(1)检查配置文件语法

named-checkconf

(2)检查域配置文件语法

[root@CentOS7 ~]# named-checkzone peter.com  /var/named/peter.com.zone
zone peter.com/IN: loaded serial 20170526
OK

 6 启动named服务

systemctl start named

7 防火墙开放53,953端口

firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --add-port=953/tcp --permanent
firewall-cmd --reload
说明:有的教程写的是只开放53端口就可以了,我没尝试。
或者直接关闭防火墙selinux,修改SELNUX的值    SELNUX=disabled,wq保存。然后reboot重启即可。

8、dns服务器测试

将电脑的首选DNS设置为192.168.4.156(192.168.4.156是我搭建的dns服务器地址)。同过ping,nslookup(如nslookup www.peter.com )等命令,可以发现返回的是我们配置的192.168.4.12。说明配置成功。

 

 

 

二 NDS反向解析

这里以peter.com域为例
IP地址192.168.4.12/24对应域名为www.peter.com;
192.168.4.12/24对应域名为ftp.peter.com;

1、 首先编辑vim /etc/named.conf文件

listen-on port 53 { any; };
        allow-query     { any; };
        dnssec-enable no;
        dnssec-validation no;

2 编辑区域配置文件vim /etc/named.rfc1912.zones

zone "4.168.192.in-addr.arpa" IN {
    type master;
    file "name.4.168.192";
};

格式为:pwd.

zone "NET_IP.in-addr.arpa" IN { #NET_IP 为反向解析的IP网段
    type master;
    file "NAME_ZONE";       #NAME_ZONE为反向解析库配置文件名称
};

3 新建解析库文件vim /var/named/name.4.168.192

$TTL 1D
$ORIGIN 4.168.192.in-addr.arpa.
@       IN SOA  peter.com. admin.peter.com. (
                                        20170526; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       IN      NS      peter.com.
12     IN      PTR     www.peter.com.

4 修改解析库文件所属组

chgrp named name.4.168.192

5 语法检查

(1)检查配置文件语法

named-checkconf

(2)检查域配置文件语法

named-checkzone 4.168.192.in-addr.arpa /var/named/name.4.168.192

  

6 启动named服务

systemctl start named

比较好的存根https://www.cnblogs.com/haozheyu/p/8318969.html

https://www.linuxidc.com/Linux/2017-07/145879.htm

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!