DNS 可以对IP地址和域名之间做相互的解析,一便能就记忆。 1 系统安装DNS软件 yum list|grep '^bind' 需要安装三个软件包: bind-utils.x86_64 bind-
DNS 可以对IP地址和域名之间做相互的解析,一便能就记忆。
1 系统安装DNS软件
yum list|grep '^bind'
需要安装三个软件包:
bind-utils.x86_64
bind-libs.x86_64
bind.x86_64
2 DNS 简单的解析和配置
DNS的解析有两种方式,迭代解析和递归解析。
迭代只把查询结果直接告诉用户,而不直接帮忙解析。而递归需要一直到解析完成走才把结果反馈给用户。
2.1 配置DNS主配置文件/etc/named.conf
options {
listen-on port 53 { 0.0.0.0; }; #监听地址和端口
listen-on-v6 port 53 { ::any; };
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-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
2.2 配置主配置文件里面主区域配置文件include 包含的named.rfc1912.zones文件
添加一个解析配置
zone "wzl.com" IN {
type master;
file "wzl.com";
};
2.3 配置区域配置文件
在/etc/named.conf里面已经制定了区域配置文件的配置路径directory "/var/named";
所以在/var/named/目录新创建一个配置文件,以主区域配置文件里面配置的wzl.com一致
主域配置文件的内容一般如下:
$TTL 1D
@ IN SOA ns.wzl.com. admin.wzl.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
wzl.com. IN NS ns.wzl.com.
ns.wzl.com. IN A 192.168.125.132
www IN A 192.168.125.132
bbs IN A 192.168.125.132
新建的局域配置文件的权限修改为root.named
2.4 修改本机的DNS服务器/etc/resolv.conf
2.5 检查配置文件并验证配置好的DNS域名解析
named-checkconf
named-checkzone "wzl.com" /var/named/wzl.com
重新启动named
/etc/init.d/named restart
验证域名解析:
dig -t A www.wzl.com 正向解析
到此为止,正向解析成功。
2.6 反向解析
在主区域配置文件/etc/named.rfc1912.zones 里面新就一个反解析的区域配置文件
zone "125.168.192.in-addr.arpa" IN {
type master;
file "192.168.125.zone";
同样的在/var/named/下面创建192.168.125.zone的反解析区域配置文件。
[root@wzlvm named]# cat 192.168.125.zone
$TTL 1D
@ IN SOA ns.wzl.com. admin.wzl.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
IN NS ns.wzl.com.
200 IN PTR www.wzl.com
132 IN PTR bss.wzl.com
重启named 后验证
dig -x 192.168.125.200
dig -x 192.168.125.132
2.7 范域名解析
正向解析情况下,所有包含配置域名的主机名称都解析到对应的IP地址
在区域配置文件/var/named/wzl.com里面添加一行*.wzl.com IN A 192.168.125.132 就可以了
范域名验证:dig -t A 2134244.wzl.com
2.8 域名别名
在区域配置文件里面添加别名的配置
bss2 IN CNAME bss
2.9 迭代,递归的解析
dig +norecurse -t A www.baidu.com 用迭代的方式解析
用户需要再次指定根域名服务器解析解析
dig +norecurse -t A www.baidu.com @F.ROOT-SERVERS.NET.
继续从.com域名服务器解析
dig +norecurse -t A www.baidu.com @f.gtld-servers.net.
继续解析
dig +norecurse -t A www.baidu.com @ns2.baidu.com.
上面的过程就是迭代解析。
下面在演示一下递归解析
dig +trace -t A www.baidu.com
一次就解析到www.baidu.com
3 DNS 主从服务器之间区域配置文件的同步
3.1 主DNS服务器的中添加allow-transfer { any; }; 用户DNS记录的传输
3.2 主DNS服务器的主区域配置文件
zone "wzl.com" IN {
type master;
file "wzl.com";
allow-transfer { any; };
};
里面添加 allow-transfer { any; }; 允许DNS数据传输
3.3 主DNS服务器上的区域配置文件里面要写上序列号并添加从DNS服务器的NS文件和A文件
[root@wzlvm slaves]# cat /var/named/wzl.com
$TTL 1D
@ IN SOA ns.wzl.com. admin.wzl.com. (
2016100902 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ); minimum
wzl.com. IN NS ns.wzl.com.
wzl.com. IN NS ns2.wzl.com.
ns.wzl.com. IN A 192.168.125.132
ns2.wzl.com. IN A 192.168.125.129
www IN A 192.168.125.132
bbs IN A 192.168.125.132
* IN A 192.168.125.132
bss2 IN CNAME bss
bss3 IN A 192.168.125.132
3.4 配置从DNS服务器配置文件
从DNS服务器的主配置文件和主DNS服务器的主配置文件一样
options {
listen-on port 53 { 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-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
从DNS服务器的主区域配置文件中添加:
zone "wzl.com" IN {
type slave;
file "slaves/wzl.com";
masters {192.168.125.132;};
};
重启named
service named restart
主DNS服务器的区域配置文件就传输到从DNS服务器的/var/named/slaves/wzl.com里面
每次主DNS服务器的区域配置文件总有修改(添加解析一定要修改ID)就会传到从DNS服务器的文件/var/named/slaves/wzl.com 中