linux 第62,63天 DNS
linux 第62,63天 DNS
时间: 20180924
时间: 20180925
目录
DNS (Domain Name Service)
一次完整的查询请求经过的流程
资源记录
主从DNS名称服务器
转发服务器
bind中ACL
bind view (实现CDN的一种方式)
/etc/namd/namd.conf 配置文件选项解析
测试DNS命令dig
rndc
总结
DNS (Domain Name Service)
c/s 53 tcp udp
BIND (Bekerley Internat Name Domain)
ISC (www.isc.org)
一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion)
--> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS...
资源记录
区域解析库: 由从多RR(Resource Record)组成
资源记录: RR(Resource Record)
记录类型: A, AAAA, PTR, SOA, NS, CNAME, MX
SOA (Start Of Authority) 起始授权记录 一个区域解析库只能有一个此条目
SOA记录,必须位于解析库的第一条记录
A internet address FQDN --> IP
AAAA FQDN-->IPv6
PTR PinTeR, IP-->FQDN
NS Name Server, 专用于标明当前区域的DNS服务器
CNAME Canonical Name 别名记录 一条记录可以将一个域名解析的库跳转至另外一个上边
MX Mail eXchanger 邮件交换器
注意:
(1) TTL可从全局继承
< 5b4 p> (2) @可用于引用当前区域的名字(3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
(4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;
此仅表示通过多个不同的名字可以找到同一个主机
SOA 记录
winthcloud.com. 86400 IN SOA ns.winthcloud.com. nsadmin.winthcloud.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
)
反向解析区域
区域名称:网络地址反写.in-addr.arpa.
172.16.100. --> 100.16.172.in-addr.arpa.
定义区域
zone "ZONE_N 4fc0 AME" IN {
type {master|slave|forward};
file "网络地址.zone"
};
反向记录
11 IN PTR ns1.winthcloud.com.
11 IN PTR www.winthcloud.com.
12 IN PTR mx1.winthcloud.com.
子域授权如.com给winthcloud.com区域授权
IN NS dns1
winthcloud IN NS dns2
dns1 IN A 192.168.31.2
dns2 IN A 192.168.69.1
主DNS名称服务器
在主配置文件中定义区域
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "ZONE_NAME.zone";
};
主配置文件语法检查:
named-checkconf
解析库文件语法检查:
named-checkzone "winthcloud.com" /var/named/winthcloud.com.zone
转发服务器
注意:被转发的服务器需要能够为请求者做递归,否则转发请求不予进行
(1) 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器
Options {
forward first|only;
forwarders { ip;};
};
(2) 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高
zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
注意:关闭dnssec功能:
dnssec-enable no;
dnssec-validation no;
bind中ACL
bind中基础的安全相关的配置:
acl: 把一个或多个地址归并为一个集合,并通过一个统一的名称调用
格式:
acl acl_name {
ip;
net/prefix;
……
};
示例:
acl mynet {
172.16.0.0/16;
10.10.10.10;
};
bind有四个内置的acl:
none: 没有一个主机
any: 任意主机
localhost: 本机
localnet: 本机的IP同掩码运算后得到的网络地址
注意:只能先定义,后使用;因此一般定义在配置文件中,处于options的前面
bind view (实现CDN的一种方式)
CDN: Content Delivery Network内容分发网络
view:视图 实现智能DNS:
一个bind服务器可定义多个view,每个view中可定义一个或多个zone
每个view用来匹配一组客户端
多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件
注意:
(1) 一旦启用了view,所有的zone都只能定义在view中
(2) 仅在允许递归请求的客户端所在view中定义根区域
(3) 客户端请求到达时,是自上而下检查每个view所服务的客户端列表
格式:
view VIEW_NAME {
match-clients { testacl; };
zone "winthcloud.com" {
type master;
file "winthclou.com.zone";
};
include "/etc/named.rfc1912.zones";
};
/etc/namd/namd.conf 配置文件选项解析
recursion yes|no; 是否给客户请求做递归
访问控制的指令:
allow-query {}: 允许查询的主机;白名单
allow-transfer {}:允许区域传送的主机;白名单
allow-recursion {}: 允许递归的主机,建议全局使用
allow-update {}: 允许更新区域数据库中的内容
测试DNS命令dig
dig [-t type] name [@SERVER] [query options]
dig只用于测试dns系统,不会查询hosts文件进行解析
查询选项:
+[no]trace:跟踪解析过程 : dig +trace magedu.com
+[no]recurse:进行递归解析
测试反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa
模拟区域传送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr winthcloud.com @10.10.10.11
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -x IP 反向解析
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net
rndc
rndc --> rndc (953/tcp)
rndc COMMAND
COMMAND:
reload: 重载主配置文件和区域解析库文件
reload zonename: 重载区域解析库文件
retransfer zonename: 手动启动区域传送,而不管序列号是否增加
notify zonename: 重新对区域传送发通知
reconfig: 重载主配置文件
querylog: 开启或关闭查询日志文件/var/log/message
trace: 递增debug一个级别
trace LEVEL: 指定使用的级别
notrace:将调试级别设置为 0
flush:清空DNS服务器的所有缓存记录
总结
1. recursion yes|no; 此项如果设置为no可以查询记录但是只能查询至其下一级不给再往下
查询如向.查询www.winthcloud.com时,他会给你只返回.com的NS记录在哪里,然后只能
你自己再去一级一级查询.
2. name.conf里的配置有几项很关键allow-query {}; 后边一般直接跟网段,如果只根主机
地址只会使相应的主机可进行查询其它主机则不可查询。
3. allow-transfer {}; 用来限制给哪些提供区域转发功能,一般只给从服务器提供
allow-recursion {}; 允许给哪些网段递归,一般只为内部网络递归,除非你是互联网上
的DNS。
4. allow-update {}; 即远程控制域服务器,可以添加域等操作,一般不使用
5. acl acl-name { IP or net;}; 将远程IP归类,可以为后期做查询记录时为不同的客户端
提供不同的dns解析
6. view { match-clients { aclname; ip; net; }; };此里边可以添加zone,注意如果
dns服务器准备做view时所有的区域必须包含在内,只在准备为其做递归的view中使用
根区域
- linux下的dns设置详解
- linux下DNS服务器的配置
- 设置linux IP DNS GATEWAY
- 随记:Linux下修改DNS及hosts
- linux下 DNS配置过程『罗斌原创』
- 配置linux DNS
- Linux入门基础 #13:DNS基础及域名系统架构
- Linux DNS 配置示例
- linux下修改IP、DNS、路由设置
- Linux下配置DNS服务
- linux下修改ip地址,默认网关以及DNS
- Linux DNS bind 9.9 安装 配置
- Linux dns+web
- Linux学习记录(18)DNS服务基础
- Linux 第九周学习笔记(2)高速DNS
- Linux 修改IP地址 服务器名称 和 DNS网络设置
- 在 Linux 上用 DNS 实现简单的负载均衡
- Linux自学笔记——DNS和bind应用
- LINUX构件DNS
- [ Linux学习 ] DNS基础