您的位置:首页 > 其它

DNS配置之【正反解析与主从服务】 推荐

2015-06-19 08:26 525 查看
正反解析

今天和很高兴和大家分享DNS服务的配置,记得点赞哦! 话不多说了,赶紧进入正题吧!

简介:
1.Linux下使用的DNS服务器软件是Bind,其守护进程是named,用于提供域名解析服务
DNS的基本介绍:
DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户机提供正向与反向的地址查询,即正向与反向解析。

正向解析:根据域名查ip地址,将指定的域名解析为相对应的ip地址。

反向解析:根据ip地址查域名,将指定的ip地址解析成相对应的域名。

DNS可分为不同的类型,常见的几类如下:
缓存域名服务器:只提供域名解析结果和缓存功能,目的在于高效查询速度和效率,但是没有自己控制的区域地址数据。配置此服务器时,必须指定其他DNS服务器作为解析。

主域名服务器:维护某个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,配置此服务器时,需要自行建立所负责区域的地址数据文件。

从域名服务器:与主服务器提供完全相同的DNS解析服务,通常用于服务器的热备份。

实验环境:
两台Linux虚拟机,一条做主服务器,并提供正、反解析,从服务器做服务器的热备份
RedHat6.2 64位 ip地址为192.168.100.20

系统中的各种软件包,及作用
bind-9.7.3-8.P3.el6.x86_64.rpm            //主要程序及相关的配置文件
bind-chroot-9.7.3-8.P3.el6.x86_64.rpm      //BIND服务的伪装根目录,以提高安全性
bind-libs-9.7.3-8.P3.el6.i686.rpm           //提供了需要使用的数据函
bind-libs-9.7.3-8.P3.el6.x86_64.rpm
bind-utils-9.7.3-8.P3.el6.x86_64.rpm       //提供了对DNS服务器的测试工具host,nslookup


3.1 查询bind是否安装
rpm -q bind
如果没安装,则直接安装,方式有两种:
rpm -ivh /mnt/Packages/bind-9.7.3-8.P3.el6.x86_64.rpm //使用RPM进行安装

yum install bind //使用yum进行安装 (创建yum的方法这里就不解释了)如有需要,请看前几篇

[root@server02 ~]# rpm -qc bind //使用此命令,可以查看配置文件的所在目录 主要修改一下三个配置文件即可
/etc/logrotate.d/named
/etc/named.conf     主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones   区域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost   区域数据配置文件
/var/named/named.loopback


主配置文件:位于etc目录下,/etc/named.conf,options定义服务器的全局配置选项,在一个named.conf文件中只能有一

options {
listen-on port 53 { 192.168.100.20; };  //监听地址和端口
directory       "/var/named";       //区域数据文件的默认存放位置
allow-query     { any; };           //允许所有地址进行访问


区域配置部分:/etc/named.rfc1912.zones
zone "benet.com" IN {              //正向“benet.com”区域
type master;              //类型为主区域
file "benet.com.zone";      //区域数据文件为benet.com.zone
allow-transfer { 192.168.100.30; };  //允许下载的从服务器地址
};
[root@server02 ~]# cd /var/named/
[root@server02 named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@server02 named]# cp -p named.localhost benet.com.zone //复制一个新的区域数据文件,并保留属主、属组不变。
[root@server02 named]# vi benet.com.zone

区域数据配置文件:
编写正向解析数据文件:
$TTL 1D                        //有效解析记录的生存周期
@       IN SOA  @ admin  (    //SOA标记、域名、管理邮箱
10      ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum

这里@是一个变量,相当于benet.com

地址解析部分:

NS      @             //记录当前区域的DNS服务器的主机地址
A       192.168.100.20
IN MX  5       benet.com.
mail IN A       192.168.100.110    //设置A记录,正向解析记录
www IN  A       192.168.100.120
ftp IN  CNAME   www.benet.com.   //设置别名
*  IN   A       192.168.100.254    //设置泛域名解析


[root@server02 named]# echo "nameserver 192.168.100.20" > /etc/resolv.conf //指定本地DNS 解析的地址,并重定向到/etc/resolv.conf

[root@server02 named]# service named start //开启服务
启动 named: [确定]

为了做主从服务器,这里先关闭防火墙和SELinux,(不关,不影响正常解析)
[root@server02 named]# service iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
[root@server02 named]# setenforce 0
这时就能够在本地进行解析了
[root@server02 named]# host www.benet.com
www.benet.com has address 192.168.100.120
[root@server02 named]# host mail.benet.com
mail.benet.com has address 192.168.100.110
[root@server02 named]# host abc.benet.com
abc.benet.com has address 192.168.100.254
如果没有host测试工具,则使用RPM进行安装:rpm -ivh /mnt/Packages/bind-utils-9.7.3-8.P3.el6.x86_64.rpm

配置反向解析:
zone "100.168.192.in-addr.arpa" IN {    //反向解析的区域为192.168.100.0段
type master;
file "benet.com.local";        //区域数据文件为 benet.com.local
allow-update { none; };
};

[root@server02 named]# cp -p benet.com.zone benet.com.local
[root@server02 named]# vi benet.com.local
配置区域数据文件:
这里@也是变量,表示为 192.168.100段

$TTL 1D
@       IN SOA  benet.com. admin.benet.com.  (  域名为benet.com. 管理员邮箱(完全合 格域名)
10      ; serial
1D      ; refresh
1H      ; retry
1W      ; expire
3H )    ; minimum
NS      benet.com.
A       192.168.100.20
110  IN  PTR     mail.benet.com.  使用PTR记录时,110表示ip地址的主机部分,表示
120  IN  PTR     www.benet.com.  ip地址为192.168.100.110的主机,域名为mial、www.benet.com


[root@server02 named]# service named restart
停止 named: [确定]
启动 named: [确定]
这时就可以正常反向解析了;
[root@server02 named]# host 192.168.100.110
110.100.168.192.in-addr.arpa domain name pointer mail.benet.com.
[root@server02 named]# host 192.168.100.120
120.100.168.192.in-addr.arpa domain name pointer www.benet.com.
[root@server02 named]#

从服务器的配置:全局配置:vi /etc/named.comf
options {
listen-on port 53 { 192.168.100.30; };   //监听地址和端口
directory       "/var/named";        //区域数据文件的默认存放位置
allow-query     { any; };            //允许所有地址进行访问


区域配置:vi /etc/named.rfc1912.zones
zone "benet.com" IN {
type slave;                   //类型为从区域
masters { 192.168.100.20; };    // 指定主服务器的IP地址
file "slaves/benet.com.zone";    // 下载的区域文件保存到slaves/目录,这里不用创建,将在主服务器上同步过来。
};


[root@server01 named]# service iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
[root@server01 named]# setenforce 0
[root@server01 named]# service named start
启动 named: [确定]
[root@server01 named]# echo "nameserver 192.168.100.30" > /etc/resolv.conf
[root@server01 named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@server01 named]# cd slaves/
[root@server01 slaves]# cat benet.com.zone //这边是从主服务器上同步过来的
$ORIGIN .
$TTL 86400; 1 day
benet.comIN SOAbenet.com. admin.benet.com. (
10         ; serial
86400      ; refresh (1 day)
3600       ; retry (1 hour)
604800     ; expire (1 week)
10800      ; minimum (3 hours)
)
NS        benet.com.
A     192.168.100.20
MX   5     benet.com.

*    A     192.168.100.254
ftp  CNAME www
mail A     192.168.100.110
www  A     192.168.100.120
上面以同步完成,在从服务器不用做任何配置,就可以解析到主服务器上的域名。
[root@server01 slaves]# host mail.benet.com
mail.benet.com has address 192.168.100.110
[root@server01 slaves]# host www.benet.com
www.benet.com has address 192.168.100.120

OK ,实验完成,祝你好运。记得评论哦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息