1 简写 看简写的形式: 最简单的是 概念: zone语句的第二个字段用来指定域名,该域名是该区域数据文件中所有数据的来源(origin) www.cui. IN A 192.168.7.234 简写方式是 www IN A 192.168.7.234 其实:www就是表示cui.这个域下的主机 其简写的来源依据是: zone "cui" in { typemaster; file"db.cui"; }; 在RR中,所有不以 “.” 结尾的名的,如www 会自动附加上配置文件中中zone后面那个 字段的来源 “cui” 所以结合起来也就是 www.cui. 同理 234.7.168.192.in-addr.arpa. IN PTR www.cui. 简写: 234 IN PTR www.cui. 2 @符号的表示法 如果一个域名和来源相同的话,那么改名称就可以被表示为”@“ 最常见在区域数据文件中的SOA记录中 可以写成为 @ IN SOA bind1.cui. bind1.cui. ( 1h 3h 1h 1w 2h) 【安全性的 控制 查询 传输】 1 allow-query 允许查询的地址 默认 是只允许localhost allow-query { localhost; }; 结果: 非本地来的查询 将不会应答 一般改成: 允许来自所有的query,或者有acl控制特定的网络 allow-query { any }; 2 allow-transter {any ;}; 作用: 控制区域传送的(master 和slave 允许那些主机接收服务的区域传送 3 recursion yes; 允许递归查询 4 allow-recursion { any;} 默认的,指定允许哪些主机通过本服务器进行递归查询 5 allow-query-cache { any ;}; 查找缓存 6 网络监听接口 一般设置为 作用: 服务器回应查询的端口号和接口(即IP地址) listen-on port 53 { youIP; }; 如果: 设为 listen-on port 53 { any ;}; 则所有端口都将监听起来 应用: 如不想在IPv6 的接口上监听 listen-on-v6 port 53 { none; }; 【rndc 维护dns命令】 1 管理dns 可以通过发送一些linux上的信号进行 如:
rndc提供更多的手段通过信道(channel)用信号去管理 == 重载: 如:
重新加载server配置文件和zone区域文件 等于 /etc/init.d/named reload = kill kill -HUP `cat /var/run/named.pid` 注意: 还一个重载指定的区域 rndc reload zone 如: rndc reload zone == 重启服务 rndc restart == /etc/init.d/named restart == 状态 rndc status == /etc/init.d/named status == stop/start rndc stop == /etc/init.d/named stop == kill TERM `cat /var/run/named.pid` == 清空缓存 rndc flush 注意: 区别重载和重启的区别: 最直观的是,重启进程pid会改变,重载不会改变 重载只是重新读取配置文件而已,没有把程序杀死在重启开启 2 rndc 可以控制的前提:
/etc/rndc.key
可以手动生成
rndc-confgen -r /dev/urandom -a
注: named.conf 中可以通过options 中的 controls 选项指定控制,默认不需要3 rndc 监听端口是 953 4 修改了primary中的区域文件信息之后一定要记得 把序列号加+1 5 报错:
9 15:32:50 cui2 named[10634]: none:0: open: /etc/rndc.key: permission denied
解决办法:chmod +r /etc/rndc.key 【解析器的那些文件和作用】 1 解析器就是 dns的客户端程序 如: telnet shop-web01.beta 会去调用dns解析器 解析这个shop-web01.beta域名 ftp ping ssh scp 等等程序都调用了dns解析器程序 2 涉及的文件 nsswitch.conf /etc/resolve.conf /etc/hosts hostname 3 现象 为什么 ping dpindex-web01 解析器会将这个会自动解析dpindex-web01.beta 4 解释nsswitch.conf文件说明 一般用途: 其中一个行默认 hosts: files dns 其意思是 解析器解析域名的时候先查找/etc/hosts 下,在查找dns名称服务器 5 解释hostname和本地域的作用 hostname 如果是一个 主机名.域的形式如: shop-web01.beta 那么 点号后面的(beta) 就代表本地域 有了本地域在输入的时候,解析器就会自动补充如: ping dpindex-web01 解析器会读成 dpindex-web01.beta 自动加上了本地域 作用,如tab一样可以减少输入 注: 如果 hostname主机名种没有 “.” 那么会将域变成root 关于要不要加上本地域 和 主机名中存在多个 ”.“ 的情况,解析器都是很智能能都都会处理好! 6 解释 /etc/resolve.conf 文件中的各个指令 domain search nameserver options domain 也是指定本地域,如果resolve.conf 中存在,这个指令 如 domain beta 那么会覆盖hostname计算出来的本地域 search指令 和domain 类似 只是 支持多个域 nameserver 指定使用的名称服务器 如: nameserver 1.1.1.1 nameserver 2.2.2.2 nameserver 3.3.3.3 可以使用多个,当第一个故障时使用第二个 只有当 第一个查询超时时或者网络错误的时候,才会使用第二个! 注意,不是说第一个查询不到结果(正常的返回),这样是不会使用第二个名称服务器的 如 options 指令设置 一些debug 或者超时 重试等的 如: options attempts:4 timeout:2 ndots:2 注: 一些特点和不同的版本是有区别的,以上在8版本之后都是支持的 其他一些关于太详细的用的不多的,请自行参考bind and dns 这本权威的书 【解析命令】 1 nslookup 在主要在windows下使用,linux下简单可以使用 nslookup 域名 nslookup IP 反向解析 解析出来的信息刨析: 参考 http://doc.okbase.net/1382972/archive/110141.html 重点关注: [size=13.3333px]flags 标志,如果出现就表示有标志,如果不出现就未设置标志: [size=13.3333px] qr query,查询标志,代表是查询操作 [size=13.3333px] rd recursion desired, 代表希望进行递归(recursive)查询操作 [size=13.3333px] ra recursive available 在返回中设置,代表查询的服务器支持递归(recursive)查询操作。 [size=13.3333px] aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。 [size=13.3333px]AUTHORITY 权威域名服务器记录数,5代表该域名有5个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION [size=13.3333px]ADDITIONAL 格外记录数,6代表有6项格外记录。对应下面 ADDITIONAL SECTION。 2 dig 命令 dig 域名 默认使用 本地dns(/etc/resolve.conf) 下配置的,去解析 默认解析A记录 选项或者参数 dig @dnsserver 域名 指定以你指定的名称服务器去解析这个域名 如: dig @localhost .beta dig -t type类型 域名 作用:指定记录类型 如: dig -t MX dianping.com dig -x IP 作用: 进行反解析,一般在内网工作起作用 如: dig -x 192.168.213.86 dig +trace 域名 作用: 强制从root开始迭代查找结果 如: dig +trace www.sina.com.cn 【forward 】 自己转发不了的,转发给指定的名称服务器去解析 常用配置是,对某个区域自己解析不了的进行forward配置! 如: 对于 beta和nh这个区域,本地localhost 名称服务器是无法解析的,所以需要进行针对这个区域进行转发 type forward; forward { 192.168.211.116; }; 注: 当然也可以进行 全局进行都转发,这台名称服务器完完全全只作为转发服务器进行的! 其工作过程: 默认是 转发优先(相对 迭代 root而言) 其过程是: 本地解析域名,如果本地没有或者缓存没有,那么就像转发服务器发起查询,如果经过短暂周期没有收到应答响应,那么久会进行正常的操作,开始进行迭代查询! 是否加上forward-only; 只是有那么一点区别和 转发优先 ,只是速度上的一点区别而已! 鉴于版本不一样,我的bind版本 9.8 tail -f /var/log/messages 默认配置文件下,只配置 forward 一个区域的话,可能解析不了,会报错
validating @0x7f4f680616c0: beta SOA: got insecure response; parent indicates it should be secure
解决方案:dnssec-enable no; dnssec-validation no; 将yes都统统变成no (责任编辑:IT) |