CentOS笔记——配置DNS服务器
2016-01-17 15:32
337 查看
前话
咳咳,这次Linux系统的DNS服务器搭建我不得不记下来。,这错误真的太蛋疼了,我整整弄了两天才解决问题(抱歉我很蠢)。也许有人会和我犯同样的错误,给大家分享一下经验。
首先总结一下知识点:
DNS文件配置(named.conf)
正向解析文件配置(xxx.zone)
反向解析文件配置(xxx.rev)
配置文件检查
Named服务启动
务必记得关闭系统防火墙!!!我就死在两天了!!!
下面开始配置实例。
配置实例
为了方便下面的理解,我这里列出参与测试的虚拟机系统 | 角色 | 域名 | IP |
---|---|---|---|
CentOS7 | DNS服务器 | 无 | 192.168.217.130 |
Window Server 2003 | 网站服务器 | pwc.cn | 192.168.217.101 |
Window Server 2003 | DNS客户机 | 无 | 192.168.217.131 |
第一步,安装DNS服务
命令行输入以下命令:yum -y install bind-chroot.x86_64
回车键后yum会自动下载安装服务以及其依赖文件,等待下载完成,安装完成示例如下:
为了方便后面测试,我们需要安装其余两个命令行工具,分别输入以下命令
yum -y install net-tools.x86_64
yum -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.101 www.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服务
我们需要修改/etc/resolv.con文件,该实例添加内容
nameserver 192.168.217.130
我们输入命令
service named start
输出了如上内容,好像成功了。
接着我们试试
nslookup pwc.cn,然而解析不出pwc.cn的IP。
我们输入命令
service named status -l,然后我们可以看到如下信息:
看到红色文字,原来是正向反向解析文件访问受限。
所以我们输入命令
chmod -R 777 cn.*对两个文件赋予最大权限。
接着我们输入命令
service named restart重启DNS服务,然后再输入
service named status -l检查状态。
输出如上,说明DNS服务启动基本成功。
我们在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或者浏览器输入都可以成功解析。
感想
最后能够解决问题感觉真好。相关文章推荐
- Centos6 编译安装Python
- 硬盘安装CentOS 6.2以及添加GRUB启动菜单
- maven使用经验集
- CentOS 6.2实战部署Nginx+MySQL+PHP
- 精解Linux RHEL 6.x DNS 服务器
- CentOS 7系统配置上的变化解析
- Vista 防火墙 Vista Firewall Control v1.0.11 下载
- CentOS下DB2数据库安装过程详解
- CentOS 6.3下编译安装Ruby 2.0笔记
- 样式表CSS布局经验
- 收集的ROS防火墙脚本
- 路由器之基本维护经验
- AutoRun病毒专杀防火墙 V4.39 绿色版
- 学习C和C++的9点经验总结
- 在Centos 5.5 上编译安装mysql 5.5.9
- 在阿里云的CentOS环境中安装配置MySQL的教程
- 非常不错的MySQL优化的8条经验