共计 5481 个字符,预计需要花费 14 分钟才能阅读完成。
DNS(Domain Name System,域名系统),因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。通过主机名,最终得到该主机名对应的 IP 地址的过程叫做域名解析(或主机名解析)。DNS 协议运行在 UDP 协议之上,使用端口号为 53。
1.网络环境图示
————————————– 分割线 ————————————–
CentOS 下源码安装 Bind 9.6.1 搭建 DNS 服务器 http://www.linuxidc.com/Linux/2014-06/103660.htm
使用 BIND 配置 DNS 服务器 — 初级篇 http://www.linuxidc.com/Linux/2013-05/84920.htm
BIND+DLZ+MySQL 智能 DNS 的正向解析和反向解析实现方法 http://www.linuxidc.com/Linux/2013-04/82527.htm
域名服务 BIND 构建与应用配置 http://www.linuxidc.com/Linux/2013-04/82111.htm
Ubuntu BIND9 泛域名解析配置 http://www.linuxidc.com/Linux/2013-03/81928.htm
CentOS 5.2 下安装 BIND9.6 http://www.linuxidc.com/Linux/2013-02/79889.htm
DNS 服务器配置图文详解 http://www.linuxidc.com/Linux/2012-10/72728.htm
————————————– 分割线 ————————————–
2.分别在两台服务器 ns1 和 ns2 上通过 YUM 安装 Bind 软件包
[root@ns1 ~]# yum install bind
[root@ns2 ~]# yum install bind
3.配置 ns1 的正反向区域配置文件
# 编辑 named 主区域配置文件, 注释不需要配置
# 在 /etc/named.rfc1912.zones 文件中添加区域配置信息
[root@ns1 ~]# tail -8 /etc/named.rfc1912.zones
zone “test.com” IN {
type master;
file “test.com.zone”;
};
zone “21.16.172.in-addr-arpa” IN {
type master;
file “172.16.21.zone”;
};
# 编辑 test.com 及 ”21.16.172.in-addr-arpa” 的区域配置文件, 内容如下
[root@ns1 ~]# cat /var/named/test.com.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10mail.test.com.
ns1IN A172.16.21.1
mailIN A172.16.21.100
wwwIN A172.16.21.10
[root@ns1 ~]# cat /var/named/172.16.21.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10 mail.test.com.
1IN PTRns1.test.com.
100IN PTRmail.test.com
10IN PTRwww.test.com
验证:
4.将 ns2 配置为 ns1 的从服务器
# 编辑主配置文件, 将不需要选项加以注释
# 编辑 /etc/named.rfc1912.zones, 添加如下内容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone “test.com” IN {
type slave;
file “slave/test.com.zone”;
masters {172.16.21.1;};
};
# 在 ns1 服务器上编辑 /etc/named.rfc1912.zones 文件, 在区域 test.com 的配置中添加以下内容, 用于支持区域传送
allow-transfer {172.16.21.2;};
# 在 ns1 服务器上的 test.com.zone 配置文件中把 ns2 添加为 DNS 服务器
@ IN NS ns2.test.com.
ns2 IN A 172.16.21.2
验证:
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-08/105378p2.htm
5.将 ns 配置为 ns1 的 tech 子域的服务器, 并将 test.com. 域的请求转发到 ns1 服务器上
# 在 ns1 的 /var/named/test.com.zone 文件中添加 ns 的胶水记录
tech IN NS ns.tech.test.com.
ns.tech IN A 172.16.21.2
# 在 ns2 的 /etc/named.rfc1912.zones 中添加 tech.test.com 区域, 内容如下
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone “tech.test.com” IN {
type master;
file “tech.test.com.zone”;
};
# 编辑 tech.test.com.zone 区域配置文件
[root@ns2 named]# vim tech.test.com.zone
$TTL 3600
@ IN SOA tech.test.com. admin.tech.test.com. (
2014080501 ; serial
3H ; refresh
15M ; retry
5D ; expire
1D ) ; minimum
IN NS ns
ns IN A 172.16.21.2
www IN A 172.16.21.22
# 修改 tech.test.com.zone 属组为 named
chgrp named tech.test.com.zone
# 在实验过程当中遇到一个问题, 父域的 DNS 总是无法解析子域中的名称, 错误信息如下
#Aug 4 22:09:15 wh1 named[3294]: error (no valid DS) resolving ‘ns.tech.test.com/A/IN’: 172.16.21.2#53
经过各种 google, 百度, 终于找到解决方法
#####################################
dnssec-enable no;
dnssec-validation no;
#####################################
验证:
# 现在虽然使用父域的 DNS 可以解析到子域的服务器地址, 但是子域却会去根下查找其父域的域名, 由于没有在互联网上注册, 所以肯定无法查找到, 所以需要在子域上配置子域转发
# 配置子域转发, 在 /etc/named.rfc1912.zones 中添加如下内容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone “test.com” IN {
type forward;
forward only;
forwarders {172.16.21.1;};
};
# 重启服务
验证:
6.将 ns1 服务器配置为视图, 根据用户网络地址选择最优的服务器地址返回给客户
# 修改配置文件, 将原有的区域配置均移动到 view neiwang {}; 中, 并在其中添加:
match-clients {172.16.0.0/16;};
# 并在下方再定义一个新的视图, 内容如下:
view waiwang {
match-clients {any;};
zone “test.com” IN {
type master;
file “test.com.zone.waiwang”;
allow-transfer {any;};
};
};
验证:
当客户端 IP 为 172 网段时, 结果如下:
将客户端 IP 改为 192.168 网段, 再进行解析, 结果如下:
可见, 视图功能已经配置成功, 当我们在双线接入服务器以及当服务器面向内网及外网时, 也可以减轻 DNS 服务器为外网解析其他域 IP 地址而消耗多余的资源。
DNS(Domain Name System,域名系统),因特网上作为域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。通过主机名,最终得到该主机名对应的 IP 地址的过程叫做域名解析(或主机名解析)。DNS 协议运行在 UDP 协议之上,使用端口号为 53。
1.网络环境图示
————————————– 分割线 ————————————–
CentOS 下源码安装 Bind 9.6.1 搭建 DNS 服务器 http://www.linuxidc.com/Linux/2014-06/103660.htm
使用 BIND 配置 DNS 服务器 — 初级篇 http://www.linuxidc.com/Linux/2013-05/84920.htm
BIND+DLZ+MySQL 智能 DNS 的正向解析和反向解析实现方法 http://www.linuxidc.com/Linux/2013-04/82527.htm
域名服务 BIND 构建与应用配置 http://www.linuxidc.com/Linux/2013-04/82111.htm
Ubuntu BIND9 泛域名解析配置 http://www.linuxidc.com/Linux/2013-03/81928.htm
CentOS 5.2 下安装 BIND9.6 http://www.linuxidc.com/Linux/2013-02/79889.htm
DNS 服务器配置图文详解 http://www.linuxidc.com/Linux/2012-10/72728.htm
————————————– 分割线 ————————————–
2.分别在两台服务器 ns1 和 ns2 上通过 YUM 安装 Bind 软件包
[root@ns1 ~]# yum install bind
[root@ns2 ~]# yum install bind
3.配置 ns1 的正反向区域配置文件
# 编辑 named 主区域配置文件, 注释不需要配置
# 在 /etc/named.rfc1912.zones 文件中添加区域配置信息
[root@ns1 ~]# tail -8 /etc/named.rfc1912.zones
zone “test.com” IN {
type master;
file “test.com.zone”;
};
zone “21.16.172.in-addr-arpa” IN {
type master;
file “172.16.21.zone”;
};
# 编辑 test.com 及 ”21.16.172.in-addr-arpa” 的区域配置文件, 内容如下
[root@ns1 ~]# cat /var/named/test.com.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10mail.test.com.
ns1IN A172.16.21.1
mailIN A172.16.21.100
wwwIN A172.16.21.10
[root@ns1 ~]# cat /var/named/172.16.21.zone
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10 mail.test.com.
1IN PTRns1.test.com.
100IN PTRmail.test.com
10IN PTRwww.test.com
验证:
4.将 ns2 配置为 ns1 的从服务器
# 编辑主配置文件, 将不需要选项加以注释
# 编辑 /etc/named.rfc1912.zones, 添加如下内容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone “test.com” IN {
type slave;
file “slave/test.com.zone”;
masters {172.16.21.1;};
};
# 在 ns1 服务器上编辑 /etc/named.rfc1912.zones 文件, 在区域 test.com 的配置中添加以下内容, 用于支持区域传送
allow-transfer {172.16.21.2;};
# 在 ns1 服务器上的 test.com.zone 配置文件中把 ns2 添加为 DNS 服务器
@ IN NS ns2.test.com.
ns2 IN A 172.16.21.2
验证:
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-08/105378p2.htm