分享一个shell脚本代码,用于创建bind的zone文件,即域文件。 首先,需要自定义配置文件如下。 示例ns.profile.it.net.cn配置文件
定义你的默认TTL,电子邮件ID和其他的东西。
保存如下ns.profile.it.net.cn:
# 域名服务ns1.it.net.cn的默认配置文件
# TTL="3h" # Default TTL ATTL="3600" # Default TTL for each DNS rec EMAILID="vivek.nixcraft.in." # hostmaster email REFRESH="3h" # Refresh After 3 hours RETRY="1h" # Retry Retry after 1 hour EXPIER="1w" # Expire after 1 week MAXNEGTIVE="1h" # Minimum negative caching of 1 hour # name server names FQDN NAMESERVERS=("ns1.it.net.cn." "ns2.it.net.cn." "ns3.it.net.cn.") # 域名服务器的ip列表 # 可以先留下空白,以后再添加。 NAMESERVERSIP=() #NAMESERVERSIP=("202.54.1.10" "203.54.1.10" "204.54.1.40") # 邮件记录 # 可以先留下空白,以后再添加。 MAILSERVERS=("mail.it.net.cn.") #MAILSERVERS=("smtp1.it.net.cn." "smtp2.it.net.cn.") #-------添加A记录----------# # 定义添加A记录的函数 function LoadCutomeARecords(){ echo >/dev/null # keep this line # Uncomment or add A recoreds as per your requirments # echo "ftp $ATTL IN A 202.54.2.2" # echo "webmail $ATTL IN A 202.54.2.5" # echo "ipv6host $ATTL IN AAAA 2001:470:1f0e:c2::1" }
使用LoadCutomeARecords()添加其他记录。
mkzone.sh: 创建bind的zone文件
#!/bin/bash
DOMAIN="$1"
如何使用这个脚本?
$ORIGIN cyberciti.com.
$TTL 3h @ IN SOA ns1.jbxue.com. vivek.nixcraft.in.( 2009032401 ; Serial yyyymmddnn 3h ; Refresh After 3 hours 1h ; Retry Retry after 1 hour 1w ; Expire after 1 week 1h) ; Minimum negative caching of 1 hour ; Name servers for cyberciti.com @ 3600 IN NS ns1.it.net.cn. @ 3600 IN NS ns2.it.net.cn. @ 3600 IN NS ns3.it.net.cn. ; MX Records @ 3600 IN MX 10 mail.it.net.cn. ; A Records @ 3600 IN A 202.54.1.2 ; CNAME Records www 3600 IN CNAME @
运用重定向符号,将以上内容保存为文件: /var/named/chroot/etc/bind/master/c/cyberciti.com即可,如下:
# ./mkzone.sh cyberciti.com 202.54.1.2 ns.profile.it.net.cn > /var/named/chroot/etc/bind/master/c/cyberciti.com
|