设为首页 收藏本站
查看: 602|回复: 0

[经验分享] CentOS6.7 DNS配置

[复制链接]

尚未签到

发表于 2018-4-28 08:24:31 | 显示全部楼层 |阅读模式


  DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数字串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53,服务器之间备份使用TCP。
  1、DNS的一些基本概念:
  1)、根域 .
  根域“.”(点),我们的网站www.qq.com,其实完整的写法是www.qq.com.(最后有一个点),我们都习惯了省略输入,这就是根域。全世界只有13台“根“服务器,1个主根服务器,其他的12台是辅助根服务器,DNS服务器根据使用的角色有:主DNS、从DNS、缓存DNS、DNS转发服务器。
  2)、域名的划分
  根域下面就是顶级域或者叫一级域:
  有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.,等。
  每个域都会有域名服务器,也叫权威域名服务器。
  51cto.com就是一个顶级域名,而www.51cto.com却不是顶级域名,他是在51cto.com这个域里的叫做www的主机。
  一级域之后还有二级域,三级域,只要我买了一个顶级域,并且我搭建了自己BIND服务器(或者其他软件搭建的)注册到互联网中,那么我就可以随意在前面多加几个域了(当然长度是有限制的)。
  比如a.www.51cto.com,在这个网址中,www.51cto.com变成了一个二级域而不是一台主机,主机名是a。
  3)、域名服务器
  能提供域名解析的服务器,记录类型可以是A(address)记录,NS记录(name server),MX(mail),CNAME等。
  A记录 又称IP指向,用户可以在此设置子域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器。
  4)、域名解析过程
(1)、现在我有一台计算机,通过ISP接入了互联网,访问www.51cto.com,首先操作系统会检查本地的hosts文件是否有这个网址的映射关系,如果有,就先调用这个IP地址,完成域名解析。
(2)、如果host文件里面没有这个域名映射,则使用本地的ISPDNS(ISP提供的)解析服务器,如果有这个网址的映射,就会返回,完成域名解析。
(3)、如果缓存中没有的话,ISPDNS会从配置文件里面读取13个根域名服务器的地址(这些地址是不变的,直接在BIND的配置文件中),
(4)、然后像其中一台发起请求。
(5)、根服务器拿到这个请求后,知道他是com.这个顶级域名下的,所以就会返回com域中的NS记录,一般来说是13台主机名和IP。
(6)、然后ISPDNS向其中一台再次发起请求,com域的服务器发现你这请求是51cto.com这个域的,com域的服务器一查发现了这个域的NS,那就返回给51cto.com 的ip,你再去查。
(7)、ISPDNS不厌其烦的再次向51cto.com这个域的权威服务器发起请求,51cto.com收到之后,查了下有www的这台主机,就把这个IP返回给你了.
(8)、然后ISPDNS拿到了之后,将其返回给了客户端,并且把这个保存在高速缓存中。  2、DNS的安装和配置
  在Linux下的DNS服务器的软件是bind。直接使用yum安装即可。安装后,DNS的服务名称叫named,配置文件存放在/etc/named.conf.
yum install bind*        #安装dns软件bind
/etc/init.d/named start     #启动 DNS 服务
/etc/init.d/named stop     #关闭 DNS 服务
/etc/init.d/namedre start  #重新启动 DNS 服务

/var/named/chroot/etc/named.conf    #全局配置文件,  

#全局配置文件内容
  

  cat /var/named/chroot/etc/named.conf
1 //
2 // named.conf
3 //
4 // Provided by Red Hat bind package to configure the ISC BIND named(8)DNS
5 // server as a caching only nameserver (as a localhost DNS resolveronly).
6 //
7 // See /usr/share/doc/bind*/sample/ for example named configurationfiles.
8 //
9
10 options {
11         listen-on port 53 {127.0.0.1; }; #监听的端口的ip(ip可多个,any表示所有)
12         listen-on-v6 port 53 {::1; }             #ipv6的形式
13         directory       "/var/named";     #DNS各域名数据文件默认存放位置
14         dump-file      "/var/named/data/cache_dump.db";
15         statistics-file"/var/named/data/named_stats.txt";
16         memstatistics-file"/var/named/data/named_mem_stats.txt";
17         allow-query     { localhost; }; #允许dns查询的客户机列表any表示所有
18         recursion yes;                #是否允许客户机进行递归查询
19
20         dnssec-enable yes;
21         dnssec-validation yes;
22         dnssec-lookaside auto;
23
24         /* Path to ISC DLV key*/
25         bindkeys-file"/etc/named.iscdlv.key";
26
27         managed-keys-directory"/var/named/dynamic";
28 };
29
30 logging {                                #日志
31         channel default_debug {
32                 file"data/named.run";
33                 severity dynamic;
34         };
35 };
36
37 zone "." IN {                            #根域
38         type hint;    #区域类型。hint为根区域;master为主区域; slave为辅助区
39         file"named.ca";   #对应/var/named/chroot/var/named目录下的配置文件
40 };
41
42 include "/etc/named.rfc1912.zones";
43 include "/etc/named.root.key";  配置一个正向解析和反向解析:域名为balichvm,ip地址为192.168.171.51,步骤:
  1)、首先在全局配置文件/var/named/chroot/etc/named.conf增加正向解析的区域,增加内容如下:
  #balichvm.org正向解析
zone "balichvm.org" IN {
       type master;
       file "balichvm.org.zone";
};  #balichvm.org反向解析
zone "171.168.192.in-addr.arpa"IN {
       type master;
       file "192.168.171.zone";
};  保存配置文件,然后在/var/named/chroot/var/named/目录下下新建balichvm.org.zone的正向解析文件和192.168.171.zone反向解析文件。
  #编辑正向解析文件
  vim /var/named/chroot/etc/balichvm.org.zone
$TTL   86400              #定义生存周期
@      IN      SOA     @      root.balichvm.org. (
                             2015111001      ;serial      #序列号
                             1D             ;refresh  #服务器更新时间
                             1H             ;retry    #重新更新时间
                             1W             ;expire    #失效时间
                             3H)            ;minmun  #缓存时间
@      IN      NS             dns.balichvm.org.      #域名解析记录
@      IN      MX      10    mail.balichvm.org.   #邮件交换
dns       IN      A              192.168.171.51        #主机记录
mail      IN      A              192.168.171.48
www       IN      A              192.168.171.49
bbs       IN      CNAME   www                           #别名记录  保存配置文件后,使用named -checkzone命令检查语法是否错误如下:
named -checkzone "balichvm.org" /var/named/chroot/var/named/balichvm.org.zone
zone balichvm.org/IN: loaded serial2015111001
OK  #编辑反向解析文件
  vim /var/named/chroot/etc/192.168.171.zone
$TTL   86400
@    IN    SOA   @    root.balichvm.org. (
                             2015111001      ;serial
                             1D             ;refresh
                             1H             ;retry
                             1W             ;expire
                             3H)            ;minmun
@      IN      NS        dns.balichvm.org.
51     IN       PTR        dns.balichvm.org.      #反向解析
49     IN      PTR        www.balichvm.org.
48     IN      PTR        mail.balichvm.org.  ~
  保存配置文件后,使用named-checkzone命令检查语法是否错误如下:
named -checkzone "171.168.192.in-addr.arpa" /var/named/chroot/var/named/192.168.171.zone
zone 171.168.192.in-addr.arpa/IN: loadedserial 2015111001
OK  重启dns服务,然后使用dig命令测试。
/etc/init.d/named restart  

  测试:
  测试过程中,如果有开启防火墙,需要对dns的端口(tcp:53,953;udp:53)放行如下:
-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT  保存,退出。然后重启防火墙:
/etc/rc.d/init.d/iptables restart  使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:
dig@127.0.0.1 www.balichvm.org  使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:
dig @127.0.0.1 -x192.168.171.49  

  3、DNS的转发
  有些域名本地的DNS无法解析,可以把请求转发到上一级的DNS服务器解析,具体的配置是在全局配置文件/var/named/chroot/etc/named.conf 上的  options{} 增加。如下:
forward first;
forwarders {8.8.8.8;};  保存,重启DNS服务。
  4、DNS主从配置
  首先在防火墙上开放dns的端口(TCP:53,953 udp:53):
-A INPUT -m state --state NEW -m tcp -p tcp--dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 953 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp--dport 53 -j ACCEPT  首先在从服务器上安装bind软件:
yum install bind*  

  安装DNS软件之后,把主DNS上的配置文件(/var/named/chroot/etc/named.conf)拷贝到从DNS的服务器上。
  然后编辑:/var/named/chroot/etc/named.conf 修改如下:
  ###balichvm.org正向解析
zone "balichvm.org" IN {
       type slave;          #服务器类型为 slave
       file "slaves/balichvm.org.zone";
       masters { 192.168.171.50; };             #指定master的ip地址
};  ##balichvm.org反向解析
zone "171.168.192.in-addr.arpa"IN {
       type slave;
       file "slaves/192.168.171.zone";
        masters { 192.168.171.50; };
};  保存配置文件,然后启动dns服务。在/var/named/chroot/var/named/slaves 目录下生成和主DNS上一样的配置文件。
  测试:
  使用dig @dns服务器域名 来找到对应的ip地址,如本机测试:
dig@127.0.0.1 www.balichvm.org  使用dig @ dns服务器–x ip 来找到对应的域名,如本机测试:
dig @127.0.0.1 -x192.168.171.49  测试同步:
  在主DNS服务上
  /var/named/chroot/var/named/balichvm.org.zone
  blog   IN      A        192.168.171.47                #增加记录
  同时修改序列号:只能变大,不能变小:2015111001 ——> 2015111002
  重启DNS服务器:/etc/init.d/named restart
  然后在到从dns上测试是否同步。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-452922-1-1.html 上篇帖子: Centos 7.1 RDO 安装 Liberty 问题及解决办法 下篇帖子: centos7安装配置nexus+maven
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表