dns自動配置Shell腳本


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM