1.缓存DNS
2. 域名DNS
3. 主从DNS
DNS服务的整体结构:
DNS服务体系是一个庞大的分布式数据库
DNS服务采用树型层次结构
全世界的DNS服务器具有共同的根域(.)
对域名的查询是分层次进行的
对域名www.sina.com.cn.域名的解析需要依次经过
根(.)域的DNS服务器
“cn.”域的DNS服务器
“com.cn. ”域的DNS服务器
“sina.com.cn.”域的DNS服务器
递规解析 --只要问1个DNS服务器就可以得到结果
迭代解析 --需要问多个DNS服务器才能得到结果
FQDN 完全合格域名 由主机名和域名组成。dns1.baidu.com
1.安装bind:
# yum list | grep ^bind
bind.x86_64 32:9.7.0-5.P2.el6 --服务端
bind-libs.x86_64 32:9.7.0-5.P2.el6 --公共软件
bind-utils.x86_64 32:9.7.0-5.P2.el6 --客户端软件
bind-chroot.x86_64 32:9.7.0-5.P2.el6 --chroot (暂时不安装)
bind-dyndb-ldap.x86_64 0.1.0-0.9.b.el6
caching-nameserver --缓存服务器软件 (rhel5 )
# yum -y install bind --安装
# rpm -ql bind
/etc/logrotate.d/named --日志滚动
/etc/named.conf --主配置文件
/etc/named.rfc1912.zones --区域文件
/var/named --区域配置文件放置目录 baidu.com.zone
/etc/rc.d/init.d/named --启动脚本
/usr/sbin/named-checkconf --检测主配置文件语法
/usr/sbin/named-checkzone --检查区域文件的语法
/var/named/slaves --从服务器的区域文件的目录
/var/run/named --named运行时产生的文件,一般pid文件
2. 配置主文件 vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1;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 { any; }; --允许所有人都可以查询
recursion yes; --允许递归查询
dnssec-enable yes; --使用DNSSEC认证
dnssec-validation yes; --设定DNSSEC后备节点
dnssec-lookaside auto;
/* Path to ISC DLV key */ 路径
bindkeys-file "/etc/named.iscdlv.key";
};
logging {
channel default_debug {
file "data/named.run"; --服务运行时的主进程id
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
++++++++++++++++++++++++++++++++++++++++++
3.缓存DNS服务器:
vim /etc/named.conf
forwarders {202.96.128.86; 8.8.8.8; };
forward only;
dnssec-enable no; --使用DNSSEC认证
dnssec-validation no; --设定DNSSEC后备节点
# named-checkconf /etc/named.conf
# service named start
# chkconfig named on
++++++++++++++++++++++++++++++++++++++++++
4.注册一个域名baidu.com
# vim /etc/named.conf --系统配置
listen-on port 53 { 127.0.0.1; any; };
allow-query { any; };
# vim /etc/named.rfc1912.zones --域的定义
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.rev";
allow-update { none; };
};
5.创建区域文件(FQDN)
# cd /var/named
# cp named.localhost baidu.com.zone -a
# vim /var/named/baidu.com.zone --定义正向的区域配置文件
$TTL 1D --缓存的生存周期
@ IN SOA dns1.baidu.com. root.baidu.com. (
当前域 internet 开始授权 DNS服务器的主机名 管理员邮箱
42 ; 更新序列号
3H ; 更新间隔
15M ; 失败重试
1W ; 区域文件的过期时间
1D ) ; 缓存的生存周期
3H ) ; minimum
@ IN NS dns1.baidu.com.
dns1 IN A 192.168.0.19
www IN A 192.168.0.254
mail02 CNAME www
@ IN MX 5 mail.baidu.com.
mail IN A 192.168.0.100
----------------------
@ --当前域
NS --name server DNS服务器
PTR --反向指针记录
CNAME --另名
6.定义反向区域文件:
# cp -a /var/named/baidu.com.zone /var/named/192.168.0.rev
# vim /var/named/192.168.0.rev
$TTL 86400
@ IN SOA dns1.baidu.com. root.baidu.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS dns1.baidu.com.
254 IN PTR www.baidu.com.
19 IN PTR dns1.baidu.com.
100 IN PTR mail.baidu.com.
7.检测配置文件的语法:
# named-checkconf /etc/named.conf --检测主配置文件
# named-checkzone baidu.com /var/named/baidu.com.zone --检查区域正向文件
zone baidu.com/IN: loaded serial 42
OK
# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev --反向文件
zone 0.168.192.in-addr.arpa/IN: loaded serial 42
OK
A --地址记录
MX --邮件交换记录
5 --优先级别,数字越低级别越高
PTR --反向指针记录
CNAME --另名
8.启动或者重启服务
# service named reload
测试记录:
# nslookup
1.测试A记录,可以查正向和反向
> server
Default server: 127.0.0.1
Address: 127.0.0.1#53
> www.baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.baidu.com
Address: 192.168.0.254
> 192.168.0.254
Server: 127.0.0.1
Address: 127.0.0.1#53
254.0.168.192.in-addr.arpa name = www.baidu.com.
2.测试NS记录
# nslookup
> set type=ns
> baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
baidu.com nameserver = dns1.baidu.com.
3.测试MX记录
# nslookup
> set type=mx
> baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
baidu.com mail exchanger = 5 mail.baidu.com.
++++++++++++++++++++++++++++++++++
DNS实现负载均衡
[root@desktop9 named]# vim upl.cn.zone
$TTL 1D
@ IN SOA dns.upl.cn. root.upl.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.upl.cn.
dns A 192.168.0.9
www A 192.168.0.9
www A 192.168.0.10
www A 192.168.0.11
www A 192.168.0.12
www A 192.168.0.13
[root@desktop9 named]# ping www.upl.cn 随机负载均衡
主从DNS
################################
1.主服务器上设置 -vim /etc/name.rfc1912.zones
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
allow-transfer { 从DNS服务器的IP; };
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.rev";
allow-transfer { 从DNS服务器的IP; };
allow-update { none; };
};
########################################
2.从服务器上的设置
zone "baidu.com" IN {
type slave;
file "slaves/baidu.com.zone";
masters { 主DNS服务器的IP; }
allow-update { 主DNS服务器的IP; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "slaves/0.168.192.rev";
masters { 主DNS服务器的IP; }
allow-update { 主DNS服务器的IP; };
};
如果需要从主DNS更新,新到ZONE文件,需要更改主DNS,区域文件的序列号 --->
47 ; serial
不需要写zone文件,每次会去主服务器上更行文件
-------------------------------------------
zone "baidu.com" IN {
type slave;
file "/var/named/slaves/baidu.com.zone";
masters { 192.168.0.9; };
allow-update { 192.168.0.9; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "/var/named/slaves/192.168.0.rev";
masters { 192.168.0.9; };
allow-update { 192.168.0.9; };
};
__________________________
手动修改时间可以向主DNS同步ZONE文件,重启服务是不能同步到!!
2. 域名DNS
3. 主从DNS
DNS服务的整体结构:
DNS服务体系是一个庞大的分布式数据库
DNS服务采用树型层次结构
全世界的DNS服务器具有共同的根域(.)
对域名的查询是分层次进行的
对域名www.sina.com.cn.域名的解析需要依次经过
根(.)域的DNS服务器
“cn.”域的DNS服务器
“com.cn. ”域的DNS服务器
“sina.com.cn.”域的DNS服务器
递规解析 --只要问1个DNS服务器就可以得到结果
迭代解析 --需要问多个DNS服务器才能得到结果
FQDN 完全合格域名 由主机名和域名组成。dns1.baidu.com
1.安装bind:
# yum list | grep ^bind
bind.x86_64 32:9.7.0-5.P2.el6 --服务端
bind-libs.x86_64 32:9.7.0-5.P2.el6 --公共软件
bind-utils.x86_64 32:9.7.0-5.P2.el6 --客户端软件
bind-chroot.x86_64 32:9.7.0-5.P2.el6 --chroot (暂时不安装)
bind-dyndb-ldap.x86_64 0.1.0-0.9.b.el6
caching-nameserver --缓存服务器软件 (rhel5 )
# yum -y install bind --安装
# rpm -ql bind
/etc/logrotate.d/named --日志滚动
/etc/named.conf --主配置文件
/etc/named.rfc1912.zones --区域文件
/var/named --区域配置文件放置目录 baidu.com.zone
/etc/rc.d/init.d/named --启动脚本
/usr/sbin/named-checkconf --检测主配置文件语法
/usr/sbin/named-checkzone --检查区域文件的语法
/var/named/slaves --从服务器的区域文件的目录
/var/run/named --named运行时产生的文件,一般pid文件
2. 配置主文件 vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1;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 { any; }; --允许所有人都可以查询
recursion yes; --允许递归查询
dnssec-enable yes; --使用DNSSEC认证
dnssec-validation yes; --设定DNSSEC后备节点
dnssec-lookaside auto;
/* Path to ISC DLV key */ 路径
bindkeys-file "/etc/named.iscdlv.key";
};
logging {
channel default_debug {
file "data/named.run"; --服务运行时的主进程id
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
++++++++++++++++++++++++++++++++++++++++++
3.缓存DNS服务器:
vim /etc/named.conf
forwarders {202.96.128.86; 8.8.8.8; };
forward only;
dnssec-enable no; --使用DNSSEC认证
dnssec-validation no; --设定DNSSEC后备节点
# named-checkconf /etc/named.conf
# service named start
# chkconfig named on
++++++++++++++++++++++++++++++++++++++++++
4.注册一个域名baidu.com
# vim /etc/named.conf --系统配置
listen-on port 53 { 127.0.0.1; any; };
allow-query { any; };
# vim /etc/named.rfc1912.zones --域的定义
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.rev";
allow-update { none; };
};
5.创建区域文件(FQDN)
# cd /var/named
# cp named.localhost baidu.com.zone -a
# vim /var/named/baidu.com.zone --定义正向的区域配置文件
$TTL 1D --缓存的生存周期
@ IN SOA dns1.baidu.com. root.baidu.com. (
当前域 internet 开始授权 DNS服务器的主机名 管理员邮箱
42 ; 更新序列号
3H ; 更新间隔
15M ; 失败重试
1W ; 区域文件的过期时间
1D ) ; 缓存的生存周期
3H ) ; minimum
@ IN NS dns1.baidu.com.
dns1 IN A 192.168.0.19
www IN A 192.168.0.254
mail02 CNAME www
@ IN MX 5 mail.baidu.com.
mail IN A 192.168.0.100
----------------------
@ --当前域
NS --name server DNS服务器
PTR --反向指针记录
CNAME --另名
6.定义反向区域文件:
# cp -a /var/named/baidu.com.zone /var/named/192.168.0.rev
# vim /var/named/192.168.0.rev
$TTL 86400
@ IN SOA dns1.baidu.com. root.baidu.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS dns1.baidu.com.
254 IN PTR www.baidu.com.
19 IN PTR dns1.baidu.com.
100 IN PTR mail.baidu.com.
7.检测配置文件的语法:
# named-checkconf /etc/named.conf --检测主配置文件
# named-checkzone baidu.com /var/named/baidu.com.zone --检查区域正向文件
zone baidu.com/IN: loaded serial 42
OK
# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev --反向文件
zone 0.168.192.in-addr.arpa/IN: loaded serial 42
OK
A --地址记录
MX --邮件交换记录
5 --优先级别,数字越低级别越高
PTR --反向指针记录
CNAME --另名
8.启动或者重启服务
# service named reload
测试记录:
# nslookup
1.测试A记录,可以查正向和反向
> server
Default server: 127.0.0.1
Address: 127.0.0.1#53
> www.baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.baidu.com
Address: 192.168.0.254
> 192.168.0.254
Server: 127.0.0.1
Address: 127.0.0.1#53
254.0.168.192.in-addr.arpa name = www.baidu.com.
2.测试NS记录
# nslookup
> set type=ns
> baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
baidu.com nameserver = dns1.baidu.com.
3.测试MX记录
# nslookup
> set type=mx
> baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
baidu.com mail exchanger = 5 mail.baidu.com.
++++++++++++++++++++++++++++++++++
DNS实现负载均衡
[root@desktop9 named]# vim upl.cn.zone
$TTL 1D
@ IN SOA dns.upl.cn. root.upl.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.upl.cn.
dns A 192.168.0.9
www A 192.168.0.9
www A 192.168.0.10
www A 192.168.0.11
www A 192.168.0.12
www A 192.168.0.13
[root@desktop9 named]# ping www.upl.cn 随机负载均衡
主从DNS
################################
1.主服务器上设置 -vim /etc/name.rfc1912.zones
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
allow-transfer { 从DNS服务器的IP; };
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.rev";
allow-transfer { 从DNS服务器的IP; };
allow-update { none; };
};
########################################
2.从服务器上的设置
zone "baidu.com" IN {
type slave;
file "slaves/baidu.com.zone";
masters { 主DNS服务器的IP; }
allow-update { 主DNS服务器的IP; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "slaves/0.168.192.rev";
masters { 主DNS服务器的IP; }
allow-update { 主DNS服务器的IP; };
};
如果需要从主DNS更新,新到ZONE文件,需要更改主DNS,区域文件的序列号 --->
47 ; serial
不需要写zone文件,每次会去主服务器上更行文件
-------------------------------------------
zone "baidu.com" IN {
type slave;
file "/var/named/slaves/baidu.com.zone";
masters { 192.168.0.9; };
allow-update { 192.168.0.9; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "/var/named/slaves/192.168.0.rev";
masters { 192.168.0.9; };
allow-update { 192.168.0.9; };
};
__________________________
手动修改时间可以向主DNS同步ZONE文件,重启服务是不能同步到!!