dns配置和各种文件中注意的点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dns配置和各种文件中注意的点相关的知识,希望对你有一定的参考价值。

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上的信号进行

如:

 kill -HUP `cat /var/run/named.pid`

rndc提供更多的手段通过信道(channel)用信号去管理

== 重载:

如:

rndc reload

重新加载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

重点关注:

flags 标志,如果出现就表示有标志,如果不出现就未设置标志:

  qr query,查询标志,代表是查询操作

  rd recursion desired, 代表希望进行递归(recursive)查询操作

  ra recursive available 在返回中设置,代表查询的服务器支持递归(recursive)查询操作。

 aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。

AUTHORITY 权威域名服务器记录数,5代表该域名有5个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION

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






本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1774913

以上是关于dns配置和各种文件中注意的点的主要内容,如果未能解决你的问题,请参考以下文章

DNS常见配置

2020-11-09 HBuilder X打包发布ios需要注意的点

ranche 中使用 alpine dns 注意事项

DNS配置

Redhat6.5中搭建DNS域名解析服务

DNS配置