-->正向解析与反向解析:
1)正向解析:
正向解析是指域名到IP地址的解析过程。
2)反向解析:
反向解析是从IP地址到域名的解析过程;反向解析的作用为服务器的身份验证。
-->主从DNS服务器:
主DNS服务器(Master DNS): 数据库更新由管理员手动完成;
辅助DNS服务器 (SlaveDNS):数据库更新从主服务器或其他辅助DNS服务器那里完成;
-->DNS 子域:
DNS服务器不仅可以为属于本域的客户端用户提供解析服务,也可以授权给某个域,让其也可以提供相应的DNS解析服务,称为子域授权.
-->DNS 子域委派:
具体的作用是为了方便管理 提高DNS的解析性能,实现通信负载平衡.
-->DNS 转发器的作用:
根服务只有13个,如果DNS的查询全部都发送到根服务器效率比较低下,启动DNS转发器后,DNS进行查询的时候,如果遇到本机不能解析的查询,就向DNS转发器请求查询,DNS转发器指定的地址一般都是比较大的DNS服务器,通常接受大量的DNS查询操作,比如电信的核心DNS.
-->资源记录:
某些资源记录不仅包括DNS域中服务器的信息,还可以用于定义域,即指定每台服务器授权了哪些域,这些资源记录就是SOA和NS资源记录。
1)SOA资源记录: 每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
2)NS资源记录: 名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。
3)A资源记录: 地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
4)PTR资源记录: 相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
5)CNAME资源记录: 规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。
6)MX资源记录: 邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
-->DNS查询:分为递归查询和迭代查询两种.
(1) 递归查询: 即客户端向本地DNS服务器请求查询域名,本地DNS服务器收到查询任务后如自身无法回答则向其他服务器查询,直到查到结果后返回结果给客户端。期间DNS服务器可能要查询很多其他DNS服务器。 (2)迭代查询:即客户端向本地服务器请求查询域名,本地DNS服务器无法回答,则给客户端返回另一个能查询域名的服务器地址,客户端再向另一服务器查询,期间可能客户端需查询多个DNS服务器,最终查到结果。
需求介绍:
一、DNS的常用命令
二、如何使用 yum安装 并配置使用?
1.手动添加配置文件;
2.利用原有的配置文件文件进行修改;
3.以及反向解析的实现;
三、如何实现 BIND主从复制?
1.配置正向主从服务的实现;
2.配置反向主从服务的实现;
3.区域传送的安全控制;
四、如何实现 子域授权、请求转发及ACL?
五、如何在 编译环境安装bind ,配置并使用?
一、DNS的常用命令:
1.测试解析命令.
1). dig命令:
# dig [-t type] [-x addr] [name] [@server]
+[no]trace-->(跟踪解析过程)
+[no]recurse-->(是否使用递归的方式)
+[no]tcp -->(是否使用tcp查询,而不使用udp)
+[no]question-->(是否隐藏问题)
+[no]answer-->(是否隐藏答案)
+[no]authority-->(是否隐藏权威段)
+[no]additional-->(是否隐藏附加段)
2). host命令:
# host [-t type] {name} [server]
例子:
[root@localhost ~]# host -t MX xiaoma.com
xiaoma.com mail is handled by 10 mail.xiaoma.com.
[root@localhost ~]#
3). nslookup命令(交互式的命令):
nslookup>
server DNS_SERVER_IP
set q=TYPE
{name}
例子:
[root@localhost ~]# nslookup
> set q=A
> www.xiaoma.com
Server:172.16.17.202
Address:172.16.17.202#53
Name:www.xiaoma.com
Address: 172.16.17.203
>
2.启动/重加载命令:
1).启动命令:
# named -u named
# servcice named start(这个可能会依赖rndc.key的)
2).重载命令:
# service named reload
# killall -1 named
# killall named(关闭)
3.测试语法错误:
# service named configtest
# named-checkconf
# named-checkzone "xiaoma.com" /var/named/xiaoma.com.zone
前提:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1).将准备好的bind包安装:
1 |
|
检查安装情况:
rpm -qa bind*
bind-libs-9.8.2-0.47.rc1.el6.x86_64
bind-utils-9.8.2-0.47.rc1.el6.x86_64
bind-9.8.2-0.47.rc1.el6.x86_64
Bind的配置文件存放在/etc/目录下:
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #正反向区域文件
我们首先配置主配置文件:/etc/named.conf
#vim /etc/named.conf
options {
listen-on port 53 { 192.168.21.224; };
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;
pid-file "/var/run/named/named.pid"; //存着named的pid
forwarders { 168.95.1.1; 139.175.10.20; }; // 如果域名服务器无法解析时,将请求交由168.95.1.1; 139.175.10.20来解析
allow-query { any; }; //指定允许进行查询的主机,当然是要所有的电脑都可以查啦
allow-transfer { none; }; //指定允许接受区域传送请求的主机,说明白一点就是辅dns定义,比如辅dns的ip是192.168.139.5,那么可以这样定义{ 192.168.139.5; },要不然主辅dns不能同步,当然,{}里的也可以用下面提到的acl(智能dns会用到动态ip库,acl文件存储着ip列表)。
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;
/* 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";
};
zone "0.0.127.in-addr.arpa" IN { #反向解析
type master;
file "named.loopback";
allow-transfer { none; };
};
view localhost_resolver { //定义一个视图
match-clients { any; }; //查询者的源地址,any表示localhost_resolver视图对任何主机开放,如果写成{ acl1; },那么就只有acl1表里的ip可以递归查询了
match-destinations { any; }; //查询者的目标地址,这里也可以写成{ localhost; acl1; }
recursion yes; //设置进行递归查询
include "/etc/named.rfc1912.zones"; //包含文件,这里也就是载入/etc/named.rfc1912.zones,正反向解析配置文件
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
===========================================================================
配置文件中的三个文件named.ca、named.localhost、named.loopback上面已经提供有一个了named.ca了、还有这两个named.localhost、named.loopback、同样我们也得提供、也是在/var/named目录下创建:
# vim /var/named/named.localhost
$TTL 86400 ;定义宏
@ IN SOA localhost admin.localhost. (
2014031101 ;序列号
2H ;刷新时间
10M ;失败时重试间隔时间
7D ;过期时间
1D) ;否定答案的时间
IN NS localhost.
localhost. IN A 192.168.21.224
================================
$TTL 86400
@ IN SOA localhost admin.localhost. (
2014031101 ;
2H ;
10M ;
7D ;
1D) ;
IN NS localhost.
localhost. IN A 192.168.21.224
================================
然后复制一份改写named.loopback的文件:
# cp /var/named/named.localhost /var/named/named.loopback
# vim named.loopback
$TTL 86400
@ IN SOA localhost admin.localhost. (
2014031101
2H
10M
7D
1D )
IN NS localhost.
1 IN PTR localhost.
1.区域解析库文件的简要说明:
常见的正解文件 RR 相关信息
[domain] IN [[RR type] [RR data]]
主机名. IN A IPv4 的 IP 地址
主机名. IN AAAA IPv6 的 IP 地址
区域名. IN NS 管理这个领域名的服务器主机名字.
区域名. IN SOA 管理这个领域名的七个重要参数(如上说明)
区域名. IN MX 顺序数字 接收邮件的服务器主机名字
主机别名. IN CNAME 实际代表这个主机别名的主机名字.
单位:W=周、D=日、H=小时、M=分钟。
$TTL 86400 宏定义全局TTL时间
@ IN SOA ns.chinasoft.com. root ( # ns.chinasoft.com. 是DNS服务器的名称
0 ; serial (d. adams) 仅作为序列号而已
1D ;refresh 服务器的更新时间
15M ; retry 重新更新时间间隔
1W ; expiry 多久之后宣布失败
1H ) ;minimum 相当于缓存记忆时间
@ IN NS ns.chinasoft.com.
@ IN MX 5 mail.chinasoft.com.(5为优先级别)
ns IN A 172.16.31.3
www IN A 172.16.31.3
www IN A 172.16.31.3
mail IN A 172.16.31.3
2.配置正向解析库文件:
vim /var/named/chinasoft.com.zone
$TTL 43200#定义宏,通用变量,单位为秒
@ IN SOA dns.chinasoft.com admin.chinasoft.com. (
2018041101 ; #序列号
2H ; #刷新时间
10M ; #失败重试时间
7D ; #过期时间
1D) ; #否定答案时间
@ IN NS dns
@ IN MX 10 mail
dns IN A 192.168.21.224
mail IN A 192.168.21.225
www IN A 192.168.21.226
pop IN CNAME mail #mail别名
ftp IN CNAME www #www别名
3.配置反向解析库文件:
vim /var/named/21.168.192.zone
$TTL 43200
@ IN SOA dns.chinasoft.com. admin.chinasoft.com. (
2014031202
2H
10M
7D
1D )
IN NS dns.chinasoft.com.
87 IN PTR dns.chinasoft.com.
10 IN PTR mail.chinasoft.com.
11 IN PTR www.chinasoft.com.
cd /var/named
更改文件属组:
chown :named chinasoft.com.zone
chown :named 21.168.192.zone
更改文件权限:
chmod 640 chinasoft.com.zone
chmod 640 21.168.192.zone
检查防火墙,selinux状态:
#service iptables status
iptables: Firewall is not running.
#getenforce
Disabled
检测区域解析库配置文件语法:
named-checkzone "chinasoft.com" chinasoft.com.zone
zone chinasoft.com/IN: loaded serial 20180409
OK
service named restart
这两个配置好之后还要改一下你的NDS服务器的指向、编辑/etc/resolv.conf:
# vim /etc/resolv.conf
domain chinasoft.com
search chinasoft.com
nameserver 192.168.21.224
dig命令:
测试正向区域解析情况:
[plain] view plain copy
测试反向区域解析情况:
dig -x 192.168.21.224
报错:
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.21.224
;; global options: +cmd
;; connection timed out; no servers could be reached
修改:/etc/named.conf
修改下面两个句子
options {
listen-on port 53 { 192.168.21.224; }; (我就是在这里出问题的默认此处是127.0.0.1,就是因为没把此次IP改为本机IP所以一直解析不到)
allow-query { any; }; (这里可能也要改默认是localhost)
host命令:
检测正向解析库;
[plain] view plain copy
检测反向解析库:
# host -t ptr 192.168.21.225 192.168.21.226
Using domain server:
Name:192.168.21.226
Address:192.168.21.226#53
Aliases:
225.21.168.192.in-addr.arpa domain name pointer www.chinasoft.com.
# host -t ptr 192.168.21.224 192.168.21.226
Using domain server:
Name: 192.168.21.225
Address: 192.168.21.225#53
Aliases:
224.21.168.192.in-addr.arpa domain name pointer mail.chinasoft.com.