前话
咳咳,这次Linux系统的DNS服务器搭建我不得不记下来。,这错误真的太蛋疼了,我整整弄了两天才解决问题(抱歉我很蠢)。也许有⼈会和我犯同样的错误,给⼤家分享⼀下经验。⾸先总结⼀下知识点:
DNS⽂件配置(named.conf)正向解析⽂件配置(xxx.zone)反向解析⽂件配置(xxx.rev)配置⽂件检查Named服务启动
务必记得关闭系统防⽕墙我就死在两天了下⾯开始配置实例。
配置实例
为了⽅便下⾯的理解,我这⾥列出参与测试的虚拟机
系统
CentOS7
⾓⾊
域名
IP
192.168.217.130192.168.217.131
DNS服务器⽆
Window Server 2003⽹站服务器pwc.cn192.168.217.101Window Server 2003DNS客户机⽆
第⼀步,安装DNS服务
命令⾏输⼊以下命令:
yum -y install bind-chroot.x86_64
回车键后yum会⾃动下载安装服务以及其依赖⽂件,等待下载完成,安装完成⽰例如下:
为了⽅便后⾯测试,我们需要安装其余两个命令⾏⼯具,分别输⼊以下命令
yum -y install net-tools.x86_64yum -y install bind-utils.x86_64
到这⾥,我们启动⼀下DNS服务试试,输⼊以下命令:
service named start
启动成功,接着我们关闭DNS服务。到这⾥,DNS服务安装完成
第⼆步,配置DNS⽂件
⾸先,我们找到/etc/named.conf⽂件并进⼊其所在⽬录,输⼊命令⾏ vi named.conf进⾏查看编辑,named.conf⽂件内容如下 :
options { //服务器的全局配置选项及⼀些默认设置
listen-on port 53 { 127.0.0.1; }; //监听IP和端⼝,此处监听本地IP listen-on-v6 port 53 { ::1; }; //对ip6⽀持
directory \"/var/named\"; //区域⽂件存储⽬录
dump-file \"/var/named/data/cache_dump.db\"; //dump cach的⽬录directory statistics-file \"/var/named/data/named_stats.txt\";
memstatistics-file \"/var/named/data/named_mem_stats.txt\";
forwarders { 1.1.1.1; 2.2.2.2; }; // 如果域名服务器⽆法解析时,将请求交由1.1.1.1;2.2.2.2来解析
allow-query { localhost; }; //指定允许进⾏查询的主机
allow-transfer { none; }; //指定允许接受区域传送请求的主机,说明⽩⼀点就是辅dns定义,⽐如辅dns的ip是3.3.3.3,那么可以这样定义{ 3.3.3.3; },要不然主辅dns不能同步 recursion yes;
dnssec-enable yes; dnssec-validation yes;
bindkeys-file \"/etc/named.iscdlv.key\";
managed-keys-directory \"/var/named/dynamic\";
pid-file \"/var/run/named/named.pid\"; //存着named的pid session-keyfile-direction \"/run/named/session.key\";};
logging { //指定服务器⽇志记录的内容和⽇志信息来源 channel default_debug { file \"data/named.run\"; severity dynamic; };
zone \".\" IN { //根域名区域,下⾯指定file⽂件中包含全球13个根域名服务器地址 type hint;
file \"name.ca\";};
include \"/etc/named.rfc1912.zones\";include \"/etc/named.root.key\";
要添加⾃⼰的解析域,只需在内容后⾯添加zone即可。 另外,我们要注意zone内的type,该type值有三种,如下:
hint,存根区域master,主要区域slave,辅助区域
下⾯,我们对其进⾏修改,加上⾃⼰的域名解析,修改后内容如下(只展⽰需修改和添加的部分):
options { //服务器的全局配置选项及⼀些默认设置
listen-on port 53 { any; }; //修改为any,表⽰监听本机所有IP
allow-query { any; }; //修改为any,表⽰接收所有DNS解析请求};
zone \".\" IN { //根域名区域,下⾯指定file⽂件中包含全球13个根域名服务器地址 type hint;
file \"name.ca\";};
//下⾯我们⾃⼰添加解析域zone \"cn\" IN { //正向解析 type master; file \"cn.zone\";};
zone \"217.168.192.in-addr.arpa\" IN { //反向解析,注意 type master; file \"cn.rev\";};
include \"/etc/named.rfc1912.zones\";include \"/etc/named.root.key\";
这时,我们命令⾏键⼊如下命令进⾏DNS配置⽂件检查:
named-checkconf /etc/named.conf
如果回车键后没有错误提⽰,表⽰改配置没有错误
到这⾥,我们就配置好了DNS配置⽂件。但是还没结束,下⾯我们要创建新添加的两个zone区域⽂件,分别是cn.zone正向解析⽂件,和cn.rev反向解析⽂件
第三步,正向解析⽂件配置
⾸先,我们进⼊⽂件夹 /var/named,然后我们创建⼀个名为 cn.zone 的⽂件,键⼊如下命令:
vi cn.zone
进⼊编辑模式,添加如下内容:
$TTL 3H //M/H/D/W分别代表分/时/天/周,纯数字表⽰秒@ IN SOA luoyefengqiao. root. ( 2016011701;serial
1D; refresh 1H; retry 1W; expire
3H ) ; minimum; ‘;’作为注释的开头; Zone NS records;
@ NS luoyefengqiao.;
; Zone records;
pwc A 192.168.217.101www.pwc CNAME pwc.cn.
保存推出后,我们键⼊如下命令对其配置进⾏检查:
named-checkzone cn /var/named/cn.zone如果返回 ok 表⽰没有错误。
到这⾥,我们的正向解析配置⽂件基本完成。
第四步,反向解析⽂件配置
我们在同样⽬录创建⼀个名为 cn.rev 的⽂件,键⼊如下命令:
vi cn.rev
进⼊编辑模式,添加如下内容:
$TTL 3H
@ IN SOA luoyefengqiao. root. ( 2016011701;serial 1D; refresh 1H; retry 1W; expire
3H ) ; minimum@ NS luoyefengqiao.101 PTR pwc.cn.
保存退出,然后我们同样键⼊检查命令:
named-checkzone cn /var/named/cn.rev输出 ok 表⽰没有错误
到这⾥,反向解析⽂件配置完成。
第五步,启动DNS服务
1. 我们需要修改 /etc/resolv.con ⽂件,该实例添加内容 nameserver 192.168.217.130 2. 我们输⼊命令 service named start
输出了如上内容,好像成功了。
接着我们试试 nslookup pwc.cn,然⽽解析不出pwc.cn的IP。3. 我们输⼊命令 service named status -l ,然后我们可以看到如下信息:
看到红⾊⽂字,原来是正向反向解析⽂件访问受限。
所以我们输⼊命令 chmod -R 777 cn.* 对两个⽂件赋予最⼤权限。
接着我们输⼊命令 service named restart 重启DNS服务,然后再输⼊ service named status -l 检查状态。
输出如上,说明DNS服务启动基本成功。
4. 我们在DNS服务器中输⼊命令 nslookup pwc.cn 和 nslookup www.pwc.cn ,DNS服务器本机解析基本没问题。
然⽽,我们在DNS客户机dos命令窗⼝输⼊ nslookup pwc.cn 或者 nslookup www.pwc.cn 却请求DNS解析失败
解析失败为啥
这个问题困扰了我两天,客户机 ping DNS服务器可以连通啊,为啥客户机对DNS服务器请求解析错误 DNS服务器检查了没有iptables防⽕墙服务啊,selinux服务也关闭了啊,为啥为啥为啥
最后⼀步,关闭firewalld防⽕墙
最后找了好久,终于找到真理,centos7的默认是不带iptables防⽕墙的,它带的是firewalld防⽕墙服务。所以,输⼊以下命令:
service firewalld stop要永远关闭它⾃⾏⾕歌百度:)
然后客户机dos输⼊ nslookup www.pwc.cn 或者 nslookup pwc.cn 或者浏览器输⼊都可以成功解析。
感想
最后能够解决问题感觉真好。
因篇幅问题不能全部显示,请点此查看更多更全内容