Linux下DNS服务器搭建详解

1,简介

DNS服务器的作用就是就好比生活中的电话簿、114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名。

DNS系统的作用:

正向解析:根据主机名称(域名)查找对应的IP地址(实际应用中最多的)

反向解析:根据IP地址查找对应的主机域名(不常用,一般用于搭建邮件服务器时。)

根据服务器与所提供域名解析记录的关系,将DNS服务器分为不同的角色:

缓存域名服务器

也称为唯高速缓存服务器

通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

从域名服务器(通俗一点就是用于备份DNS服务器的)

也称为辅助域名服务器

其维护的域名->IP地址记录来源于主域名服务器

2,安装DNS服务器组件

1.安装bind

yum install -y bind bind-chroot bind-utils

2.编辑DNS主配置文件

vi /etc/named.conf修改主配置文件,如下图:

修改完毕,保存退出

注释如下三行:

//listen-on

port 53 { 127.0.0.1; };

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

//allow-query     { localhost; };

(也可以按照下图修改:二者选其一)


Linux下DNS服务器搭建详解_第1张图片
图一

3.修改/etc/name.rfc1912.zones添加自己的域名测试(正向解析和反向解析,以172.16.2.200为主dns服务器)

zone"test.com"IN {

type master;

file"test.com.zone";

allow-update { none; };

};

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

type master;

file"2.168.192.in-addr.zone";

allow-update { none; };

};

如图:


Linux下DNS服务器搭建详解_第2张图片
图2

4.然后在/var/named目录下创建test.com.zone2.168.192.in-addr.local两个文件分别作正向查询和反向查询。这两个文件的用户组和改目录下的named.localhost等文件一样(一般必须是root:named),否则会出现意想不到的错误。



Linux下DNS服务器搭建详解_第3张图片
图3

1)注意域名后面的点,表示是一个FQDN

2)ns.test.com.不能写成test.com.

3)@有特殊含义,表示当前的DNS区域名,相当于“test.com”电子邮箱地址(由于@符号已有其他含义,因此将邮件地址中的@用“.”代替)。

逆向解析文件2.16.172.in-addr.zone的写法与test.com.zone类似


Linux下DNS服务器搭建详解_第4张图片
图4

5.使用相关命令(named-checkconf、named-checkzone)测试配置文件及区域文件是否存在语法错误


图5


6.确保主配置文件和各区域解析库文件的权限为640,属主为root,属组为named

(1)检查主配置文件的权限:


Linux下DNS服务器搭建详解_第5张图片
图6

(1)检查区域解析库文件/var/named/test.com.zone的权限:


图7

更改权限:


图8

(逆向解析文件2.16.172.in-addr.zone,操作同上)

7.配置完成后,/etc/sysconfig/network-scripts/ifcfg-eth0文件中对主机的域名服务器地址修改:(不修改好像也没有问题)

DNS1=127.0.0.1//此处如果配置成内网IP,则不能对自己定义的test.com等进行解析,不知为何

DOMAIN=test.com//默认搜索域,如果要查找的域名不是完整的域名,则将默认搜索域加到待查名之后,如ftp变成ftp.test.com

8.更改防火墙设置和selinux设置

Getenforce(查看selinux是否开启)

setenforce 0

vi /etc/sysconfig/iptables #配置防火墙端口

-AINPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT

service iptables restart #重启防火墙,使规则生效

9.启动DNS服(注意DNS服务名称在linux是叫做bind

#service named start

10.使用nslookup验证


Linux下DNS服务器搭建详解_第6张图片
图9

11.参考

http://www.cnblogs.com/godjesse/p/3433265.html

http://book.51cto.com/art/201504/470724.htm(参数配置的含义)

http://blog.csdn.net/chen1152/article/details/51115214(主辅配置可参考)

https://jingyan.baidu.com/article/454316ab56277df7a6c03a6a.html

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