利用脚本自动安装一个DNS服务器

需要输入自己主机的域名和IP地址

脚本会把自己IP作为ns ,www和mail服务器 地址

 

脚本如下:

 
  
  1. #!/bin/bash  
  2. # this is to build a dns server   
  3. #yum -y install bind  caching-nameserver  
  4. # install bind & caching-nameserver packages  
  5. mv /etc/named.conf /etc/named.conf.old &>/dev/null 
  6. #configure the /etc/named.conf  
  7. cat  >> /etc/named.conf <<EOF  
  8. options {  
  9.          directory "/var/named";  
  10. };  
  11. zone "." IN {  
  12.             type hint ;  
  13.             file "named.ca";  
  14.         };  
  15.  
  16. zone "0.0.127.in-addr.arpa" IN {  
  17.             type master;  
  18.             file "named.local";  
  19. };  
  20. zone "localhost" IN {  
  21.             type master;  
  22.             file "localhost.zone";  
  23. };  
  24. EOF  
  25. read -p "please in put your domain name:" MYNET  
  26. read -p "please in put your IP:" MYIP  
  27. IP1=`echo $MYIP |cut -d. -f1`  
  28. IP2=`echo $MYIP |cut -d. -f2`  
  29. IP3=`echo $MYIP |cut -d. -f3`  
  30. IP4=`echo $MYIP |cut -d. -f4`  
  31. cat >> /etc/named.conf <<EOF  
  32. zone "$MYNET" IN {  
  33.     type master;  
  34.     file "${MYNET}.zone";  
  35.     };  
  36. zone "$IP3.$IP2.$IP1.in-addr.arpa" IN {  
  37.     type master;  
  38.     file "$IP1.$IP2.$IP3.zone";  
  39.     };  
  40. EOF  
  41. cat >> /var/named/${MYNET}.zone <<EOF  
  42. \$TTL 86400  
  43. \$ORIGIN ${MYNET}.  
  44. @   IN  SOA $MYNET  root.${MYNET}.  (  
  45.             2011021201  
  46.             1H  
  47.             10M  
  48.             7D  
  49.             1D )  
  50.     IN  NS  ns  
  51.     IN  MX  10  mail  
  52. ns  IN  A   $MYIP  
  53. www IN  A   $MYIP  
  54. mail    IN  A   $MYIP  
  55. pop3    IN  CNAME   mail  
  56. EOF  
  57. cat >> /var/named/$IP1.$IP2.$IP3.zone<<EOF  
  58. \$TTL 86400  
  59. @       IN      SOA     $MYNET  root.${MYNET}.  (  
  60.                         2011021201  
  61.                         1H  
  62.                         10M  
  63.                         7D  
  64.                         1D )  
  65.         IN      NS  ns  
  66. $IP4    IN  PTR mail.${MYNET}.  
  67. EOF  
  68. chown  named:named /etc/named.conf  
  69. chown  named:named /var/named/$IP1.$IP2.$IP3.zone   
  70. chown  named:named /var/named/${MYNET}.zone  
  71. service named configtest  
  72. service named start