shell之dns_zone的配置含义

本文详细介绍了DNS配置中的关键字段,如$TTL、SOA记录、NS记录等,并提供了正向和反向解析文件的具体配置示例。此外还介绍了如何使用命令行工具检查DNS配置的正确性。

## dns的配置字段

$TTL 1D	生存期,单位[W|D|H|M] 周 天 时 分 默认为秒
	
"@ IN SOA @ root.groupon.cn. (	正向解析文件(/var/named/named.groupon.cn )
2010110901	Serial
28800	Refresh
14400	Retry
3600000	Expire
86400	Minumum TTL
}	
IN NS @	直接输入域名,访问@
IN NS ns.linuxde.net	定义name server.
IN A 221.123.177.226	"直接输入域名(www),解析到的外网IP
name server的内部IP"
IN MX 10 ns.linuxde.net.	定义Mail exchanger
ns IN A 192.168.0.17	定义IP地址和主机名
	
store   IN A 192.168.60.42	输入子域名,解析到的内网IP 
img     IN A 192.168.60.43	
	
$TTL 1D  	建立反向解析文件:/var/named/named.192.168.60 
"@ IN SOA 60.168.192.in-addr.arpa. root.groupon.cn. (	
2010110901	
28800	
14400	
3600000	
86400	
)	
"@ IN NS www.groupon.cn.	
42 IN PTR store.groupon.cn.	192.168.60.42 -> store  
43 IN PTR img.groupon.cn.	192.168.60.43 -> img 

## 检测配置正确性

/usr/sbin/named-checkconf -z  	配置完成,检查配置文件的正确性
service named start 	启动named服务
	
ipconfig /flushdns 	客户端DNS指定本机,并强制刷新该DNS
nslookup	
>groupon.cn	
	
Linux下采用dig校验正确性:	
dig @server.qianlong.com	查看qianlong.com是否配置正确
dig @server.qianlong.com AXFR	查看zone数据传输
dig @server.qianlong.com IXFR=N	查看zone数据的增量传输
dig -x 124.42.102.203 @server	dig查看反向解析
dig   qianlong.com +nssearch	查找一个域的授权 dns 服务器
dig   qianlong.com +trace	


下面我将给你提供几个shell脚本,其会互相调用函数,请你从第一个出发,告诉我有关lan dns的生效功能,我会分几次给你提供,直到我说over为止 #!/bin/sh . /lib/functions.sh local DNSPROXY_SHELL=“/lib/dnsproxy/main.sh” local CONF_VAR=“/var/unbound/unbound.conf” [ -z “$INTERFACE” ] && exit 0 unbound_add_interface() { #add interface local ip=$1 echo “add unbound interface $ip” >/dev/console local exist=cat $CONF_VAR | grep "interface: ${ip}@53" if [ -z “ e x i s t " ] ; t h e n s e d − i " / . ∗ v e r b o s i t y ∗ / a i n t e r f a c e : exist"];thensed−i"/.∗verbosity∗/a interface:{ip}@53” $CONF_VAR fi } unbound_delete_interface() { #delete interface local ip=$1 echo “delete unbound interface i p " > / d e v / c o n s o l e s e d − i " / i n t e r f a c e : ip">/dev/consolesed−i"/interface:{ip}@53/d” $CONF_VAR } check_dor_interface() { . /lib/zone/zone_api.sh interfaces=uci get dnsproxySecurity.dor.interface for interface in $interfaces do device=zone_get_effect_devices $interface if [ -z “$device” ]; then uci del_list dnsproxySecurity.dor.interface=$interface fi done interfaces=`uci get dnsproxySecurity.dor.interface` if [ -z "$interfaces" ]; then uci set dnsproxySecurity.dnsproxy.dor_switch="off" uci commit dnsproxySecurity echo 0 else uci commit dnsproxySecurity echo 1 fi } case “$ACTION” in add) [ "$INTERFACE" = "vwan" ] && { return 0 } config_load vnetwork config_get ipaddr "$INTERFACE" ipaddr unbound_add_interface $ipaddr ${DNSPROXY_SHELL} reload ;; delete) [ "$INTERFACE" = "vwan" ] && { return 0 } config_load vnetwork config_get ipaddr "$INTERFACE" ipaddr unbound_delete_interface $ipaddr ${DNSPROXY_SHELL} reload ;; commit) switch=`uci get dnsproxySecurity.dnsproxy.dor_switch` if [ "$switch" = "on" ];then ret=$(check_dor_interface) if [ "$ret" == "1" ]; then ${DNSPROXY_SHELL} update_dor elif [ "$ret" == "0" ];then ${DNSPROXY_SHELL} update_dor ${DNSPROXY_SHELL} rebuild ${DNSPROXY_SHELL} reload fi fi local server_rule=`uci -q get dns_server.rule.rules` [ -n "$server_rule" ] && /etc/init.d/dnsproxy restart ;; esac
最新发布
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值