当前位置: > Linux服务器 > 服务器设置 >

linux下搭建dhcp服务器及部署中继代理详解

时间:2016-05-22 23:03来源:linux.it.net.cn 作者:IT
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上的信号进行
如:
1 kill -HUP `cat /var/run/named.pid`
 


rndc提供更多的手段通过信道(channel)用信号去管理
== 重载:
如:
1 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

重点关注:

[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)
------分隔线----------------------------