例题解析DNS主从服务器简单配置2
2012-10-20 19:47
155 查看
(以下实例基于Red Hat Enterprise Linux Server release 5.8版本)
使用当前主机172.16.9.1 进行解析:配置过程
假如名称叫做ns.mm.com
ns.mm.com
别名:www ftp
为其他主机进行解析。
第一步,
修改主机名:
vim /etc/sysconfig/network
HOSTNAME=ns.mm.com
hostname ns.mm.com 让它立即生效,重新登录便可以看到效果。
安装软件:
先卸载之前的 rpm -e bind-libs bind-utils
安装bind97:yum list -y bind97 bind97-libs bind97-utils(实现存在yum源,我在之前已经安装过,这里不多做解释)
提供主配置文件/etc/named.conf, 将默认配置文件删除,或者修改名称。
vim /etc/named.conf
options { //全局设置
directory "/var/named"; //路径
};
zone "." IN { //定义根区域
type hint;
file"named.ca"; //文件会在装上bind后自动生成,如果没有,就用dig -t NS. > /FILE 去获取根域内的所有记录,重定向到该文件即可
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "127.0.0.zone";
};
zone "mm.com" IN {
type master;
file "mm.com.zone";
};
zone "9.16.172.in-addr.arpa" IN {
type master;
file "172.16.9.zone";
allow-transfer { none; };
};
cd /var/named //切换目录
编辑相应的区域文件localhost.zone 127.0.0.zone mm.com.zone 172.16.9.zone
以区域文件"mm.com.zone"为例
内容为:
$ORIGIN . ;区域名称附加后缀
$TTL 86400 ; 1 day
mm.com IN SOA ns.mm.com. admin.mm.com. (
2012102001 ; serial 序列号
12H ; refresh (12 hours) 刷新时间
1H ; retry (1 hour) 重试时间
30D ; expire (4 weeks 2 days) 过期时间
2D ; minimum (2 days) 否定回答的TTL值
)
NS ns.mm.com.
NS ns2.mm.com.
MX 10 mail.mm.com.
$ORIGIN mm.com.
ftp CNAME www
mail A 172.16.9.4
ns A 172.16.9.1
ns2 A 172.16.9.2
www A 172.16.9.1
~
注:在此文件中定义各记录,以SOA记录为第一条,任何主机名都要给他一个A记录,MX记录一定不要忘记定义优先级。
反向解析文件记录,以172.16.9.zone为例:
$ORIGIN .
$TTL 86400 ; 1 day
9.16.172.in-addr.arpa IN SOA ns.mm.com. admin.mm.com. (
2012102001 ; serial
12H ; refresh (12 hours)
1H ; retry (1 hour)
30D ; expire (4 weeks 2 days)
2D ; minimum (2 days)
)
NS ns.mm.com.
NS ns2.mm.com.
MX 10 mail.mm.com.
$ORIGIN 9.16.172.in-addr.arpa.
1 PTR ns.mm.com.
PTR www.mm.com.
2 PTR ns2.mm.com.
4 PTR mail.mm.com.
注:反向区域中,PTR记录的NAME是IP 剩下的部分(主机地址)要反过来写
区域文件全部定义好之后,可以先检测一下语法:
相应的命令:
named-checkconf 检测主配置文件中的语法错误
named-checkzone 检测区域文件中的语法错误
如检测mgedu.com 这个区域文件有没有语法错误:
named-checkzone "mm.com" mm.com.zone
如果两项都没有错误便可以启动服务:service named restart
验证一下是否启动:netstat -tunlp | grep 53
rndc 远程名称服务控制器(安全性要求很重要)
remote name domain controller
默认只工作在tcp/127.0.0.1的953端口
rndc
reload 重新载入配置文件和区域文件
stop 停止服务
flush 清空缓存
reconfig 重新载入主配置文件和发生过更新的区域文件
reload zone 重新载入某区域文件
status 显示当前服务状态
使用rndc-confgen 可以生成一对密钥,用这对密钥可以实现远程控制的安全性,将该密钥的两段分别设置在主配置文件/etc/named.conf
和另一个远程服务器的主配置文件中去掉注释,即可实现密钥的远程控制。
如果指定外网为DNS服务器,把rndc.conf 的前半段复制粘贴到DNS 服务器的主配置文件中即可。
这个用法在这里先不使用。
到这里DNS 的简单配置宣告成功!!
验证解析:
正向:dig -t A www.mm.com @127.0.0.1
反向:dig -x 172.16.9.2 @127.0.0.1
dig 里有一个用法:AXFR 完全区域传送:
使用:dig -t AXFR mm.com 可以把对方所有的记录全部拿过来,
这样做对DNS服务器来说是很不安全的,所以应该控制其不能随意访问该记录。
所以应该设定传送权限,仅允许在自己控制范围内的主机进行区域传送。
仅允许谁传送的指令:
allow-transfer { 172.0.0.0/8; 172.16.100.2; }
{} 里面是允许传送的网络地址或者IP地址,中间用空格隔开,每个地址后分号结尾。
有两个特殊的地址:
none: 全都不允许同步
any: 任何人都允许同步
传送定义zone 当中,说明该区域受到控制;如果设置到全局中,说明全局区域都受到控制。
vim /etc/named.conf 设定仅允许谁传送(注:根区域中是不允许传送的哦)
zone "mm.com" IN {
type master;
file "mm.com.zone";
allow-transfer { 127.0.0.0/8; 172.16.9.2; }; //设定允许传送的网络和主机
};
zone "9.16.172.in-addr.arpa" IN {
type master;
file "172.16.9.zone";
allow-transfer { none; }; //设定都不允许传送
rndc reconfig 重新载入一下配置文件
service named restart 重启服务
测试一下:dig -t axfr mm.com [@172.16.9.2] 地址控制很严格的,要按照允许传送的地址输入才可以
配置从服务器:
从服务器是从主服务器中同步数据的,所以不用为从服务器定义配置文件。
例如用172.16.9.2这台主机来配置mm.com 这台主机的从服务器。
主机名假设为ns2.mm.com
修改主机名
vim /etc/sysconfig/network
HOSTNAME=ns2.mm.com
service network restart
从服务器中:
安装bind和主服务器的安装方法相同,在这里就不重复了。
从区域的声明方法:
zone"ZONE" IN {
type slave;
file "slaves/FILE_NAME" ;
masters { master _ server;};
};
注:同步过来的文件属组应该有写权限的,在这里有一个固定的目录slaves将同步的文件保存在slaves 中
注:selinux 应该关闭,setenforce 0 (临时有效的)
如果让其永久有效,改配置文件
vim /etc/selinux/config
# SELINUX=permissive
让两台主机进行通信,基于密钥认证。
两台主机中设置:
ssh-keygen -t rsa -N ''(自动生成.ssh目录) //-t 是指定密钥的类型,-N '' 指定密码为空
ssh-copy-id -i .ssh/id_rsa.pub root@172.16.9.1/2 //-i 指定密钥文件
检测一下通信:
ssh 172.16.9.1 'ifconfig'
ssh 172.16.9.2 'ifconfig'
可以看到对方的地址信息。
然后在主服务器中复制,
scp -p /etc/named.conf 172.16.9.2:/etc(将一台主机上的named.conf复制到172.16.9.1这台主机上的/etc下
然后改变文件的属组
ll /etc/named.conf
chmod 640 /etc/named.conf
chown :named /etc/named.conf
主服务器上复制另外的数据文件:
scp -p /var/named/localhost.zone 127.0.0.zone root@172.16.9.2:/var/named
在从服务器中检测下是否复制成功了,然后更改其权限640和属组named
注:在主从服务器中,根区域和localhost ,172.0.0.1 都是不能让别人解析的
在从服务器中设置:这里只是设置正向解析
vim /etc/named.conf
在zone "mkgedu.com"里设置
type slave ;
file "slave/mm.com.zone ";
masters { master_ip; }
rndc-confgen 要重新生成的或把另外一台主机的密钥复制过来也可以
mm.com.zone 文件的内容是从主服务器中同步过来的,不用再自定义。
named-checkconf
named-checkzone "mm.com" mm.com.zone
检测语法错误
启动named: service named start
查看日志文件信息:tail /var/log/messages
在从服务器中进行解析:dig -t A www.mm.com @127.0.0.1
反向解析: dig -x 172.16.9.1
注:修改一次主服务器的数据文件内容的时候,要将其序列号加上1
在启动服务和查询过程中,要经常查看日志信息,有利于发现错误。
使用当前主机172.16.9.1 进行解析:配置过程
假如名称叫做ns.mm.com
ns.mm.com
别名:www ftp
为其他主机进行解析。
第一步,
修改主机名:
vim /etc/sysconfig/network
HOSTNAME=ns.mm.com
hostname ns.mm.com 让它立即生效,重新登录便可以看到效果。
安装软件:
先卸载之前的 rpm -e bind-libs bind-utils
安装bind97:yum list -y bind97 bind97-libs bind97-utils(实现存在yum源,我在之前已经安装过,这里不多做解释)
提供主配置文件/etc/named.conf, 将默认配置文件删除,或者修改名称。
vim /etc/named.conf
options { //全局设置
directory "/var/named"; //路径
};
zone "." IN { //定义根区域
type hint;
file"named.ca"; //文件会在装上bind后自动生成,如果没有,就用dig -t NS. > /FILE 去获取根域内的所有记录,重定向到该文件即可
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "127.0.0.zone";
};
zone "mm.com" IN {
type master;
file "mm.com.zone";
};
zone "9.16.172.in-addr.arpa" IN {
type master;
file "172.16.9.zone";
allow-transfer { none; };
};
cd /var/named //切换目录
编辑相应的区域文件localhost.zone 127.0.0.zone mm.com.zone 172.16.9.zone
以区域文件"mm.com.zone"为例
内容为:
$ORIGIN . ;区域名称附加后缀
$TTL 86400 ; 1 day
mm.com IN SOA ns.mm.com. admin.mm.com. (
2012102001 ; serial 序列号
12H ; refresh (12 hours) 刷新时间
1H ; retry (1 hour) 重试时间
30D ; expire (4 weeks 2 days) 过期时间
2D ; minimum (2 days) 否定回答的TTL值
)
NS ns.mm.com.
NS ns2.mm.com.
MX 10 mail.mm.com.
$ORIGIN mm.com.
ftp CNAME www
mail A 172.16.9.4
ns A 172.16.9.1
ns2 A 172.16.9.2
www A 172.16.9.1
~
注:在此文件中定义各记录,以SOA记录为第一条,任何主机名都要给他一个A记录,MX记录一定不要忘记定义优先级。
反向解析文件记录,以172.16.9.zone为例:
$ORIGIN .
$TTL 86400 ; 1 day
9.16.172.in-addr.arpa IN SOA ns.mm.com. admin.mm.com. (
2012102001 ; serial
12H ; refresh (12 hours)
1H ; retry (1 hour)
30D ; expire (4 weeks 2 days)
2D ; minimum (2 days)
)
NS ns.mm.com.
NS ns2.mm.com.
MX 10 mail.mm.com.
$ORIGIN 9.16.172.in-addr.arpa.
1 PTR ns.mm.com.
PTR www.mm.com.
2 PTR ns2.mm.com.
4 PTR mail.mm.com.
注:反向区域中,PTR记录的NAME是IP 剩下的部分(主机地址)要反过来写
区域文件全部定义好之后,可以先检测一下语法:
相应的命令:
named-checkconf 检测主配置文件中的语法错误
named-checkzone 检测区域文件中的语法错误
如检测mgedu.com 这个区域文件有没有语法错误:
named-checkzone "mm.com" mm.com.zone
如果两项都没有错误便可以启动服务:service named restart
验证一下是否启动:netstat -tunlp | grep 53
rndc 远程名称服务控制器(安全性要求很重要)
remote name domain controller
默认只工作在tcp/127.0.0.1的953端口
rndc
reload 重新载入配置文件和区域文件
stop 停止服务
flush 清空缓存
reconfig 重新载入主配置文件和发生过更新的区域文件
reload zone 重新载入某区域文件
status 显示当前服务状态
使用rndc-confgen 可以生成一对密钥,用这对密钥可以实现远程控制的安全性,将该密钥的两段分别设置在主配置文件/etc/named.conf
和另一个远程服务器的主配置文件中去掉注释,即可实现密钥的远程控制。
如果指定外网为DNS服务器,把rndc.conf 的前半段复制粘贴到DNS 服务器的主配置文件中即可。
这个用法在这里先不使用。
到这里DNS 的简单配置宣告成功!!
验证解析:
正向:dig -t A www.mm.com @127.0.0.1
反向:dig -x 172.16.9.2 @127.0.0.1
dig 里有一个用法:AXFR 完全区域传送:
使用:dig -t AXFR mm.com 可以把对方所有的记录全部拿过来,
这样做对DNS服务器来说是很不安全的,所以应该控制其不能随意访问该记录。
所以应该设定传送权限,仅允许在自己控制范围内的主机进行区域传送。
仅允许谁传送的指令:
allow-transfer { 172.0.0.0/8; 172.16.100.2; }
{} 里面是允许传送的网络地址或者IP地址,中间用空格隔开,每个地址后分号结尾。
有两个特殊的地址:
none: 全都不允许同步
any: 任何人都允许同步
传送定义zone 当中,说明该区域受到控制;如果设置到全局中,说明全局区域都受到控制。
vim /etc/named.conf 设定仅允许谁传送(注:根区域中是不允许传送的哦)
zone "mm.com" IN {
type master;
file "mm.com.zone";
allow-transfer { 127.0.0.0/8; 172.16.9.2; }; //设定允许传送的网络和主机
};
zone "9.16.172.in-addr.arpa" IN {
type master;
file "172.16.9.zone";
allow-transfer { none; }; //设定都不允许传送
rndc reconfig 重新载入一下配置文件
service named restart 重启服务
测试一下:dig -t axfr mm.com [@172.16.9.2] 地址控制很严格的,要按照允许传送的地址输入才可以
配置从服务器:
从服务器是从主服务器中同步数据的,所以不用为从服务器定义配置文件。
例如用172.16.9.2这台主机来配置mm.com 这台主机的从服务器。
主机名假设为ns2.mm.com
修改主机名
vim /etc/sysconfig/network
HOSTNAME=ns2.mm.com
service network restart
从服务器中:
安装bind和主服务器的安装方法相同,在这里就不重复了。
从区域的声明方法:
zone"ZONE" IN {
type slave;
file "slaves/FILE_NAME" ;
masters { master _ server;};
};
注:同步过来的文件属组应该有写权限的,在这里有一个固定的目录slaves将同步的文件保存在slaves 中
注:selinux 应该关闭,setenforce 0 (临时有效的)
如果让其永久有效,改配置文件
vim /etc/selinux/config
# SELINUX=permissive
让两台主机进行通信,基于密钥认证。
两台主机中设置:
ssh-keygen -t rsa -N ''(自动生成.ssh目录) //-t 是指定密钥的类型,-N '' 指定密码为空
ssh-copy-id -i .ssh/id_rsa.pub root@172.16.9.1/2 //-i 指定密钥文件
检测一下通信:
ssh 172.16.9.1 'ifconfig'
ssh 172.16.9.2 'ifconfig'
可以看到对方的地址信息。
然后在主服务器中复制,
scp -p /etc/named.conf 172.16.9.2:/etc(将一台主机上的named.conf复制到172.16.9.1这台主机上的/etc下
然后改变文件的属组
ll /etc/named.conf
chmod 640 /etc/named.conf
chown :named /etc/named.conf
主服务器上复制另外的数据文件:
scp -p /var/named/localhost.zone 127.0.0.zone root@172.16.9.2:/var/named
在从服务器中检测下是否复制成功了,然后更改其权限640和属组named
注:在主从服务器中,根区域和localhost ,172.0.0.1 都是不能让别人解析的
在从服务器中设置:这里只是设置正向解析
vim /etc/named.conf
在zone "mkgedu.com"里设置
type slave ;
file "slave/mm.com.zone ";
masters { master_ip; }
rndc-confgen 要重新生成的或把另外一台主机的密钥复制过来也可以
mm.com.zone 文件的内容是从主服务器中同步过来的,不用再自定义。
named-checkconf
named-checkzone "mm.com" mm.com.zone
检测语法错误
启动named: service named start
查看日志文件信息:tail /var/log/messages
在从服务器中进行解析:dig -t A www.mm.com @127.0.0.1
反向解析: dig -x 172.16.9.1
注:修改一次主服务器的数据文件内容的时候,要将其序列号加上1
在启动服务和查询过程中,要经常查看日志信息,有利于发现错误。
相关文章推荐
- dns的主从服务器的简单配置
- DNS主从服务器配置及案例解析
- 使用bind实现DNS主服务器的配置以及正向解析、反向解析、主从复制
- Linux系统上的DNS中正反向解析与主从服务器配置详解
- DNS服务器配置:DNS服务器配置:正反解析,主从服务器,子域授权,
- 总结之:CentOS6.5 DNS服务BIND配置、正反向解析、主从及压力测试(1)
- centos 6.4 DNS服务器主从配置
- DNS精讲(主从服务器、子域、acl、智能解析)
- DNS(二)--正反解析及主从配置
- 总结之:CentOS6.5 DNS服务BIND配置、正反向解析、主从及压力测试(3) 推荐
- 简单的dns主从服务器搭建实验
- DNS正反解析、主从复制、子域授权、安全相关配置
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
- mysql 主从服务器的简单配置
- 在没有配置的 DNS 服务器响应之后,名称 xxx 的名称解析超时。
- 基于密钥的主从DNS服务器的配置
- RHEL6.5下主从DNS服务器的配置
- mysql主从从服务器的简单配置
- mysql服务器简单主从配置
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析