Linux中DNS服务器的基本配置

 

  
  
  
  
  1. DNS 是计算机域名(Domain Name System)的缩写,主要功能是将计算机域名与IP地址之间作转换。执行这一服务的网络主机就可以称作为DNS服务器,通常我们都认为DNS只是将域名转换成IP地址,然后再使用所查到的IP地址去连接(俗称“正向解析”)。事实上,将IP地址转换成域名的功能也是常使用到的,(俗称“逆向解析”)。下面就来用一个假设的域名(www.mageedu.com),ip地址为172.16.86.1,是本机IP地址,那我们就用本机来做DNS服务器来讲一下DNS的基本配置吧,很简单的哦。一学就会哦。 
  2.  
  3. 首先介绍一下基本知识: 
  4. 数据库中的,每一个条目称作一个资源记录,资源记录类型: 
  5.  
  6. SOA(Start Of Authority):    #起始授权记录    
  7. 格式: ZONE NAME  TTL   IN   SOA   FQDN  ADMINISTRATOR_MAILBOX ( 
  8.         serial number:版本号或序列号 
  9.         refresh:刷新周期 
  10.         retry:重试时间 
  11.         expire:过期时长 
  12.         nagative ansver TTL:否定答案的缓存时长) 
  13.          
  14. 如:  mageedeu.com       600   IN    SOA     ns1.mageedu.com.   admin.mageedu.com. (  
  15.                     2013040101 
  16.                     1H 
  17.                     5M 
  18.                     1W 
  19.                     1D )         
  20.     时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒 
  21.     邮箱格式:[email protected] -也可以写为->admin.mageedu.com 
  22.      
  23.      
  24. NS(Name Server):#名称服务器 
  25. 格式: Zone MAIN NAME -->FQDN    
  26. 如:  mageedu.com      600   IN   NS   ns1.mageedu.com. 
  27.         ns1.mageedu.com. 600   IN   A    172.16.86.1 
  28.          
  29.      
  30. MX(Mail eXchanger):#邮件交换器 
  31. 格式: ZONE NAME   TTL  IN   MX   pri   VALUE 
  32.         优先级:0-99,数字越小级别越高 
  33. 如:  mageedu.com.       600  IN   MX  10  mail.mageedu.com. 
  34.         mail.mageedu.com.  600  IN   A       1.1.1.3 
  35. A(address):FQDN-->IPv4    #这里是由IPv4地址解析到域名 
  36. AAAA(address):FQDN-->IPv6    
  37. PTR(pointer):IP-->FQDN     #反向解析由IP解析域名 
  38. CNAME(Canonical NAME):FQDN-->FQDN     #别名记录 
  39. 如   ftp.magedu.com.    IN    CNAME     www.magedu.com. 
  40.  
  41.  
  42. 一、 首先要配置yum源,我们是从本地服务器上下载的,你们可以用光盘或者镜像文件挂载本地也是可以的。我们就用bind97来介绍一下吧。 
  43.  
  44. [root@localhost ~]#cd /etc/yum.repos.d     
  45. [root@localhost yum.repos.d]# wget ftp://172.16.0.1/pub/gls/server.repo 
  46.  
  47.  
  48. 二、安装bind97,并添加或修改其主配置文件,我们这里就来自己编辑其配置文件。 
  49.  
  50. [root@localhost yum.repos.d]# rpm -e bind-libs bind-utils 
  51. [root@localhost yum.repos.d]# yum install bind97-libs bind97-utils 
  52. [root@localhost ~]#  yum  install bind97 -y          #安装bind97主包 
  53. [root@localhost ~]# cd /etc/ 
  54. [root@localhost etc]# cat named.conf     #查看配置文件 
  55. [root@localhost etc]# mv /etc/named.conf /etc/named.conf.orig  #这里把原有的配置文件重命名或者删除都可以 
  56. [root@localhost etc]# ll -l /etc/named.conf.orig          #查看原配置文件的权限和属性 
  57. -rw-r----- 1 root named 930 Mar 29 20:03 /etc/named.conf.orig 
  58.  
  59. [root@localhost etc]# vim named.conf           #编辑配置文件 创建缓存名称服务器 
  60.  
  61. [root@localhost etc]# chown root:named /etc/named.conf       #修改属主和属组 
  62.  
  63. [root@localhost etc]# chmod 640 /etc/named.conf       #修改权限 
  64. [root@localhost etc]# named-checkconf                  #检查语法是否有错误,不报信息就是最好的信息 
  65. [root@localhost etc]# named-checkzone "." /var/named/named.ca   
  66. zone ./IN: has 0 SOA records 
  67. zone ./INnot loaded due to errors. 
  68. [root@localhost etc]# named-checkzone "localhost" /var/named/named.localhost  
  69. zone localhost/IN: loaded serial 0 
  70. OK 
  71. [root@localhost etc]# named-checkzone "0.0.127.in-addr.arpa" /var/named/named.loopback 
  72. zone 0.0.127.in-addr.arpa/IN: loaded serial 0 
  73. OK 
  74.  
  75. [root@localhost ~]# service named start               #启动DNS服务器 
  76. Starting named:                                            [  OK  ] 
  77.  
  78. 三、关闭 selinux 
  79.  
  80. [root@localhost ~]# getenforce                 #查看当前selinux状态          
  81. Enforcing                                       #开启 
  82. [root@localhost ~]# setenforce 0                #关闭selinux   
  83. [root@localhost ~]# getenforce     
  84. Permissive 
  85.  
  86. [root@localhost ~]# vim /etc/selinux/config   #修改配置文件永久有效 
  87.  
  88. 四、修改DNS服务器地址为本机地址,并让它开机自动运行 
  89.  
  90. [root@localhost ~]# vim /etc/resolv.conf            
  91. nameserver 172.16.86.1 
  92. search localdomain 
  93.  
  94. [root@localhost ~]# chkconfig --list named     
  95. named           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
  96. [root@localhost ~]# chkconfig named on   #用此命令实现开机自动运行DNS服务器 
  97. [root@localhost ~]# chkconfig --list named 
  98. named           0:off   1:off   2:on    3:on    4:on    5:on    6:off 
  99.  
  100.  五、实现正向解析 
  101.  
  102. [root@localhost named]# vim /etc/named.conf    #编辑主配置文件,添加如下内容 
  103.  
  104. zone "magedu.com"  IN { 
  105.         type master; 
  106.         file "mageedu.com.zone"
  107. }; 
  108.  
  109. [root@localhost named]#vim mageedu.com.zone        #在/var/named目录下创建文件并编辑文件内容 
  110. $TTL 600 
  111. magedu.com.    IN  SOA  ns1.mageedu.com.  admin.mageedu.com. ( 
  112.                 2013040101 
  113.                 1H 
  114.                 5M 
  115.                 2D 
  116.                 6H ) 
  117.                 IN      NS       ns1.mageedu.com. 
  118.                 IN      MX   10  mail.mageedu.com. 
  119. ns1             IN      A        172.16.86.1 
  120. mail            IN      A        172.16.86.2 
  121. www             IN      A        172.16.86.1 
  122. ftp             IN     CNAME     www 
  123.                                          
  124. [root@localhost named]# chmod 640 mageedu.com.zone  
  125. [root@localhost named]# chown root:namedmageedu.com.zone  
  126.  
  127.  
  128. [root@localhost named]# named-checkzone "mageedu.com" /var/named/mageedu.com.zone  
  129. zonemagedu.com/IN: loaded serial 2013040101 
  130. OK 
  131.  
  132.  
  133. [root@localhost named]# service named restart           #重启DNS服务 
  134. Stopping named:                                            [  OK  ] 
  135. Starting named:                                            [  OK  ] 
  136.  
  137. 测试结果: 
  138.  
  139. [root@localhost named]# dig -t CNAME ftp.mageedu.com 
  140.  
  141. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t CNAME ftp.mageedu.com 
  142. ;; global options: +cmd 
  143. ;; Got answer: 
  144. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40718 
  145. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
  146.  
  147. ;; QUESTION SECTION
  148. ;ftp.mageedu.com.       IN  CNAME 
  149.  
  150. ;; ANSWER SECTION
  151. ftp.mageedu.com.    600 IN  CNAME   www.mageedu.com. 
  152.  
  153. ;; AUTHORITY SECTION
  154. mageedu.com.        600 IN  NS  ns1.mageedu.com. 
  155.  
  156. ;; ADDITIONAL SECTION
  157. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  158.  
  159. ;; Query time: 5 msec 
  160. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  161. ;; WHEN: Fri Mar 29 21:23:43 2013 
  162. ;; MSG SIZE  rcvd: 85 
  163.  
  164.  
  165. [root@localhost named]# dig -t NSmagedu.com 
  166.  
  167. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NSmagedu.com 
  168. ;; global options: +cmd 
  169. ;; Got answer: 
  170. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37572 
  171. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 
  172.  
  173. ;; QUESTION SECTION
  174. ;mageedu.com.           IN  NS 
  175.  
  176. ;; ANSWER SECTION
  177. mageedu.com.        600 IN  NS  ns1.mageedu.com. 
  178.  
  179. ;; ADDITIONAL SECTION
  180. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  181.  
  182. ;; Query time: 13 msec 
  183. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  184. ;; WHEN: Fri Mar 29 21:24:29 2013 
  185. ;; MSG SIZE  rcvd: 63 
  186.  
  187.  
  188.  
  189. [root@localhost named]# dig -t MXmagedu.com 
  190.  
  191. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t MXmagedu.com 
  192. ;; global options: +cmd 
  193. ;; Got answer: 
  194. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57248 
  195. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 
  196.  
  197. ;; QUESTION SECTION
  198. ;mageedu.com.           IN  MX 
  199.  
  200. ;; ANSWER SECTION
  201. mageedu.com.        600 IN  MX  10 mail.mageedu.com. 
  202.  
  203. ;; AUTHORITY SECTION
  204. mageedu.com.        600 IN  NS  ns1.mageedu.com. 
  205.  
  206. ;; ADDITIONAL SECTION
  207. mail.mageedu.com.   600 IN  A   172.16.86.2 
  208. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  209.  
  210. ;; Query time: 9 msec 
  211. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  212. ;; WHEN: Fri Mar 29 21:25:02 2013 
  213. ;; MSG SIZE  rcvd: 100 
  214.  
  215.  
  216. 六、实现反向解析 
  217.  
  218. [root@localhost named]vim /etc/named.conf 
  219. zone "86.16.172.in-addr.arpa"  IN { 
  220.                 type master; 
  221.                 file "172.16.86.zone"
  222.  
  223. [root@localhost named]# vim 172.16.86.zone 
  224. $TTL 600 
  225. @    IN  SOA  ns1.mageedu.com.  admin.mageedu.com. ( 
  226.                 2013040101 
  227.                 1H 
  228.                 5M 
  229.                 2D 
  230.                 6H ) 
  231.                 IN      NS      ns1.mageedu.com. 
  232. 1               IN      PTR     ns1.mageedu.com. 
  233. 1               IN      PTR     www.mageedu.com. 
  234. 2               IN      PTR     mail.mageedu.com. 
  235.  
  236. [root@localhost named]# chmod 640 172.16.86.zone  
  237. [root@localhost named]# chown root:named 172.16.86.zone                                                      
  238.  
  239. [root@localhost named]# named-checkzone "86.16.172.in-addr.arpr"  172.16.86.zone  
  240. zone 86.16.172.in-addr.arpr/IN: loaded serial 2013040101 
  241. OK 
  242.  
  243. [root@localhost named]# service named restart 
  244. Stopping named:                                            [  OK  ] 
  245. Starting named:                                            [  OK  ] 
  246.  
  247. [root@localhost named]# dig -x 172.16.86.1      #dig -x IP 根据IP查主机名 
  248.  
  249. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.1 
  250. ;; global options: +cmd 
  251. ;; Got answer: 
  252. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46711 
  253. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 
  254.  
  255. ;; QUESTION SECTION
  256. ;1.86.16.172.in-addr.arpa.  IN  PTR 
  257.  
  258. ;; ANSWER SECTION
  259. 1.86.16.172.in-addr.arpa. 600   IN  PTR www.mageedu.com. 
  260. 1.86.16.172.in-addr.arpa. 600   IN  PTR ns1.mageedu.com. 
  261.  
  262. ;; AUTHORITY SECTION
  263. 86.16.172.in-addr.arpa. 600 IN  NS  ns1.mageedu.com. 
  264.  
  265. ;; ADDITIONAL SECTION
  266. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  267.  
  268. ;; Query time: 5 msec 
  269. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  270. ;; WHEN: Fri Mar 29 21:43:49 2013 
  271. ;; MSG SIZE  rcvd: 119 
  272.  
  273. [root@localhost named]# dig -x 172.16.86.2 
  274.  
  275. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.2 
  276. ;; global options: +cmd 
  277. ;; Got answer: 
  278. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50818 
  279. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
  280.  
  281. ;; QUESTION SECTION
  282. ;2.86.16.172.in-addr.arpa.  IN  PTR 
  283.  
  284. ;; ANSWER SECTION
  285. 2.86.16.172.in-addr.arpa. 600   IN  PTR mail.mageedu.com. 
  286.  
  287. ;; AUTHORITY SECTION
  288. 86.16.172.in-addr.arpa. 600 IN  NS  ns1.mageedu.com. 
  289.  
  290. ;; ADDITIONAL SECTION
  291. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  292.  
  293. ;; Query time: 2 msec 
  294. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  295. ;; WHEN: Fri Mar 29 21:44:16 2013 
  296. ;; MSG SIZE  rcvd: 106 
  297.  
  298. [root@localhost named]# dig -x 172.16.86.3 
  299.  
  300. ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.3 
  301. ;; global options: +cmd 
  302. ;; Got answer: 
  303. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28749 
  304. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
  305.  
  306. ;; QUESTION SECTION
  307. ;3.86.16.172.in-addr.arpa.  IN  PTR 
  308.  
  309. ;; ANSWER SECTION
  310. 3.86.16.172.in-addr.arpa. 600   IN  PTR www.mageedu.com. 
  311.  
  312. ;; AUTHORITY SECTION
  313. 86.16.172.in-addr.arpa. 600 IN  NS  ns1.mageedu.com. 
  314.  
  315. ;; ADDITIONAL SECTION
  316. ns1.mageedu.com.    600 IN  A   172.16.86.1 
  317.  
  318. ;; Query time: 6 msec 
  319. ;; SERVER: 172.16.86.1#53(172.16.86.1) 
  320. ;; WHEN: Fri Mar 29 21:44:29 2013 
  321. ;; MSG SIZE  rcvd: 105 
  322.  
  323.  
  324. 七、就这样一个简单的DNS服务器就做成了,是不是很简单啊 ,自己动手实现以下吧。 

 

你可能感兴趣的:(DNS服务器)