這個腳本用於快速配置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的安裝,以及為什么插入那樣的配置語句網上到處都是教程。