- DNS 是计算机域名(Domain Name System)的缩写,主要功能是将计算机域名与IP地址之间作转换。执行这一服务的网络主机就可以称作为DNS服务器,通常我们都认为DNS只是将域名转换成IP地址,然后再使用所查到的IP地址去连接(俗称“正向解析”)。事实上,将IP地址转换成域名的功能也是常使用到的,(俗称“逆向解析”)。下面就来用一个假设的域名(www.mageedu.com),ip地址为172.16.86.1,是本机IP地址,那我们就用本机来做DNS服务器来讲一下DNS的基本配置吧,很简单的哦。一学就会哦。
- 首先介绍一下基本知识:
- 数据库中的,每一个条目称作一个资源记录,资源记录类型:
- SOA(Start Of Authority): #起始授权记录
- 格式: ZONE NAME TTL IN SOA FQDN ADMINISTRATOR_MAILBOX (
- serial number:版本号或序列号
- refresh:刷新周期
- retry:重试时间
- expire:过期时长
- nagative ansver TTL:否定答案的缓存时长)
- 如: mageedeu.com 600 IN SOA ns1.mageedu.com. admin.mageedu.com. (
- 2013040101
- 1H
- 5M
- 1W
- 1D )
- 时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒
- 邮箱格式:admin@mageedu.com -也可以写为->admin.mageedu.com
- NS(Name Server):#名称服务器
- 格式: Zone MAIN NAME -->FQDN
- 如: mageedu.com 600 IN NS ns1.mageedu.com.
- ns1.mageedu.com. 600 IN A 172.16.86.1
- MX(Mail eXchanger):#邮件交换器
- 格式: ZONE NAME TTL IN MX pri VALUE
- 优先级:0-99,数字越小级别越高
- 如: mageedu.com. 600 IN MX 10 mail.mageedu.com.
- mail.mageedu.com. 600 IN A 1.1.1.3
- A(address):FQDN-->IPv4 #这里是由IPv4地址解析到域名
- AAAA(address):FQDN-->IPv6
- PTR(pointer):IP-->FQDN #反向解析由IP解析域名
- CNAME(Canonical NAME):FQDN-->FQDN #别名记录
- 如 ftp.magedu.com. IN CNAME www.magedu.com.
- 一、 首先要配置yum源,我们是从本地服务器上下载的,你们可以用光盘或者镜像文件挂载本地也是可以的。我们就用bind97来介绍一下吧。
- [root@localhost ~]#cd /etc/yum.repos.d
- [root@localhost yum.repos.d]# wget ftp://172.16.0.1/pub/gls/server.repo
- 二、安装bind97,并添加或修改其主配置文件,我们这里就来自己编辑其配置文件。
- [root@localhost yum.repos.d]# rpm -e bind-libs bind-utils
- [root@localhost yum.repos.d]# yum install bind97-libs bind97-utils
- [root@localhost ~]# yum install bind97 -y #安装bind97主包
- [root@localhost ~]# cd /etc/
- [root@localhost etc]# cat named.conf #查看配置文件
- [root@localhost etc]# mv /etc/named.conf /etc/named.conf.orig #这里把原有的配置文件重命名或者删除都可以
- [root@localhost etc]# ll -l /etc/named.conf.orig #查看原配置文件的权限和属性
- -rw-r----- 1 root named 930 Mar 29 20:03 /etc/named.conf.orig
- [root@localhost etc]# vim named.conf #编辑配置文件 创建缓存名称服务器
-
四、修改DNS服务器地址为本机地址,并让它开机自动运行 [root@localhost ~]# vim /etc/resolv.conf nameserver 172.16.86.1 search localdomain [root@localhost ~]# chkconfig --list named named 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@localhost ~]# chkconfig named on #用此命令实现开机自动运行DNS服务器 [root@localhost ~]# chkconfig --list named named 0:off 1:off 2:on 3:on 4:on 5:on 6:off 五、实现正向解析 [root@localhost named]# vim /etc/named.conf #编辑主配置文件,添加如下内容 zone "magedu.com" IN { type master; file "mageedu.com.zone"; }; [root@localhost named]#vim mageedu.com.zone #在/var/named目录下创建文件并编辑文件内容 $TTL 600 magedu.com. IN SOA ns1.mageedu.com. admin.mageedu.com. ( 2013040101 1H 5M 2D 6H ) IN NS ns1.mageedu.com. IN MX 10 mail.mageedu.com. ns1 IN A 172.16.86.1 mail IN A 172.16.86.2 www IN A 172.16.86.1 ftp IN CNAME www [root@localhost named]# chmod 640 mageedu.com.zone [root@localhost named]# chown root:namedmageedu.com.zone [root@localhost named]# named-checkzone "mageedu.com" /var/named/mageedu.com.zone zonemagedu.com/IN: loaded serial 2013040101 OK [root@localhost named]# service named restart #重启DNS服务 Stopping named: [ OK ] Starting named: [ OK ] 测试结果:
[root@localhost named]# dig -t CNAME ftp.mageedu.com ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t CNAME ftp.mageedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40718 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;ftp.mageedu.com. IN CNAME ;; ANSWER SECTION: ftp.mageedu.com. 600 IN CNAME www.mageedu.com. ;; AUTHORITY SECTION: mageedu.com. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 5 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:23:43 2013 ;; MSG SIZE rcvd: 85 [root@localhost named]# dig -t NSmagedu.com ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NSmagedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37572 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;mageedu.com. IN NS ;; ANSWER SECTION: mageedu.com. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 13 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:24:29 2013 ;; MSG SIZE rcvd: 63 [root@localhost named]# dig -t MXmagedu.com ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t MXmagedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57248 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;mageedu.com. IN MX ;; ANSWER SECTION: mageedu.com. 600 IN MX 10 mail.mageedu.com. ;; AUTHORITY SECTION: mageedu.com. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: mail.mageedu.com. 600 IN A 172.16.86.2 ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 9 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:25:02 2013 ;; MSG SIZE rcvd: 100 六、实现反向解析 [root@localhost named]vim /etc/named.conf zone "86.16.172.in-addr.arpa" IN { type master; file "172.16.86.zone"; [root@localhost named]# vim 172.16.86.zone $TTL 600 @ IN SOA ns1.mageedu.com. admin.mageedu.com. ( 2013040101 1H 5M 2D 6H ) IN NS ns1.mageedu.com. 1 IN PTR ns1.mageedu.com. 1 IN PTR www.mageedu.com. 2 IN PTR mail.mageedu.com. [root@localhost named]# chmod 640 172.16.86.zone [root@localhost named]# chown root:named 172.16.86.zone [root@localhost named]# named-checkzone "86.16.172.in-addr.arpr" 172.16.86.zone zone 86.16.172.in-addr.arpr/IN: loaded serial 2013040101 OK [root@localhost named]# service named restart Stopping named: [ OK ] Starting named: [ OK ] [root@localhost named]# dig -x 172.16.86.1 #dig -x IP 根据IP查主机名 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46711 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;1.86.16.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.86.16.172.in-addr.arpa. 600 IN PTR www.mageedu.com. 1.86.16.172.in-addr.arpa. 600 IN PTR ns1.mageedu.com. ;; AUTHORITY SECTION: 86.16.172.in-addr.arpa. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 5 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:43:49 2013 ;; MSG SIZE rcvd: 119 [root@localhost named]# dig -x 172.16.86.2 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.2 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50818 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;2.86.16.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 2.86.16.172.in-addr.arpa. 600 IN PTR mail.mageedu.com. ;; AUTHORITY SECTION: 86.16.172.in-addr.arpa. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 2 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:44:16 2013 ;; MSG SIZE rcvd: 106 [root@localhost named]# dig -x 172.16.86.3 ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -x 172.16.86.3 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28749 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;3.86.16.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 3.86.16.172.in-addr.arpa. 600 IN PTR www.mageedu.com. ;; AUTHORITY SECTION: 86.16.172.in-addr.arpa. 600 IN NS ns1.mageedu.com. ;; ADDITIONAL SECTION: ns1.mageedu.com. 600 IN A 172.16.86.1 ;; Query time: 6 msec ;; SERVER: 172.16.86.1#53(172.16.86.1) ;; WHEN: Fri Mar 29 21:44:29 2013 ;; MSG SIZE rcvd: 105 七、就这样一个简单的DNS服务器就做成了,是不是很简单啊 ,自己动手实现以下吧 。
转载于:https://blog.51cto.com/lbxiaoxin/1171252