安装域名服务
yum -y install bind*
一、创建该实验的的模型
![](https://images0.cnblogs.com/blog2015/708365/201503/201414493929985.png)
配置完gate虚拟机的两张网卡后,就启动gate的转发
[root@localhost root]# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
修改成以上的形式,net.ipv4.ip_forward=1是指表示转发,0表示不转发
vm1和vm2要添加到达对方的路由
vm1上:
# route add -net 192.168.128.0/24 gw 10.10.10.8
vm2上:
# route add -net 10.10.10.0/24 gw 192.168.128.8
通过ping命令互相ping通
二、开始BIND的设置:
1、打开/etc/name.conf
[root@localhost root]# vi /etc/named.conf
![](https://images0.cnblogs.com/blog2015/708365/201503/201415276104827.png)
添加上了后面一段
zone "gr.org" IN { //指定一个域名为gr.org的正向区域
type master;
file "gr.org.db"; //指定文件名是gr.org.db
};
type master;
file "gr.org.db"; //指定文件名是gr.org.db
};
区域Type: master: 主域服务 slave: 从域服务 stub: 只复制主域的NS记录,属于BIND特有功能. hint: 设定初始化设置根域服务器所用的参数. forward: 域转发设置
2、添加域名解析文件
添加一个gr.org的区域(zone),类型为主机(master,还有两种是slave和hint)
文件就在option定义的目录下/var/named
在该目录下创建gr.org.db文件
创建该文件,并插入以下的内容
[root@localhost root]# vi /var/named/gr.org.db
![](https://images0.cnblogs.com/blog2015/708365/201503/201416206882210.png)
|
time to live 生存时间,默认为秒 | |
@ |
表示相应的域名,表示一个域名定义的开始 |
|
IN |
表示后面的数据使用的是INTERNET标准 |
|
SOA |
表示授权开始 |
|
ns.gr.org. |
该域的主域名服务器 |
|
root.gr.org. |
管理员邮件地址(这里的邮件地址中的用.来代替常见的邮件地址的@.) |
|
20150317 |
serial(d. adams)表示配置文件的修改版本,格式是年月日当日修改的次数,每次修改时都应该修改这个数字, 要不然所做修改的不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你你的所配置 的DNS服务器数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就 不会反映出你的更新,也就对他们来说你更新是没意义的 |
|
6H |
refresh,定义以单位(M分,H时,W周,默认是秒即不带单位)的刷新频率,即规定从域名服务器多长时间查 询一个主服务器,以服务器的数据的是最新的 |
|
30M |
retry,以30分钟的时间间隔重试,即当从服务器试图在主服务器上查询更新时,而连接失败了,则这个值规定 了从服务器多长时间后重试 |
|
1W |
expire,规定从服务器在向主服务器更新失败之后清除记录的时间 |
|
15M |
minimum TTL,规定缓冲服务器不能与主服务器联系上的清除记录时间 |
|
NS |
net server,表示该主机是域名服务器 |
|
A |
address,定义了一条A记录,表示该主机名到IP地址的对应记录 |
|
MX |
mail exchange,定义一条邮件记录 |
|
CNAME |
定义了对应主机的一个别名 |
|
PTR |
指一条反向域名解析PTR记录,类似A记录(PTR指针记录由IP地址提供商提供) |
(图表2016-11-02更新)
{
配置域名解析器
#cat > /etc/resolv.conf
nameserver 10.10.10.10
DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
此处是2015/3/24完善的}
3、测试设置是否完成
设置完成后,可用cat命令查看是否设置完整,确认后
使用命令
# service named start
启动服务,提示成功启动即可使用下面的命令来查看是否能连接到本机设置的DNS
{
如果要开机启动就是用下面的命令
chkconfig named on
此处是2015/3/24完善的}
(1)测试vm1上能否查询到该域名
# nslookup -sil www.gr.org
如果出现
** server can't find www.gr.org: SERVFAIL
可以查看/etc/named.conf和/var/named/下的相关文件,这里是gr.org.db是否设置出错,一个地方出错都不会执行
(2)测试vm2上能否查询到该域名
成功之后,可以在vm2上查看是否存在
出现这个问题,很大程度上是由于gate机器上已经关掉该端口了,所以就使用关掉防火墙的简单方法开启该端口(53)。
在gate虚拟机上
# service iptables stop
(3)测试Windows上能否查询到该域名
使用Windows系统测试是否存在
先试试ping www.gr.org
看可不可以ping的通,一般可以的(应为我们也有这个网址被用了),那么如何判断是否是连我们的vm1的?
那就要断掉本地网络再试试ping命令
发现ping www.gr.org是不通的,而ping 10.10.10.10是通的,原因是没有设置DNS,设置方法如下:
1.关闭本地网络(以太网)
2.把vm1的DNS改为vm1的ip
再试试
>ping www.gr.org
![](https://images0.cnblogs.com/blog2015/708365/201503/201416588763511.png)
4、在上面的基础上进行添加反向域名解析
(1)下面就要我们加上反向域名解析域区
# vi /etc/named.conf
添加以下的语句(内容)
zone "10.10.10.in-addr.arpa" IN{ //定义一个ip是10.10.10.*的反向域区
type master;
file "10.10.10.db";
};
![](https://images0.cnblogs.com/blog2015/708365/201503/201417285635646.png)
注:如果在file下面加上一句allow-transfer {192.168.6.4;};
就是说指定从服务器,从服务器上面就要加上主服务器的ip即加上
master {192.168.6.3;};
(2)添加反向域名解析文件和配置
再用命令# vi /var/named/10.10.10.db
添加如下的配置信息
$TTL 86400
@ IN SOA ns.gr.org root.gr.org.(
20150317 6H 30M 1W 15M)
IN NS ns.gr.org.
10 IN PTR ns.gr.org.
10 IN PTR www.gr.org.
11 IN PTR mail.gr.org.
@ IN SOA ns.gr.org root.gr.org.(
20150317 6H 30M 1W 15M)
IN NS ns.gr.org.
10 IN PTR ns.gr.org.
10 IN PTR www.gr.org.
11 IN PTR mail.gr.org.
注:
PTR 指一条反向域名解析PTR记录,类似A记录(PTR指针记录由IP地址提供商提供)
![](https://images0.cnblogs.com/blog2015/708365/201503/201417482828303.png)
注:这里刚好是对称的,不容易看出,其实就比如192.168.133.0/24(就是用133.168.192的特殊域),后面的10,11就类似于用192.168.133.0/24的来表示就是10.133.168.192.in-addr.arpa(也就是192.168.133.10),这里是10.10.10.10.in-addr.arpa和11.10.10.10.in-addr.arpa
(3)测试配置是否完成
使用命令# rndc reload重启域名服务
通过# nslookup -sil 10.10.10.10
(在vm2也可以看到一样的信息)
就可以看到了信息
Server: 10.10.10.10
Address: 10.10.10.10#53
10.10.10.10.in-addr.arpa name = www.gr.org.
10.10.10.10.in-addr.arpa name = ns.gr.org.
Address: 10.10.10.10#53
10.10.10.10.in-addr.arpa name = www.gr.org.
10.10.10.10.in-addr.arpa name = ns.gr.org.
![](https://images0.cnblogs.com/blog2015/708365/201503/201417577515397.png)
有两条,证明我们的反向域名解析也配置好了