CentOS下使用Bind配置DNS服务



一、DNS简介

二、Bind安装

三、Bind配置

四、Bind检查配置文件

五、验证

六、常见错误

七、待整理





一、DNS简介

DNS(Domain Name Service),域名解析服务。

    发展史:

    1、早期计算机比较少时人们通过创建修改自己计算机上的hosts文件来实现IP与域名的对应关系。

    2、为了统一管理,更快地更新到最新的hosts文件,人们统一到一台ftp服务器上下载hosts文件。

    3、当计算机爆炸性增长时,通过统一到ftp服务器上下载更新hosts文件不现实,于是产生了多级域来管理域名。上级域名只负责给下级域授权。


域名类型:

【根域】

.

【一级域/顶级域】

组织域、商业机构域:com, com.cn, org, gov, edu, net

国家域:cn, hk, tw, jp, kr, ir, iq, my, us, uk, ru, jp

反向域:in-addr-arpa

【二级域】

baidu.com    sina.com.cn    google.cn    163.com


例:(在此忽略TTL说明)
用户202.96.128.1设置的DNS服务器为:8.8.8.8,它要获取 tieba.baidu.com 的IP地址。过程如下:
1、202.96.128.1先查询本地有没查询缓存,如果没有则向DNS服务器查询。
2、DNS服务器8.8.8.8先务器的信息,因此它不会直接返回 tieba.baidu.com 的IP,而是告诉 DNS服务器8.8.8.8 :“com. 的地址是 1.1.1.1,你去找它查询吧。”
4、8.8.8.8到com中询问。同理,com. 域中不存放tieba.baidu.com 的IP,它会返回信息给DNS服务器8.8.8.8 :“ baidu.com. 的地址是 10.10.10.10,你去找它查询吧。”
5、此时DNS服务器8.8.8.8向baidu.com. 查询 tieba.baidu.com 的地址,baidu.com 会返回tieba.baidu.com. 的IP:12.12.12.12给DNS服务器。
6、DNS服务器接收到查询结果后会把记录缓存下来方便用户以后查询,同时返回查询结果给用户202.96.128.1。



二、Bind安装

Bind(Berkeley Internet Name Domain)

CentOS中使用yum安装:yum install bind bind-utils bind-libs portreserve

portreserve 我也不知道是什么,依赖关系安装了它
bind-libs bind要用到的库
bind-utils 一些工具,nslookup,host,dig等
bind 就是作域名解析的安装包


三、Bind配置

# vim /etc/named.conf    # 修改监听地址和允许查询配置
       listen-on port 53 { 192.168.86.16; };   //设置bind监听在192.168.86.16:53
        allow-query     { 192.168.86.0/24; };  //设置允许192.168.86.0网段设置为DNS服务器来查询
# vim /etc/named.rfc1912.zones    # 增加contoso.com域和反向解析192.168.86.arpa
zone "contoso.com" IN {
        type master;
        file "contoso.com";    //文件名一定要跟后面创建的zone文件(/var/named/下的)对应
        allow-update { none; };
};
zone "86.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.86.arpa"; //文件名一定要跟后面创建的zone文件(/var/named/下的)对应
        allow-update { none; }; 
};


# vim /var/named/contoso.com

$TTL 1800

@IN SOAcontoso.com. admin.contoso.com. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

@INNSlinuxdns.contoso.com.

linuxdnsINA192.168.86.16

dc01INA192.168.86.1

dc02INA192.168.86.2

*INA192.168.86.12


# vim /var/named/192.168.86.arpa 

$TTL 1800

@IN SOAcontoso.com. admin.contoso.com. (

0; serial

1D; refresh

1H; retry

1W; expire

3H ); minimum

@INNSlinuxdns.contoso.com.

16INPTRlinuxdns.contoso.com.

1INPTRdc01.contoso.com.

2INPTRdc02.contoso.com.


# chown named.named /var/named/192.168.86.arpa /var/named/contoso.com

# /etc/init.d/named start


四、Bind检查配置文件

# named-checkconf /etc/named.conf

# named-checkconf /etc/named.rfc1912.zones

# named-checkzone contoso.com /var/named/contoso.com



五、验证

nslookup linuxdns.contoso.com 192.168.86.16

nslookup dc01.contoso.com 192.168.86.16

nslookup dc02.contoso.com 192.168.86.16

dig linuxdns.contoso.com @192.168.86.16


六、常见错误排查


1、bind的配置文件,allow-query、listen-on,

2、zone文件的格式和权限(named需要对文件有读取的权限) # chown -R named.named /var/named/

3、iptables(开放53端口)    # iptables -F

4、selinux(一般设置为permissive或者disabled) # setenforce 0




七、待整理更新





















你可能感兴趣的:(bind,dns)