前言
本文重点在于后面的完整搭建步骤,前面会简单的说明一下用到的概念,如果有偏差处,欢迎各位批评指教。谢谢大家。
基本理论说明
DNS概述
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
DNS协议及端口
TCP 53(主从同步)
UDP 53(正常查询)
启动脚本:/etc/init.d/named
DNS解析的作用
正向解析:域名---->IP
反向解析: IP---->域名
DNS相关配置文件
/etc/named.conf
/etc/named.rfc1912.zones
/var/named
/var/named/chroot
主配置文件片段:
listen-on port 53 { 192.168.4.5; }; //监听地址和端口allow-query { any; }; //允许任何客户机查询zone "wolf.com" IN { //定义正向区域 type master; //区域类型为主DNS file "wolf.com.zone"; //区域数据文件};
区域文件内容
$TTL 86400 //有效记录的生存周期@ IN SOA dns1.tarena.com. root.tarena.com. ( 2013090901 //更新序号 3H //刷新时间 15M //重试间隔 1W //失效时间 1D //无效记录的生存周期)/* 站点名 类型 值 @ IN NS DNS 1的完整域名. @ IN NS DNS 2的完整域名. DNS 1的完整域名. IN A DNS 1的IP地址 DNS 2的完整域名. IN A DNS 2的IP地址 www IN A IP地址 IP地址主机位 IN PTR 完整的域名. */
语法检查工具:
named-checkconf //主配置文件的路径named-checkzone //目标区域名 地址库文件的路径
DNS负载均衡,泛域名解析
DNS轮询(一个域名--> 多个IP地址)
www A IP地址1 www A IP地址2 www A IP地址3 .. ..
泛域名解析(多个域名 <--> 多个IP地址)
$GENERATE 100-200 station$ A 192.168.4.$ $GENERATE 100-200 $ PTR station$.tarena.com.
泛域名解析(多个域名 --> 一个IP地址)
* A IP地址
主从DNS(从服务器主要用来备份数据)
options { directory "默认的地址库文件保存位置"; allow-transfer { 从DNS服务器的IP地址; }; }; zone "区域名" { [tarena.com、4.168.192.in-addr.arpa] type 类型; [master、slave] file "地址库文件的文件名"; masters { 主DNS服务的IP地址; }; };
实例操作
基本的DNS正向及反向解析
//安装DNS服务包,其中bind是主要实现DNS解析功能的包,bind-chroot则是禁锢解析目录的服务包[root@server-2-99 ~]# yum -y bind bind-chroot //修改DNS服务主配置文件[root@server-2-99 ~]# vim /etc/named.conf [root@server-2-99 ~]# cat /etc/named.conf//// named.conf//// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for example named configuration files.//options { listen-on port 53 { any; }; //监听地址和端口,any表示任意地址 directory "/var/named"; //地址库文件所在目录 allow-query { any; }; //允许任意客户机查询}; zone "wolf.com" IN { //定义正向区域 type master; //区域类型为主DNS file "wolf.com.zone"; //地址库文件}; zone "2.168.192.in-addr.arpa" IN { //定义反向区域 type master; file "192.168.2.arpa"; };//检查配置语法,可以不进行此步操作[root@server-2-99 ~]# named-checkconf /etc/named.conf //编辑DNS地址库文件[root@server-2-99 ~]# cd /var/named/[root@server-2-99 named]# ls -ltotal 32drwxr-x---. 6 root named 4096 Dec 18 18:26 chroot drwxrwx---. 2 named named 4096 Dec 18 18:26 data drwxrwx---. 2 named named 4096 Dec 18 18:26 dynamic -rw-r-----. 1 root named 2075 Apr 23 2014 named.ca -rw-r-----. 1 root named 152 Dec 15 2009 named.empty-rw-r-----. 1 root named 152 Jun 21 2007 named.localhost //注意所属组,地址库模板文件-rw-r-----. 1 root named 168 Dec 15 2009 named.loopback drwxrwx---. 2 named named 4096 May 11 2015 slaves//地址库文件需要保留所属组,来保证有相应的权限,这里使用-p选项保留对应的权限,也可是使用chown命令修改文件所有组[root@server-2-99 named]# cp -p named.localhost wolf.com.zone [root@server-2-99 named]# ll wolf.com.zone named.localhost -rw-r-----. 1 root named 152 Jun 21 2007 named.localhost -rw-r-----. 1 root named 152 Jun 21 2007 wolf.com.zone//修改地址库文件[root@server-2-99 named]# hostname server-2-99.wolf.com [root@server-2-99 named]# vim wolf.com.zone [root@server-2-99 named]# cat wolf.com.zone $TTL 1D //有效记录生存周期,目前表示1天@ IN SOA @ rname.invalid. ( 0 ; serial //更新序号,在主从DNS上会有作用,我们后面介绍 1D ; refresh //刷新时间 1H ; retry //重试间隔 1W ; expire //失效时间 3H ) ; minimum //无效记录的生存周期// @ 表示站点名,在这里表示在主配置文件写的"wolf.com."// NS 表示类型 // A 表示正向解析 NS server-2-99.wolf.com. //当前DNS服务器主机名www A 192.168.2.99 //www后面的内容会由“@”自动补全ftp.wolf.com. A 192.168.2.98 //这是完整的域名,注意要以“.”结尾* A 200.0.0.1 //当遇到不能识别的内容时,按此条记录解析 (一般只用在正向解析值中)server A 192.168.2.1 //DNS轮询——基于DNS的负载均衡server A 192.168.2.2 //一个域名 --> 多个不同的IP地址server A 192.168.2.3 //每个IP提供镜像服务内容$GENERATE 10-90 pc$ A 192.168.2.$ //简化有规律的地址(A或PTR)记录 //$GEENRATE 和 “*”都属于泛域名解析//检测配置语法,可不进行此操作[root@server-2-99 named]# named-checkzone wolf.com wolf.com.zone zone wolf.com/IN: loaded serial 0OK//配置反向域名解析配置文件[root@server-2-99 named]# cp -p named.localhost 192.168.2.arpa[root@server-2-99 named]# vim 192.168.2.arpa [root@server-2-99 named]# cat 192.168.2.arpa$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS server-2-99.wolf.com. 100 PTR www.wolf.com.101 PTR vsftp.wolf.com. $GENERATE 110-200 $ PTR pc$.wolf.com.//重启named服务[root@server-2-99 named]# service named restart停止 named: [确定] 启动 named: [确定]
服务端的操作就基本上到此为止,接下来就是测试验证了,当然也可以在服务端的这台机器操作,但模拟真实,这次我们新建一台客户端的机器来进行操作。
下面就是在客户端上的测试和验证:
// 配置客户机DNS地址文件,也可以不指定使用临时的方法进行测试[root@pc-2-97 ~]# vim /etc/resolv.conf [root@pc-2-97 ~]# cat /etc/resolv.confnameserver 192.168.2.99//正向解析结果验证[root@pc-2-97 ~]# nslookup www.wolf.comServer: 192.168.2.99Address: 192.168.2.99#53Name: www.wolf.com Address: 192.168.2.99[root@pc-2-97 ~]# nslookup ftp.wolf.comServer: 192.168.2.99Address: 192.168.2.99#53Name: ftp.wolf.com Address: 192.168.2.98//泛域名解析验证[root@pc-2-97 ~]# nslookup wwwwww.wolf.comServer: 192.168.2.99Address: 192.168.2.99#53Name: wwwwww.wolf.com Address: 200.0.0.1[root@pc-2-97 ~]# nslookup pc19.wolf.comServer: 192.168.2.99Address: 192.168.2.99#53Name: pc19.wolf.com Address: 192.168.2.19//DNS轮询验证[root@pc-2-97 ~]# nslookup server.wolf.comServer: 192.168.2.99Address: 192.168.2.99#53Name: server.wolf.com Address: 192.168.2.1Name: server.wolf.com Address: 192.168.2.2Name: server.wolf.com Address: 192.168.2.3//临时测试方法[root@pc-2-97 ~]# nslookup pc12.wolf.com 192.168.2.99Server: 192.168.2.99Address: 192.168.2.99#53Name: pc12.wolf.com Address: 192.168.2.1//反向解析验证[root@pc-2-97 ~]# nslookup 192.168.2.100Server: 192.168.2.99Address: 192.168.2.99#53100.2.168.192.in-addr.arpa name = www.wolf.com. [root@pc-2-97 ~]# nslookup 192.168.2.101Server: 192.168.2.99Address: 192.168.2.99#53101.2.168.192.in-addr.arpa name = vsftp.wolf.com. [root@pc-2-97 ~]# nslookup 192.168.2.119Server: 192.168.2.99Address: 192.168.2.99#53119.2.168.192.in-addr.arpa name = pc119.wolf.com.
DNS服务的正向解析和反向解析,就基本上是这样了,还有一个是多区域解析,就是在/etc/named.conf文件中再添加一块配置文件,然后添加对应的地址库文件,在这里就不做演示了。
接下来,进行构建主/从DNS
主/从DNS服务搭建
操作流程:
//在主DNS服务器,即刚才搭建的server-2-99服务机上,修改DNS主配置文件[root@server-2-99 named]# vim /etc/named.conf//这里我只显示了修改的一部分,其它地方和之前保持一致即可options { listen-on port 53 { any; }; directory "/var/named"; allow-query { any; }; allow-transfer { 192.168.2.98; }; //添加从服务器地址,注意ip和“{}”的前后都需要有一个空格,没有的话,可能会报错,不能启动服务器};//测试主从服务器新添加的区域,也可以使用之前的“wolf.com”zone "war.com" IN { type master; file "war.com.zone"; };//配置地址库文件,和之前一致[root@server-2-99 named]# pwd /var/named [root@server-2-99 named]# cp -p wolf.com.zone war.com.zone[root@server-2-99 named]# vim war.com.zone [root@server-2-99 named]# cat war.com.zone$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS server-2-99.wolf.com. www A 192.168.2.99ftp.war.com. A 192.168.2.98* A 200.0.0.1server A 192.168.2.1server A 192.168.2.2server A 192.168.2.3$GENERATE 10-90 pc$ A 192.168.2.$
[root@server-2-98 ~]# yum -y install bind bind-chroot[root@server-2-98 ~]# vim /etc/named.conf [root@server-2-98 ~]# cat /etc/named.conf //// named.conf//// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS// server as a caching only nameserver (as a localhost DNS resolver only).//// See /usr/share/doc/bind*/sample/ for example named configuration files.//options { listen-on port 53 { any; }; directory "/var/named"; allow-query { any; }; }; zone "war.com" IN { type slave; file "slaves/war.com.zone"; //注意路径发生了改变,地址库文件在从服务器不需要配置,会自动从主服务器同步 masters { 192.168.2.99; }; //主服务器地址}; [root@server-2-98 ~]# service named restart停止 named: [确定] 启动 named: [确定 [root@server-2-98 ~]# ls /var/named/slaves/war.com.zone //文件已经同步[root@server-2-98 ~]# cat /var/named/slaves/war.com.zone $ORIGIN . $TTL 86400 ; 1 day war.com IN SOA war.com. rname.invalid. ( 0 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) NS server-2-99.wolf.com. $ORIGIN war.com. * A 200.0.0.1ftp A 192.168.2.98pc10 A 192.168.2.10pc11 A 192.168.2.11pc12 A 192.168.2.12…… pc88 A 192.168.2.88pc89 A 192.168.2.89pc90 A 192.168.2.90server A 192.168.2.1 A 192.168.2.2 A 192.168.2.3www A 192.168.2.99
那么现在主从DNS服务器的配置已经全部完成,现在我们去客户机上进行验证
//这里就简单写两个验证结果就好,其它的就不一一贴出了[root@pc-2-97 ~]# nslookup www.war.com 192.168.2.99Server: 192.168.2.99Address: 192.168.2.99#53Name: www.war.com Address: 192.168.2.99[root@pc-2-97 ~]# nslookup www.war.com 192.168.2.98Server: 192.168.2.98Address: 192.168.2.98#53Name: www.war.com Address: 192.168.2.99
作者:海渊_haiyuan
链接:https://www.jianshu.com/p/ac79aeb0f7d1
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦