Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.58 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. if [ $USER != "root" ]; then
  4.                 echo "Error, not running as root"
  5.                 exit; # Shell invoker (PHP script) does su to root
  6. fi;
  7.  
  8. DOMAIN=$1
  9. IP=$2
  10. # Separated by :
  11. NAMESERVERS=$3
  12.  
  13. EXISTS=`grep "${DOMAIN}" /etc/named.conf`
  14.  
  15. if [ "${EXISTS}" = "1" ]; then
  16.   echo -e "\n\
  17.    zone \"${DOMAIN}\" { \n\
  18.      type master;\n\
  19.      file \"${DOMAIN}.zone\";\n\
  20.    };\n" >> /etc/named.conf;
  21. fi;
  22.  
  23. echo -e "\
  24. \$ORIGIN ${DOMAIN}\n\
  25. \$TTL 86400\n\
  26. @     IN     SOA    ns1.${DOMAIN}.     hostmaster.${DOMAIN}. (\n\
  27.                    2001062501 ; serial\n\
  28.                    21600      ; refresh after 6 hours\n\
  29.                    3600       ; retry after 1 hour\n\
  30.                    604800     ; expire after 1 week\n\
  31.                    86400 )    ; minimum TTL of 1 day\n" > /var/named/data/${DOMAIN}.zone
  32.  
  33. arr=$(echo $NAMESERVERS | tr ":" "\n")
  34.  
  35. for x in $arr
  36. do
  37.   NSNAME=`echo $x |awk -F '/' '{print $1}'`
  38.   NNSNAME=`basename "${NSNAME}" ".${DOMAIN}"`
  39.   NSIP=`echo $x |awk -F '/' '{print $2}'`
  40.   echo -e "      IN    NS    ${NSNAME}.\n" >> /var/named/data/${DOMAIN}.zone
  41. done;
  42.  
  43. echo -e "      IN     A    ${IP}\n" >> /var/named/data/${DOMAIN}.zone
  44. echo -e "*     IN     A    ${IP}\n" >> /var/named/data/${DOMAIN}.zone
  45.  
  46.  
  47. arr=$(echo $NAMESERVERS | tr ":" "\n")
  48.  
  49. for x in $arr
  50. do
  51.   NSNAME=`echo $x |awk -F '/' '{print $1}'`
  52.   NNSNAME=`basename "${NSNAME}" ".${DOMAIN}"`
  53.   NSIP=`echo $x |awk -F '/' '{print $2}'`
  54. #  echo $NNSNAME; exit
  55.   echo -e "${NNSNAME}  IN     A    ${NSIP}\n" >> /var/named/data/${DOMAIN}.zone
  56. #  echo $x;
  57. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement