服务管理——DNS

来源:互联网 发布:阿里云小号 编辑:程序博客网 时间:2024/05/17 03:59
 

服务管理——DNS

分类: Linux Linux Server Deployment 145人阅读 评论(0) 收藏 举报
LinuxDNS服务管理

目录(?)[+]

一 DNS相关知识

什么是DNS服务器

DNS,即Domain Name System,域比如名服务器,实现域名和IP地址对应的解析。将www.baidu.com 转换成某个IP地址,或者将某个IP映射成www.baidu.com。

这里有个小疑问,没有域名服务器是否可以可以正常上网?答案是当然可以。我们可以使用IP地址,但是输入域名无法访问。根域是一个点(.),下面还有子域,比如熟知的com、net、cn、net、org,某个子域,比如com之下,又有163、baidu……,baidu下又有zhidao、wenku……。根域服务器,全球有13台,亚洲有一台在日本。DNS是怎么解析的呢?有两种方式,第一是递归查询:本级不知道,上一级知道,然后沿路返回;第二是迭代查询:上一级给你信息,自己查询。本机配置DNS成功后不被认可,即不能在公网上跑,需要被上一级管理才行。

 

sql

常用的DNS服务器

bind:最流行的DNS服务器 (公司用

mydns:和数据库进行集成(域名提供商,发便用户注册),写到数据库里

 

下面我们讲解DNS的用法,包括DNS正解配置、DNS配置mail服务器、DNS——配置别名、DNS——通配符、DNS做负载均衡、DNS配置——反解、DNS转发、DNS主从服务器、子域授权、DNS高级视图、/etc/named.conf:41: open: /etc/named.acl.dx:file not found解决。

二 DNS配置——正解

 

[sql] view plaincopy
  1. #DNS配置——正解(域名转换成IP地址)  
  2.    
  3. #Serv01:DNS服务器  
  4. #Serv02:测试用  
  5.    
  6.         
  7. --第一步,serv01安装bind  
  8. #安装bind  
  9. [root@serv01~]# yum install bind* -y  
  10.    
  11. --第二步,修改配置文件named.conf  
  12. [root@serv01~]# /etc/named.conf  
  13. #查询  
  14. [root@serv01~]# rpm -qa|grep bind  
  15. [root@serv01~]# rpm -ql bind|less  
  16.         
  17. #编辑文件  
  18. [root@serv01~]# vim /etc/named.conf  
  19.    
  20. options {  
  21.           #监听端口 IP地址  
  22.           #listen-onport 53 { 127.0.0.1; };  
  23. #监听任何IP地址  
  24. listen-on port 53 { any; };  
  25.         listen-on-v6 port 53 { ::1; };  
  26.                #指定根目录  
  27.         directory       "/var/named";  
  28.                #对Cache进行备份  
  29.         dump-file      "/var/named/data/cache_dump.db";  
  30.                #静态文件  
  31.         statistics-file"/var/named/data/named_stats.txt";  
  32.                #内存静态文件  
  33.         memstatistics-file"/var/named/data/named_mem_stats.txt";  
  34.                #允许查询的IP地址  
  35.         #allow-query     { localhost; };  
  36.                #允许查询所有的IP地址进行查询  
  37.         allow-query     { any; };  
  38.                #默认递归查询  
  39.         recursion yes;  
  40.                #安全相关的  
  41.         dnssec-enable yes;  
  42.         dnssec-validation yes;  
  43.         dnssec-lookaside auto;  
  44.    
  45.         /* Path to ISC DLV key */  
  46.         bindkeys-file "/etc/named.iscdlv.key";  
  47. };  
  48.        #根域服务器  
  49.        zone "." IN {  
  50.         type hint;  
  51.         file "named.ca";  
  52. };  
  53.    
  54. #区域文件  
  55. include"/etc/named.rfc1912.zones";  
  56. [root@serv01~]# ls /var/named/  
  57. chroot  data dynamic  named.ca  named.empty named.localhost named.loopback  slaves  
  58.    
  59.    
  60. #根域服务器的相关信息  
  61. [root@serv01~]# cat /var/named/named.ca  
  62. ;<<>> DiG 9.5.0b2 <<>> +bufsize=1200 +norec NS .@a.root-servers.net  
  63. ;; globaloptions:  printcmd  
  64. ;; Gotanswer:  
  65. ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34420  
  66. ;; flags:qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 20  
  67.    
  68. ;; OPTPSEUDOSECTION:  
  69. ; EDNS:version: 0, flags:; udp: 4096  
  70. ;;QUESTION SECTION:  
  71. ;.                          IN    NS  
  72.    
  73. ;; ANSWERSECTION:  
  74. .                    518400  IN    NS   M.ROOT-SERVERS.NET.  
  75. .                    518400  IN    NS   A.ROOT-SERVERS.NET.  
  76. .                    518400  IN    NS   B.ROOT-SERVERS.NET.  
  77. .                    518400  IN    NS   C.ROOT-SERVERS.NET.  
  78. .                    518400  IN    NS   D.ROOT-SERVERS.NET.  
  79. .                    518400  IN    NS   E.ROOT-SERVERS.NET.  
  80. .                    518400  IN    NS   F.ROOT-SERVERS.NET.  
  81. .                    518400  IN    NS   G.ROOT-SERVERS.NET.  
  82. .                    518400  IN    NS   H.ROOT-SERVERS.NET.  
  83. .                    518400  IN    NS   I.ROOT-SERVERS.NET.  
  84. .                    518400  IN    NS   J.ROOT-SERVERS.NET.  
  85. .                    518400  IN    NS   K.ROOT-SERVERS.NET.  
  86. .                    518400  IN    NS   L.ROOT-SERVERS.NET.  
  87.    
  88. ;;ADDITIONAL SECTION:  
  89. #13台根域服务器  
  90. A.ROOT-SERVERS.NET.      3600000       IN    A     198.41.0.4  
  91. A.ROOT-SERVERS.NET.      3600000       IN    AAAA     2001:503:ba3e::2:30  
  92. B.ROOT-SERVERS.NET.      3600000       IN    A     192.228.79.201  
  93. C.ROOT-SERVERS.NET.      3600000       IN    A     192.33.4.12  
  94. D.ROOT-SERVERS.NET.     3600000       IN    A     128.8.10.90  
  95. E.ROOT-SERVERS.NET.      3600000       IN    A     192.203.230.10  
  96. F.ROOT-SERVERS.NET.       3600000       IN    A     192.5.5.241  
  97. F.ROOT-SERVERS.NET.       3600000       IN    AAAA     2001:500:2f::f  
  98. G.ROOT-SERVERS.NET.     3600000       IN    A     192.112.36.4  
  99. H.ROOT-SERVERS.NET.     3600000       IN    A     128.63.2.53  
  100. H.ROOT-SERVERS.NET.     3600000       IN    AAAA     2001:500:1::803f:235  
  101. I.ROOT-SERVERS.NET.       3600000       IN    A     192.36.148.17  
  102. J.ROOT-SERVERS.NET.       3600000       IN    A     192.58.128.30  
  103. J.ROOT-SERVERS.NET.       3600000       IN    AAAA     2001:503:c27::2:30  
  104. K.ROOT-SERVERS.NET.      3600000       IN    A     193.0.14.129  
  105. K.ROOT-SERVERS.NET.      3600000       IN    AAAA     2001:7fd::1  
  106. L.ROOT-SERVERS.NET.      3600000       IN    A     199.7.83.42  
  107. M.ROOT-SERVERS.NET.    3600000       IN    A     202.12.27.33  
  108. M.ROOT-SERVERS.NET.    3600000       IN    AAAA     2001:dc3::35  
  109.    
  110. ;; Querytime: 147 msec  
  111. ;;SERVER: 198.41.0.4#53(198.41.0.4)  
  112. ;; WHEN:Mon Feb 18 13:29:18 2008  
  113. ;; MSGSIZE  rcvd: 615  
  114.    
  115. #本地域名的解析  
  116. [root@larrywen0808]# ping localhost.localdomain  
  117. PINGlocalhost (127.0.0.1) 56(84) bytes of data.  
  118. 64 bytesfrom localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.024 ms  
  119. 64 bytesfrom localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.026 ms  
  120. 64 bytesfrom localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.025 ms  
  121. 64 bytesfrom localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.027 ms  
  122. 64 bytesfrom localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.026 ms  
  123. 64 bytesfrom localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.026 ms  
  124. ^C  
  125. ---localhost ping statistics ---  
  126. 6 packetstransmitted, 6 received, 0% packet loss, time 5624ms  
  127. rttmin/avg/max/mdev = 0.024/0.025/0.027/0.005 ms  
  128.    
  129. --第三步,修改配置文件named.rfc1912.zones  
  130. [root@serv01~]# tail -n5 /etc/named.rfc1912.zones  
  131. zone"hongyi.com" IN {  
  132.        typemaster;  
  133.        #域名和IP地址的对应关系的存放文件  
  134.        file"hongyi.com.zone";  
  135.        #不允许更新  
  136.        allow-update{none;};  
  137. };  
  138.    
  139. #保持属性保持一致(所属组)  
  140. [root@serv01named]# cp named.localhost hongyi.com.zone -a  
  141. [root@serv01named]# ll named.localhost hongyi.com.zone  
  142. -rw-r-----.1 root named 152 Jun 21  2007hongyi.com.zone  
  143. -rw-r-----.1 root named 152 Jun 21  2007 named.localhost  
  144.    
  145. --第四步,拷贝文件,修改hongyi.com.zone文件  
  146. $TTL 1D  
  147. #注意后面有点  
  148. @    IN SOA dns.hongyi.com. root.hongyi.com. (  
  149.                                    0     ; serial  
  150.                                    1D   ; refresh  
  151.                                    1H   ; retry  
  152.                                    1W  ; expire  
  153.                                    3H )       ; minimum  
  154.        #和前面的DNS保持一致  
  155.        NS   dns.hongyi.com.  
  156. dns  IN A       192.168.1.11  
  157. www      IN A       192.168.1.88  
  158.    
  159. #文件配置项解析  
  160. [root@serv01~]# cat /var/named/named.localhost  
  161. $TTL 1D  
  162. #@:域名 hongyi.com  
  163. #rname.invalid:出了问题,发送邮件地址  
  164. @    IN SOA   @rname.invalid. (  
  165.                                    #序列号,主从服务器更新需要。版本号,文件修改的次数  
  166. 0         ;serial  
  167. #从服务器更新刷新的时间  
  168.                                    1D   ; refresh  
  169.                                    #没有刷新成功,重试时间  
  170.                                    1H   ; retry  
  171.                                    #如果还没成功,失效的时间  
  172.                                    1W  ; expire  
  173.                                    #有效时间:三个小时  
  174.                                    3H)       ; minimum  
  175.        #和前面保持一致  
  176.        NS   @  
  177.        A     127.0.0.1  
  178.        AAAA     ::1  
  179.    
  180. #最终配置结果  
  181.    
  182.    
  183. #/etc/named.conf配置文件  
  184. options {  
  185.         listen-on port 53 { any; };  
  186.        listen-on-v6 port 53 { ::1; };  
  187.        directory       "/var/named";  
  188.        dump-file      "/var/named/data/cache_dump.db";  
  189.        statistics-file "/var/named/data/named_stats.txt";  
  190.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  191.         allow-query     { any; };  
  192.        recursion yes;  
  193.    
  194.        dnssec-enable yes;  
  195.        dnssec-validation yes;  
  196.        dnssec-lookaside auto;  
  197.    
  198.        /* Path to ISC DLV key */  
  199.        bindkeys-file "/etc/named.iscdlv.key";  
  200. };  
  201.    
  202. #/etc/named.rfc1912.zones配置  
  203. zone "hongyi.com" IN {  
  204.        type master;  
  205.         file "hongyi.com.zone";  
  206.        allow-update {none;};  
  207. };  
  208.    
  209. #/var/named/hongyi.com.zone 配置  
  210. $TTL 1D  
  211. #注意后面有点  
  212. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  213.                                    0     ; serial  
  214.                                    1D   ; refresh  
  215.                                    1H   ; retry  
  216.                                    1W  ; expire  
  217.                                    3H)       ; minimum  
  218.        #和前面的DNS保持一致  
  219.        NS   dns.hongyi.com.  
  220. dns  INA       192.168.1.11  
  221. www      INA       192.168.1.88  
  222.    
  223. --第五步,重启服务  
  224. [root@serv01 named]# /etc/init.d/namedrestart  
  225. Stopping named:                                           [  OK  ]  
  226. Starting named:                                           [  OK  ]  
  227.    
  228. --第六步,使用dig测试,查看是否配置成功  
  229. [root@serv01 named]# dig www.hongyi.com  
  230.    
  231. ; <<>> DiG9.7.3-RedHat-9.7.3-2.el6 <<>> www.hongyi.com  
  232. ;; global options: +cmd  
  233. ;; Got answer:  
  234. ;; ->>HEADER<<- opcode: QUERY,status: NOERROR, id: 61132  
  235. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1,AUTHORITY: 1, ADDITIONAL: 1  
  236.    
  237. ;; QUESTION SECTION:  
  238. ;www.hongyi.com.                   IN    A  
  239.    
  240. ;; ANSWER SECTION:  
  241. www.hongyi.com.             86400    IN    A     192.168.1.88  
  242.    
  243. ;; AUTHORITY SECTION:  
  244. hongyi.com.        86400    IN    NS   dns.hongyi.com.  
  245.    
  246. ;; ADDITIONAL SECTION:  
  247. dns.hongyi.com.         86400    IN    A     192.168.1.11  
  248.    
  249. ;; Query time: 0 msec  
  250. ;; SERVER: 127.0.0.1#53(127.0.0.1)  
  251. ;; WHEN: Thu Aug  8 18:40:12 2013  
  252. ;; MSG SIZE rcvd: 82  
  253.    
  254. #查看简短的信息  
  255. [root@serv01 named]# dig www.hongyi.com+short  
  256. 192.168.1.88  
  257.    
  258. --第七步,serv01能ping通域名  
  259. #不能ping通  
  260. [root@serv01 named]# ping www.hongyi.com  
  261. ping: unknown host www.hongyi.com  
  262. #不能ping通  
  263. [root@serv01 named]# ping dns.hongyi.com  
  264. ping: unknown host dns.hongyi.com  
  265.    
  266. #在resolv.conf文件中加入nameserver  
  267. [root@serv01 ~]# vim /etc/resolv.conf  
  268. [root@serv01 ~]# cat /etc/resolv.conf  
  269. nameserver 192.168.1.11  
  270. #现在可以ping了,可以解析对应的IP地址  
  271. [root@serv01 ~]# ping www.hongyi.com  
  272. PING www.hongyi.com (192.168.1.88) 56(84)bytes of data.  
  273. ^C  
  274. --- www.hongyi.com ping statistics ---  
  275. 2 packets transmitted, 0 received, 100%packet loss, time 1161ms  
  276.    
  277. #可以ping通dns服务器  
  278. [root@serv01 ~]# ping dns.hongyi.com  
  279. PING dns.hongyi.com (192.168.1.11) 56(84)bytes of data.  
  280. 64 bytes from 192.168.1.11: icmp_seq=1 ttl=64time=0.020 ms  
  281. 64 bytes from 192.168.1.11: icmp_seq=2 ttl=64time=0.071 ms  
  282. 64 bytes from 192.168.1.11: icmp_seq=3 ttl=64time=0.039 ms  
  283. 64 bytes from 192.168.1.11: icmp_seq=4 ttl=64time=0.041 ms  
  284. ^C  
  285. --- dns.hongyi.com ping statistics ---  
  286. 4 packets transmitted, 4 received, 0% packetloss, time 3316ms  
  287. rtt min/avg/max/mdev = 0.020/0.042/0.071/0.019ms  
  288.    
  289. --第八步,server02测试  
  290. [root@serv02 ~]# echo "nameserver192.168.1.11" > /etc/resolv.conf  
  291. [root@serv02 ~]# cat /etc/resolv.conf  
  292. nameserver 192.168.1.11  
  293. [root@serv02 ~]# yum install bind-utils -y  
  294. [root@serv02 ~]# dig www.hongyi.com +short  
  295. 192.168.1.88  
  296. [root@serv02 ~]# nslookup www.hongyi.com  
  297. Server:          192.168.1.11  
  298. Address:       192.168.1.11#53  
  299.    
  300. Name:   www.hongyi.com  
  301. Address: 192.168.1.88  
  302.    
  303. --第九步,增加其他的解析  
  304. [root@serv01 named]# vim/var/named/hongyi.com.zone  
  305. [root@serv01 named]# /etc/init.d/namedrestart  
  306. Stopping named: .                                         [  OK  ]  
  307. Starting named:                                           [  OK  ]  
  308. [root@serv01 named]# cat/var/named/hongyi.com.zone  
  309. $TTL 1D  
  310. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  311.                                    0     ; serial  
  312.                                    1D   ; refresh  
  313.                                    1H   ; retry  
  314.                                    1W  ; expire  
  315.                                    3H)       ; minimum  
  316.        NS   dns.hongyi.com.  
  317. dns  INA       192.168.1.11  
  318. www      INA       192.168.1.88  
  319. ftp   INA       192.168.1.89  
  320. #或者这样  
  321. ftp.hongiy.com.   IN A       192.168.1.89  
  322. hongiy.com.  INMX 5 mail  
  323. mail   IN A      192.168.1.90  
  324. [root@serv01 named]# dig ftp.hongyi.com+short  
  325. 192.168.1.89  


三 DNS——配置mail服务器

[sql] view plaincopy
  1. --第一步,修改配置文件hongyi.com.zone  
  2. [root@serv01 named]# vim hongyi.com.zone  
  3. [root@serv01 named]# cat hongyi.com.zone  
  4. $TTL 1D  
  5. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  6.                                    0     ; serial  
  7.                                    1D   ; refresh  
  8.                                    1H   ; retry  
  9.                                    1W  ; expire  
  10.                                    3H)       ; minimum  
  11.        NS   dns.hongyi.com.  
  12. dns  INA       192.168.1.11  
  13. #第一种配置,指定全名  
  14. hongyi.com. INMX 5 mail  
  15. mail   IN A      192.168.1.90  
  16.    
  17. --第二步,重启服务  
  18. [root@serv01 named]# /etc/init.d/namedrestart  
  19. Stopping named: .                                          [  OK  ]  
  20. Starting named:                                           [  OK  ]  
  21.    
  22. --第三步,检测是否配置成功  
  23. [root@serv01 named]# dig -t mx hongyi.com.+short  
  24. 5 mail.hongyi.com.  
  25.    
  26. --第四步,查看第二种配置  
  27. [root@serv01 named]# cat hongyi.com.zone  
  28. $TTL 1D  
  29. @    IN SOAdns.hongyi.com. root.hongyi.com. (  
  30.                                    0     ; serial  
  31.                                    1D   ; refresh  
  32.                                    1H   ; retry  
  33.                                    1W  ; expire  
  34.                                    3H)       ; minimum  
  35.        NS   dns.hongyi.com.  
  36. #继承自根  
  37.        INMX 5 mail.hongyi.com.  
  38. mail.hongyi.com.    IN A      192.168.1.90  
  39. [root@serv01 named]# dig -t mx hongyi.com.+short  
  40. 5 mail.hongyi.com.  

四 DNS——配置别名

[sql] view plaincopy
  1. --第一步,修改配置文件  
  2. [root@serv01 named]# cat hongyi.com.zone   
  3. $TTL 1D  
  4. @   IN SOA dns.hongyi.com. root.hongyi.com. (  
  5.                     0   ; serial  
  6.                     1D  ; refresh  
  7.                     1H  ; retry  
  8.                     1W  ; expire  
  9.                     3H )    ; minimum  
  10.     NS  dns.hongyi.com.  
  11.     IN MX 5 mail.hongyi.com.  
  12. dns IN A    192.168.1.11  
  13. www IN A    192.168.1.88  
  14. ftp IN A    192.168.1.89  
  15. mail.hongyi.com.    IN A    192.168.1.90  
  16. smtp    IN  CNAME   mail.hongyi.com.  
  17. pop3    IN  CNAME   mail.hongyi.com.  
  18. --第二步,重启服务  
  19. [root@serv01 named]# /etc/init.d/named restart  
  20. Stopping named: .                                          [  OK  ]  
  21. Starting named:                                            [  OK  ]  
  22. --第三步,测试  
  23. [root@serv01 named]# dig -t mx hongyi.com. +short  
  24. 5 mail.hongyi.com.  
  25. [root@serv01 named]# dig pop3.hongyi.com +short  
  26. mail.hongyi.com.  
  27. 192.168.1.90  
  28. [root@serv01 named]# dig smtp.hongyi.com +short  
  29. mail.hongyi.com.  
  30. 192.168.1.90  

五 DNS——通配符

[sql] view plaincopy
  1. #通配符(其他的不受影响)  
  2. --第一步,修改配置文件  
  3. [root@serv01 named]# vim hongyi.com.zone  
  4. [root@serv01 named]# cat hongyi.com.zone  
  5. $TTL 1D  
  6. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  7.                                    0     ; serial  
  8.                                    1D   ; refresh  
  9.                                    1H   ; retry  
  10.                                    1W  ; expire  
  11.                                    3H)       ; minimum  
  12.        NS   dns.hongyi.com.  
  13. dns  INA       192.168.1.11  
  14. *     INA      192.168.1.88  
  15. --第二步,重启服务  
  16. [root@serv01 named]# /etc/init.d/namedrestart  
  17. Stopping named: .                                          [  OK  ]  
  18. Starting named:                                           [  OK  ]  
  19.    
  20. --第三步,测试。只要不在DNS配置项里域名都被解析成192.168.1.88  
  21. 192.168.1.88  
  22. [root@serv01 named]# dig mail.hongyi.com+short  
  23. 192.168.1.88  
  24. [root@serv01 named]# dig xxxx.hongyi.com+short  
  25. 192.168.1.88  
  26. #这个不能检测处IP  
  27. [root@serv01 named]# dig hongyi.com +short  
  28. [root@serv01 named]#  
  29. #把hongyi.com.加上  
  30. [root@serv01 named]# vim hongyi.com.zone  
  31. [root@serv01 named]# cat hongyi.com.zone  
  32. $TTL 1D  
  33. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  34.                                    0     ; serial  
  35.                                    1D   ; refresh  
  36.                                    1H   ; retry  
  37.                                    1W  ; expire  
  38.                                    3H)       ; minimum  
  39.        NS   dns.hongyi.com.  
  40. dns  INA       192.168.1.11  
  41. hongyi.com. IN A 192.168.1.88  
  42. *     INA      192.168.1.88  
  43. #重启服务  
  44. [root@serv01 named]# /etc/init.d/namedrestart  
  45. Stopping named: .                                         [  OK  ]  
  46. Starting named:                                           [  OK  ]  
  47. #可以正常匹配出IP  
  48. [root@serv01 named]# dig hongyi.com +short  
  49. 192.168.1.88  
  50.    
  51. [root@serv01 named]# vim hongyi.com.zone  
  52. [root@serv01 named]# cat hongyi.com.zone  
  53. $TTL 1D  
  54. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  55.                                    0     ; serial  
  56.                                    1D   ; refresh  
  57.                                    1H   ; retry  
  58.                                    1W  ; expire  
  59.                                    3H)       ; minimum  
  60.        NS   dns.hongyi.com.  
  61.        INMX 5 mail.hongyi.com.  
  62. mail.hongyi.com IN A 192.168.0.90  
  63. dns  INA       192.168.1.11  
  64. hongyi.com. IN A 192.168.1.88  
  65. *     INA      192.168.1.88  
  66. [root@serv01 named]# /etc/init.d/namedrestart  
  67. Stopping named: .                                         [  OK  ]  
  68. Starting named:                                            [ OK  ]  
  69. [root@serv01 named]# dig -t mx hongyi.com.+short  
  70. 5 mail.hongyi.com.  
  71. [root@serv01 named]# dig mail.hongyi.com.+short  
  72. 192.168.1.88  
  73.    
  74. #本机有效,不循环查找  
  75. [root@serv01 named]# ping -c 2www.larrywen.com  
  76. PING www.larrywen.com (192.168.1.11) 56(84)bytes of data.  
  77. 64 bytes from www.larrywen.com(192.168.1.11): icmp_seq=1 ttl=64 time=0.023 ms  
  78. 64 bytes from www.larrywen.com(192.168.1.11): icmp_seq=2 ttl=64 time=0.039 ms  
  79.    
  80. --- www.larrywen.com ping statistics ---  
  81. 2 packets transmitted, 2 received, 0% packetloss, time 999ms  
  82. rtt min/avg/max/mdev =0.023/0.031/0.039/0.008 ms  
  83.    
  84. [root@serv01 named]# vim /etc/hosts  
  85. [root@serv01 named]# tail -n1 /etc/hosts  
  86. 192.168.1.11 www.larrywen.com  


六 DNS做负载均衡

 

[sql] view plaincopy
  1. #一个域名解析成多个IP地址  
  2. --第一步,修改配置文件  
  3. [root@serv01 named]# vim hongyi.com.zone  
  4. [root@serv01 named]# cat hongyi.com.zone  
  5. $TTL 1D  
  6. @    INSOA dns.hongyi.com. root.hongyi.com. (  
  7.                                    0     ; serial  
  8.                                    1D   ; refresh  
  9.                                    1H   ; retry  
  10.                                    1W  ; expire  
  11.                                    3H)       ; minimum  
  12.        NS   dns.hongyi.com.  
  13. dns  INA       192.168.1.11  
  14. www      INA       192.168.1.88  
  15. www      INA       192.168.1.188  
  16. --第二步,启动服务  
  17. [root@serv01 named]# /etc/init.d/namedrestart  
  18. Stopping named: .                                         [  OK  ]  
  19. Starting named:                                           [  OK  ]  
  20.    
  21. --第三步,测试  
  22. [root@serv01 named]# dig www.hongyi.com+short  
  23. 192.168.1.88  
  24. 192.168.1.188  
  25.    
  26. #不建议这样使用,因为会出现Session不一致的问题  

七 DNS配置——反解

反解:IP地址解析成域名,比如192.168.1.88解析成www.hongyi.com.反解邮件服务器用得较多。

[sql] view plaincopy
  1. --第一步,修改配置文件named.conf,和正解保持不变  
  2. [root@serv01 named]# cat /etc/named.conf  
  3. #搭建DNS——正解 反解都配置  
  4.    
  5. options {  
  6.        listen-onport 53 { any; };  
  7.        listen-on-v6port 53 { ::1; };  
  8.        directory    "/var/named";  
  9.        dump-file   "/var/named/data/cache_dump.db";  
  10.        statistics-file "/var/named/data/named_stats.txt";  
  11.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  12.        allow-query     { any; };  
  13.        recursionyes;  
  14.    
  15.        dnssec-enableyes;  
  16.        dnssec-validationyes;  
  17.        dnssec-lookasideauto;  
  18.    
  19.        /*Path to ISC DLV key */  
  20.        bindkeys-file"/etc/named.iscdlv.key";  
  21. };  
  22.    
  23. --第二步,修改配置文件/etc/named.rfc1912.zones  
  24. [root@serv01 named]# vim/etc/named.rfc1912.zones  
  25. [root@serv01 named]# tail -n5/etc/named.rfc1912.zones  
  26. zone "1.168.192.in-addr.arpa" IN {  
  27.        type master;  
  28.        file "hongyi.com.rev";  
  29.         allow-update { none; };  
  30. };  
  31.    
  32. [root@serv01 named]# tail -n5/etc/named.rfc1912.zones  
  33. zone "1.168.192.in-addr.arpa" IN {  
  34.        type master;  
  35.        file "hongyi.com.rev";  
  36.         allow-update { none;};  
  37. };  
  38.    
  39.    
  40. --第三步,拷贝模板文件,并修改  
  41. --#记住一定要有-a或者-p参数,保持属性不变  
  42. [root@serv01 named]# cp named.localhosthongyi.com.rev -a  
  43. [root@serv01 named]# ll hongyi.com.revhongyi.com.zone named.localhost  
  44. -rw-r-----. 1 root named212 Aug  8 21:52 hongyi.com.rev  
  45. -rw-r-----. 1 root named203 Aug  8 21:47 hongyi.com.zone  
  46. -rw-r-----. 1 root named152 Jun 21  2007 named.localhost  
  47.    
  48. #如果组不是named,使用chgrp改变文件所属组  
  49. [root@serv01 named]# chgrp namedhongyi.com.rev  
  50. [root@serv03 named]# cat hongyi.com.rev  
  51. $TTL 1D  
  52. @    INSOA   dns.hongyi.com. root.hongyi.com. (  
  53.                                    0     ; serial  
  54.                                    1D   ; refresh  
  55.                                    1H   ; retry  
  56.                                    1W  ; expire  
  57.                                    3H)       ; minimum  
  58.        NS   dns.hongyi.com.  
  59. 11   IN    PTR dns.hongyi.com.  
  60. 88   IN    PTR www.hongyi.com.  
  61. --第四步,重启服务  
  62. [root@serv01 named]# /etc/init.d/namedrestart  
  63. Stopping named: .                                         [  OK  ]  
  64. Starting named:                                           [  OK  ]  
  65.    
  66. --第五步,dig命令检查  
  67. [root@serv01 named]# dig -x 192.168.1.88+short  
  68. www.hongyi.com.  

八 DNS转发

DNS转发网络拓扑结构图,如图一:

 

图一 DNS转发网络拓扑结构图

serv01配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv01 named]# yum install bind* -y  
  3. --第二步,修改named.conf文件,修改如下  
  4. [root@serv01 named]# vim /etc/named.conf  
  5. [root@serv01 named]# cat /etc/named.conf  
  6. options {  
  7.        listen-onport 53 { any; };  
  8.        listen-on-v6port 53 { ::1; };  
  9.        directory    "/var/named";  
  10.        dump-file   "/var/named/data/cache_dump.db";  
  11.        statistics-file "/var/named/data/named_stats.txt";  
  12.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  13.        allow-query     { any; };  
  14.        forwarders   {192.168.1.12;};  
  15.        recursionyes;  
  16.    
  17.        #dnssec-enableyes;  
  18.        #dnssec-validationyes;  
  19.        #dnssec-lookasideauto;  
  20.    
  21.        /*Path to ISC DLV key */  
  22.        bindkeys-file"/etc/named.iscdlv.key";  
  23. };  
  24.    
  25. [root@serv01 named]# tail -n5/etc/named.rfc1912.zones  
  26. zone "justdb.com" IN {  
  27.        typemaster;  
  28.        file"justdb.com.zone";  
  29.        allow-update{ none; };  
  30. };  
  31. --第三步,拷贝文件,注意加上-a或者-p参数  
  32. [root@serv01 named]# cp named.localhostjustdb.com.zone -a  
  33. --第四步,编辑justdb.com.zone文件  
  34. [root@serv01 named]# cat justdb.com.zone  
  35. $TTL 1D  
  36. @    INSOA   dns.justdb.com. root.justdb.com. (  
  37.                                    0     ; serial  
  38.                                    1D   ; refresh  
  39.                                    1H   ; retry  
  40.                                    1W  ; expire  
  41.                                    3H)       ; minimum  
  42.        NS   dns.justdb.com.  
  43. dns  IN    A     192.168.1.11  
  44. www      IN    A     192.168.1.66  
  45.    
  46. [root@serv01 named]# ifconfig eth0  
  47. eth0     Link encap:Ethernet  HWaddr00:0C:29:07:DD:3B   
  48.          inet addr:192.168.1.11 Bcast:192.168.1.255  Mask:255.255.255.0  
  49.          inet6 addr: fe80::20c:29ff:fe07:dd3b/64 Scope:Link  
  50.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  51.          RX packets:2823 errors:0 dropped:0 overruns:0 frame:0  
  52.          TX packets:1618 errors:0 dropped:0 overruns:0 carrier:0  
  53.          collisions:0 txqueuelen:1000  
  54.          RX bytes:257429 (251.3 KiB)  TXbytes:252898 (246.9 KiB)  
  55.    
  56. --第五步,重启服务  
  57. [root@serv01 named]# /etc/init.d/namedrestart  
  58. Stopping named: .                                         [  OK  ]  
  59. Starting named:                                           [  OK  ]  
  60. --第六步,测试本机  
  61. [root@serv01 named]# dig www.justdb.com+short  
  62. 192.168.1.66  

serv02配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv02 named]# ifconfig eth0  
  3. eth0     Link encap:Ethernet  HWaddr00:0C:29:6A:EC:97   
  4.          inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0  
  5.          inet6 addr: fe80::20c:29ff:fe6a:ec97/64 Scope:Link  
  6.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  7.           RX packets:2943 errors:0 dropped:0overruns:0 frame:0  
  8.          TX packets:1728 errors:0 dropped:0 overruns:0 carrier:0  
  9.          collisions:0 txqueuelen:1000  
  10.          RX bytes:265863 (259.6 KiB)  TXbytes:279067 (272.5 KiB)  
  11.    
  12. [root@serv01 named]# yum install bind* -y  
  13. --第二步,修改named.conf文件,修改如下  
  14. root@serv02 named]# vim /etc/named.conf  
  15. [root@serv02 named]# cat /etc/named.conf  
  16. options {  
  17.        listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.        allow-query     { any; };  
  24.        recursionyes;  
  25.    
  26.        dnssec-enableyes;  
  27.        dnssec-validationyes;  
  28.        dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33. [root@serv02 named]# tail -n6/etc/named.rfc1912.zones  
  34. zone "larrywen.com" IN {  
  35.        type master;  
  36.        file "larrywen.com.zone";  
  37.        allow-update { none; };  
  38. };  
  39. --第三步,拷贝文件,注意加上-a或者-p参数  
  40. [root@serv02 named]# cp named.localhostlarrywen.com.zone -a  
  41. --第四步,编辑larrywen.com.zone文件  
  42. [root@serv02 named]# cat larrywen.com.zone  
  43. $TTL 1D  
  44. @    INSOA dns.larrywen.com. root.larrywen.com. (  
  45.                                    0     ; serial  
  46.                                    1D   ; refresh  
  47.                                    1H   ; retry  
  48.                                    1W  ; expire  
  49.                                    3H)       ; minimum  
  50.        NS   dns.larrywen.com.  
  51. dns  IN    A     192.168.1.12  
  52. www      IN    A     192.168.1.88  
  53. --第五步,重启服务  
  54. [root@serv02 named]# /etc/init.d/namedrestart  
  55. Stopping named: .                                         [  OK  ]  
  56. Starting named:                                            [  OK  ]  
  57. --第六步,测试本机  
  58. [root@serv02 named]# dig www.larrywen.com+short  
  59. 192.168.1.88  

serv03 测试机配置

[sql] view plaincopy
  1. --第一步,安装bind-util  
  2. [root@serv03 ~]# yum install bind-util* -y  
  3. --第二步,配置默认的dns  
  4. [root@serv03 ~]# cat /etc/resolv.conf  
  5. nameserver 192.168.1.11  
  6. --第三步,测试www.justdb.com  
  7. [root@serv03 ~]# dig www.justdb.com +short  
  8. 192.168.1.66  
  9. --第四步,测试www.larrywen.com  
  10. [root@serv03 ~]# dig www.larrywen.com +short  
  11. 192.168.1.88  


九 DNS主从服务器

从服务器自动成主服务器中同步数据

 

#serv01:主服务器 IP:192.168.1.11

#serv02:从服务器,主服务器发生变化,从服务器更新 IP 192.168.1.12

#serv03:测试机 IP:192.168.1.13

 

网络拓扑结构图如图二:


 图二 DNS主从服务器网络拓扑结构图

server01配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv01 named]# ifconfig eth0  
  3. eth0     Link encap:Ethernet  HWaddr00:0C:29:07:DD:3B   
  4.          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0  
  5.          inet6 addr: fe80::20c:29ff:fe07:dd3b/64 Scope:Link  
  6.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  7.          RX packets:2823 errors:0 dropped:0 overruns:0 frame:0  
  8.          TX packets:1618 errors:0 dropped:0 overruns:0 carrier:0  
  9.           collisions:0 txqueuelen:1000  
  10.          RX bytes:257429 (251.3 KiB)  TXbytes:252898 (246.9 KiB)  
  11.    
  12. [root@serv01 named]# yum install bind* -y  
  13. --第二步,修改named.conf文件,修改如下  
  14. [root@serv01 named]# vim /etc/named.conf  
  15. [root@serv01 named]# cat /etc/named.conf  
  16. options {  
  17.       -- listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.        --allow-query     { any; };  
  24.        recursionyes;  
  25.    
  26.        dnssec-enableyes;  
  27.        dnssec-validationyes;  
  28.        dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33.    
  34. [root@serv01 named]# tail -n7/etc/named.rfc1912.zones  
  35. zone "justdb.com" IN {  
  36.        type master;  
  37.        file "justdb.com.zone";  
  38.      --  allow-transfer {192.168.1.12;};  
  39.        notify yes;  
  40.        also-notify { 192.168.1.12;};  
  41. };  
  42.    
  43. --第三步,拷贝文件,注意加上-a或者-p参数  
  44. [root@serv01 named]# cp named.localhostjustdb.com.zone -a  
  45. --第四步,编辑justdb.com.zone文件  
  46. [root@serv01 named]# cat justdb.com.zone  
  47. $TTL 1D  
  48. @    INSOA   dns.justdb.com. root.justdb.com. (  
  49.                                    0     ; serial  
  50.                                    1D   ; refresh  
  51.                                    1H   ; retry  
  52.                                    1W  ; expire  
  53.                                    3H)       ; minimum  
  54.        NS   dns.justdb.com.  
  55. dns  IN    A     192.168.1.11  
  56. www      IN    A     192.168.1.66  
  57.    
  58. --第五步,重启服务  
  59. [root@serv01 named]# /etc/init.d/namedrestart  
  60. Stopping named: .                                         [  OK  ]  
  61. Starting named:                                           [  OK  ]  


server02配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv02 slaves]# ifconfig eth0  
  3. eth0     Link encap:Ethernet  HWaddr00:0C:29:6A:EC:97   
  4.          inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0  
  5.          inet6 addr: fe80::20c:29ff:fe6a:ec97/64 Scope:Link  
  6.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  7.          RX packets:1449 errors:0 dropped:0 overruns:0 frame:0  
  8.          TX packets:908 errors:0 dropped:0 overruns:0 carrier:0  
  9.          collisions:0 txqueuelen:1000  
  10.          RX bytes:133206 (130.0 KiB)  TXbytes:148913 (145.4 KiB)  
  11.    
  12. [root@serv01 named]# yum install bind* -y  
  13. --第二步,修改named.conf文件,修改如下  
  14. [root@serv01 named]# vim /etc/named.conf  
  15. [root@serv01 named]# cat /etc/named.conf  
  16. options {  
  17.        --listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.       -- allow-query     { any; };  
  24.        recursionyes;  
  25.    
  26.        dnssec-enableyes;  
  27.        dnssec-validationyes;  
  28.        dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33. --第三步,修改named.rfc1912.zones 文件,修改如下  
  34. [root@serv02 slaves]# tail -n5/etc/named.rfc1912.zones  
  35. zone "justdb.com" IN {  
  36.        type slave;  
  37.        file "slaves/justdb.com.zone";  
  38.        masters {192.168.1.11;};  
  39. };  
  40.    
  41. --第四步,重启服务  
  42. [root@serv02 slaves]# /etc/init.d/namedrestart  
  43. Stopping named:                                           [  OK  ]  
  44. Starting named:                                           [  OK  ]  
  45. --第五步,进入slaves目录,发现自动生成了文件  
  46. [root@serv02 named]# cd slaves/  
  47. [root@serv02 slaves]# ll  
  48. total 0  
  49.    
  50. [root@serv02 slaves]# ll  
  51. total 4  
  52. -rw-r--r—. 1 named named 330 Aug  8 23:43 justdb.com.zone  
  53. [root@serv02 slaves]# cat justdb.com.zone  
  54. $ORIGIN .  
  55. $TTL 86400  ;1 day  
  56. justdb.com          INSOA   dns.justdb.com. root.justdb.com. (  
  57.                             0          ; serial  
  58.                             86400      ; refresh (1 day)  
  59.                             3600       ; retry (1 hour)  
  60.                             604800     ; expire (1 week)  
  61.                             10800      ; minimum (3 hours)  
  62.                             )  
  63.                      NS   dns.justdb.com.  
  64. $ORIGIN justdb.com.  
  65. dns                A     192.168.1.11  
  66. www                    A     192.168.1.66  

测试

[sql] view plaincopy
  1. --第一步,server01加入新的地址,重启服务  
  2. [root@serv01 named]# vim justdb.com.zone  
  3. [root@serv01 named]# /etc/init.d/namedrestart  
  4. Stopping named: .                                         [  OK  ]  
  5. Starting named:                                            [  OK  ]  
  6. [root@serv01 named]# cat justdb.com.zone  
  7. $TTL 1D  
  8. @    INSOA   dns.justdb.com. root.justdb.com. (  
  9.                                   -- #注意把serial改成1,不要和以前的保持一致  
  10.                                   -- 1     ; serial  
  11.                                    1D   ; refresh  
  12.                                    1H   ; retry  
  13.                                    1W  ; expire  
  14.                                    3H)       ; minimum  
  15.        NS   dns.justdb.com.  
  16. dns  IN    A     192.168.1.11  
  17. www      IN    A     192.168.1.66  
  18. ftp   IN    A     192.168.1.88  
  19. --第二步,server02查看文件,发现更新成功  
  20. [root@serv02 slaves]# cat justdb.com.zone  
  21. $ORIGIN .  
  22. $TTL 86400  ;1 day  
  23. justdb.com          INSOA   dns.justdb.com. root.justdb.com. (  
  24.                             1          ; serial  
  25.                             86400      ; refresh (1 day)  
  26.                             3600       ; retry (1 hour)  
  27.                             604800     ; expire (1 week)  
  28.                             10800      ; minimum (3 hours)  
  29.                             )  
  30.                      NS   dns.justdb.com.  
  31. $ORIGIN justdb.com.  
  32. dns                A     192.168.1.11  
  33. --ftp                 A     192.168.1.88  
  34. www                    A     192.168.1.66  
  35.    
  36. --#序列号只能改大,不能改小  
  37. #删除后也可以同步  

server03配置

可以使用dig测试双方同步的数据是否一致

 

十 子域授权

子级DNS服务器(子域授权)

#serv01

jutdb.com 192.168.1.11

web.justdb.com

web.hb.justdb.com

 

web.xn.justdb.com 192.168.1.12

 

#客户端192.168.1.13

#nameserver配置成192.168.1.11

 

#DNS转发:域名之间无关系

#子欲授权:域名之间有关系

 

网络拓扑结构图如图三:


图三 DNS子域授权网络拓扑结构图

 

serv01配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv01 named]# ifconfig eth0  
  3. eth0     Link encap:Ethernet  HWaddr00:0C:29:07:DD:3B   
  4.          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0  
  5.          inet6 addr: fe80::20c:29ff:fe07:dd3b/64 Scope:Link  
  6.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  7.          RX packets:2823 errors:0 dropped:0 overruns:0 frame:0  
  8.          TX packets:1618 errors:0 dropped:0 overruns:0 carrier:0  
  9.           collisions:0 txqueuelen:1000  
  10.          RX bytes:257429 (251.3 KiB)  TXbytes:252898 (246.9 KiB)  
  11.    
  12. [root@serv01 named]# yum install bind* -y>/dev/null 2>&1  
  13. --第二步,修改named.conf文件,修改如下  
  14. [root@serv01 named]# vim /etc/named.conf  
  15. [root@serv01 named]# cat /etc/named.conf  
  16. options {  
  17.        --listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.       -- allow-query     { any; };<  
  24.        recursionyes;  
  25.    
  26.        --#dnssec-enable yes;  
  27.        #dnssec-validationyes;  
  28.        #dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33.    
  34. [root@serv01 named]# tail -n7/etc/named.rfc1912.zones  
  35. zone "justdb.com" IN {  
  36.        type master;  
  37.        file "justdb.com.zone";  
  38.        allow-update { none; };  
  39. };  
  40. zone "hb.justdb.com" IN {  
  41.        type master;  
  42.        file "hb.justdb.com.zone";  
  43.         allow-update { none; };  
  44. };  
  45.    
  46. --第三步,拷贝文件,注意加上-a或者-p参数  
  47. [root@serv01 named]# cp named.localhostjustdb.com.zone -av  
  48. [root@serv01 named]# cp named.localhosthb.justdb.com.zone -av  
  49. --第四步,编辑justdb.com.zone和hb.justdb.com.zone文件  
  50. [root@serv01 named]# cat justdb.com.zone  
  51. $TTL 1D  
  52. @    INSOA   dns.justdb.com. root.justdb.com. (  
  53.                                    0     ; serial  
  54.                                    1D   ; refresh  
  55.                                    1H   ; retry  
  56.                                    1W  ; expire  
  57.                                    3H)       ; minimum  
  58.        NS   dns.justdb.com.  
  59. dns  IN    A     192.168.1.11  
  60. web IN   A     192.168.1.88  
  61.    
  62. [root@serv01 named]# cat hb.justdb.com.zone  
  63. $TTL 1D  
  64. @    INSOA   dns.hb.justdb.com.root.hb.justdb.com. (  
  65.                                    0     ; serial  
  66.                                    1D   ; refresh  
  67.                                    1H   ; retry  
  68.                                    1W  ; expire  
  69.                                    3H)       ; minimum  
  70.        NS   dns.hb.justdb.com.  
  71. dns  IN    A     192.168.1.11  
  72. web       IN    A     192.168.1.89  
  73.    
  74. --第五步,重启服务  
  75. [root@serv01 named]# /etc/init.d/namedrestart  
  76. Stopping named: .                                         [  OK  ]  
  77. Starting named:                                           [  OK  ]  

serv02配置

[sql] view plaincopy
  1. --第一步,查看本机IP,通过yum源安装bind  
  2. [root@serv02 slaves]# ifconfig eth0  
  3. eth0     Link encap:Ethernet  HWaddr00:0C:29:6A:EC:97   
  4.          inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0  
  5.          inet6 addr: fe80::20c:29ff:fe6a:ec97/64 Scope:Link  
  6.          UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1  
  7.          RX packets:1449 errors:0 dropped:0 overruns:0 frame:0  
  8.          TX packets:908 errors:0 dropped:0 overruns:0 carrier:0  
  9.          collisions:0 txqueuelen:1000  
  10.          RX bytes:133206 (130.0 KiB)  TXbytes:148913 (145.4 KiB)  
  11.    
  12. [root@serv01 named]# yum install bind* -y>/dev/null 2>&1  
  13. --第二步,修改named.conf文件,修改如下  
  14. [root@serv01 named]# vim /etc/named.conf  
  15. [root@serv01 named]# cat /etc/named.conf  
  16. options {  
  17.       -- listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.        --allow-query     { any; };  
  24.        recursionyes;  
  25.    
  26.        dnssec-enableyes;  
  27.        dnssec-validationyes;  
  28.        dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33. --第三步,修改named.rfc1912.zones 文件,修改如下  
  34. [root@serv02 named]# tail -n5/etc/named.rfc1912.zones  
  35. zone "xn.justdb.com" IN {  
  36.        typemaster;  
  37.        file"xn.justdb.com.zone";  
  38.        allow-update{ none;};  
  39. };  
  40.    
  41. --第四步,重启服务  
  42. [root@serv02 slaves]# /etc/init.d/namedrestart  
  43. Stopping named:                                           [  OK  ]  
  44. Starting named:                                           [  OK  ]  

实现功能

[sql] view plaincopy
  1. --第一步,serv01修改配置文件。添加如下两行  
  2. [root@serv01 named]# cat justdb.com.zone  
  3. $TTL 1D  
  4. @    INSOA   dns.justdb.com root.justdb.com. (  
  5.                                    0     ; serial  
  6.                                    1D   ; refresh  
  7.                                    1H   ; retry  
  8.                                    1W  ; expire  
  9.                                    3H)       ; minimum  
  10.        NS   dns.justdb.com.  
  11. dns  IN    A     192.168.1.11  
  12. web       IN    A     192.168.1.88  
  13. --xn.justdb.com.     IN    NS   dns.xn.justdb.com.  
  14. dns.xn.justdb.com.     IN    A     192.168.1.12  
  15.    
  16. --第二步,serv03安装bind-util  
  17. [root@serv03 ~]# yum install bind-util* -y> /dev/null 2>&1  
  18.    
  19. --第三步,serv03修改resolv配置文件  
  20. [root@serv03 ~]# echo "nameserver192.168.1.11" > /etc/resolv.conf  
  21. [root@serv03 ~]# cat /etc/resolv.conf  
  22. nameserver 192.168.1.11  
  23.    
  24. --第四步,进行测试  
  25. [root@serv03 ~]# dig web.justdb.com +short  
  26. 192.168.1.88  
  27. [root@serv03 ~]# dig web.hb.justdb.com +short  
  28. 192.168.1.89  
  29. [root@serv03 ~]# dig web.xn.justdb.com +short  
  30. 192.168.1.90  

十一 DNS高级视图

 

应用场景:不同的IP访问相同的域名,转到各自运营商的服务器

      

网络拓扑结构图如图四


图四 DNS高级视图网络拓扑结构图

      

serv01配置

[sql] view plaincopy
  1. --第一步,IP地址配置如下  
  2. [root@serv01 ~]# ifconfig eth0|grep"inet addr"  
  3. inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0  
  4. [root@serv01 ~]# ifconfig eth1|grep"inet addr"  
  5.  inet addr:172.16.1.11  Bcast:172.16.1.255  Mask:255.255.255.0  
  6.    
  7. [root@serv01 ~]# ifconfig |grep -A 1 eth  
  8. eth0     Link encap:Ethernet  HWaddr00:0C:29:07:DD:3B   
  9.          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0  
  10. --  
  11. eth1     Link encap:Ethernet  HWaddr00:0C:29:07:DD:45   
  12.          inet addr:172.16.1.11 Bcast:172.16.1.255 Mask:255.255.255.0  
  13.         
  14. [root@serv02 ~]# man named.conf  
  15. --第二步,安装bind  
  16. [root@serv01 named]# yum install bind* -y  
  17.   [root@serv01 named]# cat /etc/named.conf  
  18. //  
  19. // named.conf  
  20. //  
  21. // Provided by Red Hat bind package toconfigure the ISC BIND named(8) DNS  
  22. // server as a caching only nameserver (as alocalhost DNS resolver only).  
  23. //  
  24. // See /usr/share/doc/bind*/sample/ forexample named configuration files.  
  25. //  
  26.    
  27. options {  
  28.        listen-onport 53 { any; };  
  29.        listen-on-v6port 53 { ::1; };  
  30.        directory    "/var/named";  
  31.        dump-file   "/var/named/data/cache_dump.db";  
  32.        statistics-file "/var/named/data/named_stats.txt";  
  33.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  34.        allow-query     { any; };  
  35.        recursionyes;  
  36.    
  37.        dnssec-enableyes;  
  38.        dnssec-validationyes;  
  39.        dnssec-lookasideauto;  
  40.    
  41.        /*Path to ISC DLV key */  
  42.        bindkeys-file"/etc/named.iscdlv.key";  
  43. };  
  44.    
  45. logging {  
  46.        channel default_debug {  
  47.                 file"data/named.run";  
  48.                 severity dynamic;  
  49.        };  
  50. };  
  51.    
  52. #注释或者删除以下几行内容  
  53. #zone "." IN {  
  54. #     typehint;  
  55. #     file"named.ca";  
  56. #};  
  57.    
  58. #如果这几行存在,重启服务会报如下错误:  
  59. Error in named configuration:  
  60. /etc/named.conf:35: when using 'view'statements, all zones must be in views  
  61.                                                           [FAILED]  
  62.    
  63.    
  64. #注释此行  
  65. #include"/etc/named.rfc1912.zones";  
  66.    
  67. acl dx {  
  68.        192.168.1.10;  
  69.        192.168.1.11;  
  70.        192.168.1.12;  
  71.        192.168.1.13;  
  72.        192.168.1.14;  
  73. };  
  74.    
  75. acl wt {  
  76.        172.16.1.10;  
  77.        172.16.1.11;  
  78.        172.16.1.12;  
  79.        172.16.1.13;  
  80.        172.16.1.14;  
  81. };  
  82.    
  83. view dianxin {  
  84.        match-clients{"dx";};  
  85. zone "." IN {  
  86.               type hint;  
  87.               file "named.ca";  
  88. };  
  89. #在此处进入命令模式,执行以下命令,将文件里的内容拷贝过来。  
  90.        r !cat /etc/named.rfc1912.zones  
  91.    
  92. zone "localhost.localdomain" IN {  
  93.        typemaster;  
  94.        file"named.localhost";  
  95.        allow-update{ none; };  
  96. };  
  97.    
  98. zone "localhost" IN {  
  99.        typemaster;  
  100.        file"named.localhost";  
  101.        allow-update{ none; };  
  102. };  
  103.    
  104. zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN {  
  105.        typemaster;  
  106.        file"named.loopback";  
  107.        allow-update{ none; };  
  108. };  
  109.    
  110. zone "1.0.0.127.in-addr.arpa" IN {  
  111.        typemaster;  
  112.        file"named.loopback";  
  113.        allow-update{ none; };  
  114. };  
  115.    
  116. zone "0.in-addr.arpa" IN {  
  117.        typemaster;  
  118.        file"named.empty";  
  119.        allow-update{ none; };  
  120. };  
  121. zone "larrywen.com" {  
  122.        typemaster;  
  123.        file"larrywen.com.zone.dx";  
  124.        allow-update{ none;};  
  125. };  
  126. };  
  127.    
  128. view wangtong {  
  129.        match-clients{"wt";};  
  130. zone "." IN {  
  131.               type hint;  
  132.               file "named.ca";  
  133. };  
  134.    
  135. zone "localhost.localdomain" IN {  
  136.        typemaster;  
  137.        file"named.localhost";  
  138.        allow-update{ none; };  
  139. };  
  140.    
  141. zone "localhost" IN {  
  142.        typemaster;  
  143.        file"named.localhost";  
  144.        allow-update{ none; };  
  145. };  
  146.    
  147. zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN {  
  148.        typemaster;  
  149.        file"named.loopback";  
  150.        allow-update{ none; };  
  151. };  
  152.    
  153. zone "1.0.0.127.in-addr.arpa" IN {  
  154.        typemaster;  
  155.        file"named.loopback";  
  156.        allow-update{ none; };  
  157. };  
  158.    
  159. zone "0.in-addr.arpa" IN {  
  160.        typemaster;  
  161.        file"named.empty";  
  162.        allow-update{ none; };  
  163. };  
  164. zone "larrywen.com" {  
  165.        typemaster;  
  166.        file"larrywen.com.zone.wt";  
  167.        allow-update{ none;};  
  168. };  
  169. };  
  170.         
  171. --第三步,拷贝并编辑larrywen.com.zone.dx文件  
  172. [root@serv01 named]# cp named.localhost larrywen.com.zone.dx-a  
  173. [root@serv01 named]# vimlarrywen.com.zone.dx  
  174.  [root@serv01 named]# catlarrywen.com.zone.dx  
  175. $TTL 1D  
  176. @    INSOA   dns.larrywen.com. root.larrywen.com.(  
  177.                                    0     ; serial  
  178.                                    1D   ; refresh  
  179.                                    1H   ; retry  
  180.                                    1W  ; expire  
  181.                                    3H)       ; minimum  
  182.        NS   dns.larrywen.com.  
  183. dns  IN    A     192.168.1.11  
  184. www      IN    A     192.168.1.88  
  185.         
  186. --第四步,拷贝并编辑larrywen.com.zone.wt 文件  
  187. [root@serv01 named]# cp named.localhostlarrywen.com.zone.wt-a  
  188. [root@serv01 named]# vim larrywen.com.zone.wt  
  189.  [root@serv01 named]# cat larrywen.com.zone.wt  
  190. $TTL 1D  
  191. @    INSOA   dns.larrywen.com. root.larrywen.com.(  
  192.                                    0     ; serial  
  193.                                    1D   ; refresh  
  194.                                    1H   ; retry  
  195.                                    1W  ; expire  
  196.                                    3H)       ; minimum  
  197.        NS   dns.larrywen.com.  
  198. dns        IN    A     172.16.1.11  
  199. www      IN    A     172.16.1.88  
  200. --第五步,重启服务  
  201. [root@serv01 named]# /etc/init.d/namedrestart  
  202. Stopping named: .                                         [  OK  ]  
  203. Starting named:                                           [  OK  ]  

serv02 测试

[sql] view plaincopy
  1. --第一步,配置IP  
  2.  [root@serv02 ~]# ifconfig eth0|grep"inet addr"  
  3.           inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0  
  4. --第二步,安装bind-utils工具  
  5. [root@serv02 ~]# yum install bind-utils-y  
  6. --第三步,配置DNS  
  7. [root@serv02 ~]# echo "nameserver192.168.1.11" > /etc/resolv.conf  
  8. --第四步,检测  
  9. [root@serv02 ~]# dig www.larrywen.com +short  
  10. 192.168.1.88  
  11.    
  12.  [root@serv02 ~]# ifconfig|grep -A 1 eth  
  13. eth0     Link encap:Ethernet  HWaddr00:0C:29:6A:EC:97   
  14.          inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0  

serv03测试

[sql] view plaincopy
  1. --第一步,配置IP  
  2. [root@serv03 ~]# ifconfig eth0|grep"inet addr"  
  3.           inet addr:192.168.1.13  Bcast:192.168.1.255  Mask:255.255.255.0  
  4. [root@serv03 ~]# ifconfig eth1|grep"inet addr"  
  5.           inet addr:172.16.1.12  Bcast:172.16.1.255  Mask:255.255.255.0  
  6.         
  7. [root@serv03 ~]# ifconfig|grep -A 1 eth  
  8. eth0     Link encap:Ethernet  HWaddr00:0C:29:BD:08:05   
  9.          inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0  
  10. --  
  11. eth1     Link encap:Ethernet  HWaddr00:0C:29:BD:08:0F   
  12.          inet addr:172.16.1.12 Bcast:172.16.1.255 Mask:255.255.255.0  
  13. --第二步,安装bind-utils工具  
  14. [root@serv02 ~]# yum install bind-utils-y  
  15. --第三步,配置DNS  
  16. [root@serv03 ~]# echo "nameserver172.16.1.11" > /etc/resolv.conf  
  17. --第四步,检测  
  18. [root@serv03 ~]# dig www.larrywen.com +short  
  19. 172.16.1.88  

十二 /etc/named.conf:41: open: /etc/named.acl.dx: file not found解决

chroot:笼环境,阻止因软件的漏洞而任意切换根目录

chroot:虚拟根目录

 

[sql] view plaincopy
  1. [root@serv01 etc]# ls -l /etc/named.conf/var/named/chroot/etc/named.conf -i  
  2. 131137 -rw-r-----. 1 root named 2563 Aug 1219:37 /etc/named.conf  
  3. 131137 -rw-r-----. 1 root named 2563 Aug 1219:37 /var/named/chroot/etc/named.conf  
  4.         
  5. --第一步,写到配置文件(named.conf)中  
  6. [root@serv01 etc]# cat named.conf  
  7. //  
  8. // named.conf  
  9. //  
  10. // Provided by Red Hat bind package toconfigure the ISC BIND named(8) DNS  
  11. // server as a caching only nameserver (as alocalhost DNS resolver only).  
  12. //  
  13. // See /usr/share/doc/bind*/sample/ forexample named configuration files.  
  14. //  
  15.    
  16. options {  
  17.        listen-onport 53 { any; };  
  18.        listen-on-v6port 53 { ::1; };  
  19.        directory    "/var/named";  
  20.        dump-file   "/var/named/data/cache_dump.db";  
  21.        statistics-file "/var/named/data/named_stats.txt";  
  22.        memstatistics-file "/var/named/data/named_mem_stats.txt";  
  23.        allow-query     { any; };  
  24.        recursionyes;  
  25.    
  26.        dnssec-enableyes;  
  27.        dnssec-validationyes;  
  28.        dnssec-lookasideauto;  
  29.    
  30.        /*Path to ISC DLV key */  
  31.        bindkeys-file"/etc/named.iscdlv.key";  
  32. };  
  33.    
  34. logging {  
  35.        channel default_debug {  
  36.                 file"data/named.run";  
  37.                 severity dynamic;  
  38.        };  
  39. };  
  40.    
  41. #zone "." IN {  
  42. #     typehint;  
  43. #     file"named.ca";  
  44. #};  
  45.    
  46. #include "/etc/named.rfc1912.zones";  
  47. include"/etc/named.acl.dx";  
  48. include"/etc/named.acl.wt";  
  49.    
  50. view dianxin {  
  51.        match-clients{"dx";};  
  52. zone "." IN {  
  53.               type hint;  
  54.               file "named.ca";  
  55. };  
  56.         
  57. zone "localhost.localdomain" IN {  
  58.        typemaster;  
  59.        file"named.localhost";  
  60.        allow-update{ none; };  
  61. };  
  62.    
  63. zone "localhost" IN {  
  64.        typemaster;  
  65.        file"named.localhost";  
  66.        allow-update{ none; };  
  67. };  
  68.    
  69. zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN {  
  70.        typemaster;  
  71.        file"named.loopback";  
  72.        allow-update{ none; };  
  73. };  
  74.    
  75. zone "1.0.0.127.in-addr.arpa" IN {  
  76.        typemaster;  
  77.        file"named.loopback";  
  78.        allow-update{ none; };  
  79. };  
  80.    
  81. zone "0.in-addr.arpa" IN {  
  82.        typemaster;  
  83.        file"named.empty";  
  84.        allow-update{ none; };  
  85. };  
  86. zone "larrywen.com" {  
  87.        typemaster;  
  88.        file"larrywen.com.zone.dx";  
  89.        allow-update{ none;};  
  90. };  
  91. };  
  92.    
  93. view wangtong {  
  94.        match-clients{"wt";};  
  95. zone "." IN {  
  96.               type hint;  
  97.               file "named.ca";  
  98. };  
  99.    
  100. zone "localhost.localdomain" IN {  
  101.        typemaster;  
  102.        file"named.localhost";  
  103.        allow-update{ none; };  
  104. };  
  105.    
  106. zone "localhost" IN {  
  107.        typemaster;  
  108.        file"named.localhost";  
  109.        allow-update{ none; };  
  110. };  
  111.    
  112. zone"1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"IN {  
  113.        typemaster;  
  114.        file"named.loopback";  
  115.        allow-update{ none; };  
  116. };  
  117.    
  118. zone "1.0.0.127.in-addr.arpa" IN {  
  119.        typemaster;  
  120.        file"named.loopback";  
  121.        allow-update{ none; };  
  122. };  
  123.    
  124. zone "0.in-addr.arpa" IN {  
  125.        typemaster;  
  126.        file"named.empty";  
  127.        allow-update{ none; };  
  128. };  
  129. zone "larrywen.com" {  
  130.        typemaster;  
  131.        file"larrywen.com.zone.wt";  
  132.        allow-update{ none;};  
  133. };  
  134. };  
  135.         
  136. --第二步,查看配置文件  
  137. [root@serv01 etc]# vim /etc/named.acl.dx  
  138. [root@serv01 etc]# cat /etc/named.acl.dx  
  139. acl dx {  
  140.        192.168.1.10;  
  141.        192.168.1.11;  
  142.        192.168.1.12;  
  143.        192.168.1.13;  
  144.        192.168.1.14;  
  145. };  
  146. [root@serv01 etc]# vim /etc/named.acl.wt  
  147.    
  148. [root@serv01 etc]# cat /etc/named.acl.wt  
  149. acl wt {  
  150.        172.16.1.10;  
  151.        172.16.1.11;  
  152.        172.16.1.12;  
  153.        172.16.1.13;  
  154.        172.16.1.14;  
  155. };  
  156.    
  157. --第三步,重启服务,发生错误  
  158. [root@serv01 etc]# /etc/init.d/namedrestart  
  159. Stopping named:                                            [  OK  ]  
  160. Starting named:  
  161. Error in named configuration:  
  162. /etc/named.conf:41: open: /etc/named.acl.dx:file not found  
  163.                                                           [FAILED]  
  164. --第四步,解决问题(将etc目录下的named文件拷贝到 /var/named/chroot/etc/)  
  165. [root@serv01 etc]# cd /var/named/  
  166. chroot/               dynamic/              larrywen.com.zone.wt  named.empty           named.loopback         
  167. data/                 larrywen.com.zone.dx  named.ca              named.localhost       slaves/                
  168. [root@serv01 etc]# cd /var/named/chroot/etc/  
  169. [root@serv01 etc]# ll  
  170. total 12  
  171. -rw-r--r--. 1 root root   389 Jul 23 00:57 localtime  
  172. drwxr-x---. 2 root named 4096 Mar 28  2011 named  
  173. drwxr-xr-x. 3 root root  4096 Aug 12 18:27 pki  
  174. [root@serv01 etc]# cp /etc/named* ./ -a  
  175. [root@serv01 etc]# ll  
  176. total 36  
  177. -rw-r--r--. 1 root root   389 Jul 23 00:57 localtime  
  178. drwxr-x---. 2 root named 4096 Mar 28  2011 named  
  179. -rw-r-----. 1 root named  123 Aug 12 19:49 named.acl.dx  
  180. -rw-r-----. 1 root named  118 Aug 12 19:50 named.acl.wt  
  181. -rw-r-----. 1 root named 2450 Aug 12 19:54named.conf  
  182. -rw-r--r--. 1 root named 2544 Mar 28  2011 named.iscdlv.key  
  183. -rw-r-----. 1 root named  931 Jun 21 2007 named.rfc1912.zones  
  184. -rw-r--r--. 1 root named  487 Mar 28 2011 named.root.key  
  185. drwxr-xr-x. 3 root root  4096 Aug 12 18:27 pki  
  186. [root@serv01 etc]# /etc/init.d/named restart  
  187. Stopping named:                                           [  OK  ]  
  188. Starting named:                                           [  OK  ]  



  我的邮箱wgbno27@163.com  新浪微博@Wentasy27           微信公众平台:JustOracle(微信号:justoracle)  数据库技术交流群:336882565(加群时验证 From CSDN XXX)  By Larry Wen