这个脚本用于快速配置dns,输入域名、ip即可,如果有什么特殊的配置,稍微修改一下就可以了
代码:
#!/bin/bash #获取url echo "url:" read url #获取ip echo "ip:" read ip #向/etc/named.rfc1912.zones尾插入 #zone "$url" IN { # type master; # file "$url.zone"; # allow-update{ none; }; #}; cat>>/etc/named.rfc1912.zones<<EOF zone "$url" IN { type master; file "$url.zone"; allow-update{ none; }; }; EOF #复制生成文件 cp -a /var/named/named.localhost /var/named/${url}.zone #向/var/named/${url}.zone中插入 #$TTL 1D #@ IN SOA $url admin.$url. ( # 0 ; serial # 1D ; refresh # 1H ; retry # 1W ; expire # 3H ) ; minimum # NS datav.aliyuncs.com. # A $ip cat>/var/named/${url}.zone<<EOF $TTL 1D @ IN SOA $url admin.$url. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS $url. A $ip EOF #完成 echo "$url $ip complete"
注释(#开头的那一行)我觉得是写的挺清晰的,dns服务器提供解析某个域名到某个ip地址,所以这里的基本原理就是读取输入域名和ip,向named.rfc1912.zones和${url}.zone(由以前的配置文件复制产生)中插入配置语句。
效果就是:
然后重启named即可。
还有只修改了获取参数的方法,其他的不变的另一个脚本
#!/bin/bash #获取url url=$1 #获取ip ip=$2 #向/etc/named.rfc1912.zoneswz尾插入 #zone "$url" IN { # type master; # file "$url.zone"; # allow-update{ none; }; #}; cat>>/etc/named.rfc1912.zones<<EOF zone "$url" IN { type master; file "$url.zone"; allow-update{ none; }; }; EOF #复制生成文件 cp -a /var/named/named.localhost /var/named/${url}.zone #向/var/named/${url}.zone中插入 #$TTL 1D #@ IN SOA $url admin.$url. ( # 0 ; serial # 1D ; refresh # 1H ; retry # 1W ; expire # 3H ) ; minimum # NS datav.aliyuncs.com. # A $ip cat>/var/named/${url}.zone<<EOF $TTL 1D @ IN SOA $url admin.$url. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS $url. A $ip EOF #完成 echo "$url $ip complete"
这个只是用法上不一样,效果如下:
至于named的安装,以及为什么插入那样的配置语句网上到处都是教程。