DNS服务器的搭建
准备工作
实验环境:CentOS6
设置好IP,DNS,,网关(要连接外网的)
(我这次的IP为静态192.168.3.70)
rpm –q bind 检查有无安装DNS服务器
1.安装DNS服务器功能
yum install bind*(加-y 就是默认选择yes)
2编辑DNS主配置文件
vim /etc/name.conf 修改主配置文件
options {
# listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";
# allow-query { localhost; };
allow-query {any;};
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
红色的是要修改的
3.修改named.rfc1912.zones文件
vim /etc/named.rfc1912.zones 编辑文件
添加两个新域名解析(一个正向一个反向)
zone "https://www.doczj.com/doc/3d4140023.html," IN{
type master;
file "https://www.doczj.com/doc/3d4140023.html,.zone";
allow-update {none};
};
zone "3.168.192.in-addr.arpa" IN{
type master;
file "192.168.3.zone";
allow-update {none};
};
后面每一句话都要加分号;
第一个红色字体的是域名
第二个红色字体是前三位IP地址倒写
蓝色字体的是等一下的配置文件名(以方便为主,在后面加上“.zone”)
4.添加DNS本机正向解析文件
vim /var/named/https://www.doczj.com/doc/3d4140023.html,.zone创建配置文件
输入
$TTL 84600
@ IN SOA @ https://www.doczj.com/doc/3d4140023.html,. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS https://www.doczj.com/doc/3d4140023.html,.
@ IN MX 5 https://www.doczj.com/doc/3d4140023.html,.
ns IN A 192.168.3.70
www IN A 192.168.3.70
mail IN A 192.168.3.70
pop3 IN CNAME 192.168.3.70
hello IN A 192.168.3.70
smtp IN CNAME mail
zone配置文件简单说明:
常见的正解文件RR 相关信息
[domain] IN [[RR type] [RR data]]
主机名. IN A IPv4 的IP 地址
主机名. IN AAAA IPv6 的IP 地址
领域名. IN NS 管理这个领域名的服务器主机名字.
领域名. IN SOA 管理这个领域名的七个重要参数(如上说明)
领域名. IN MX 顺序数字接收邮件的服务器主机名字
主机别名. IN CNAME 实际代表这个主机别名的主机名字.
单位:W= 周、D= 日、H= 小时、M= 分钟。
$TTL 86400
@ IN SOA https://www.doczj.com/doc/3d4140023.html,. root ( # ns.test.web. 是DNS服务器的名称
0 ; serial (d. adams) 仅作为序列号而已
1D ; refresh 服务器的更新时间
15M ; retry 重新更新时间间隔
1W ; expiry 多久之后宣布失败
1H ) ; minimum 相当于缓存记忆时间
@ IN NS https://www.doczj.com/doc/3d4140023.html,.
@ IN MX 5 https://www.doczj.com/doc/3d4140023.html,. (5为优先级别)
ns IN A 192.168.32.131
www IN A 192.168.32.131
mail IN A 192.168.32.131
(根据需要填写)
5.反向解析
添加反向解析文件
vim /var/named/192.168.3.zone
输入
$TTL 3H
@ IN SOA @ https://www.doczj.com/doc/3d4140023.html,. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS https://www.doczj.com/doc/3d4140023.html,.(域名)
80(这里写第四位IP地址)IN PTR https://www.doczj.com/doc/3d4140023.html,.(主机名)
6.启动DNS服务器
service named start 或者/etc/init.d/named strat 启动chkconfig named on 设置开机启动(虽然我觉得没什么必要)
7.配置路由器的DNS
在路由器上配置第一个DNS 地址为:192.168.3.70
第二个DNS地址为正常的DNS地址。
这样,公司内部访问特定的https://www.doczj.com/doc/3d4140023.html,域名,就会解析到内部服务器。同时还可以访问外网。
额外选项
8、测试检测域信息是否正常(重要)
检查之前先看下配置文件有没有读取权限ll /var/named (如果没有读取权限,chmod +r /var/named/* 即可)
9.更改防火墙设置和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 #重启防火墙,使规则生效
10.检查bind文件配置过程中容易出错
以下命令用以检查bind配置文件及zone文件语法named-checkconf /etc/named.conf
named-checkzone https://www.doczj.com/doc/3d4140023.html, /var/named/ https://www.doczj.com/doc/3d4140023.html,.zone
11.启动重启DNS服务,查看服务状态
service named restart
service network restart
用户端测试解析,通过nslookup进行测试。nslookup
>192.168.3.80
Server: 192.168.3.70
Address: 192.168.3.70#53
80.3.168.192.in-addr.arpa name = https://www.doczj.com/doc/3d4140023.html,. >https://www.doczj.com/doc/3d4140023.html,
Server: 192.168.3.70 Address: 192.168.3.70#53
Name: https://www.doczj.com/doc/3d4140023.html, Address: 192.168.3.70