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

[经验分享] Linux之centos6.5搭建DNS分离解析

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-14 08:52:46 | 显示全部楼层 |阅读模式
在很多情况下一些web服务都会要求对内外网来的用户解析成不同的地址。这就需要DNS的分离解析技术。其实这个技术也是跟我们国内的网络情况有关的,两大运营商,电信、连通。特别是一些电商网站为了让用户有更好的体验效果解析速度更快,所以就用到了DNS分离解析技术,来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度。
有有时候也叫智能DNS。。。。。下面就来了解下"DNS分离解析"的运作原理吧!
配置步骤

1、规划拓扑
2、安装DNS服务的软件包
3、配置主配置文件
4、配置解析库文件
5、检查配置文件语法、启动服务并测试

一、规划拓扑
   QQ截图20150814085230.png
二、安装DNS服务的软件包

1
[iyunv@localhost ~]# yum -y install bind*



中间那台DNS服务器有两块网卡,一块连接win主机用,一块连接内网虚拟机用。


三、配置主配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[iyunv@localhost ~]# vi /etc/named.conf
  
options {
        listen-on port 53 { 192.168.2.80; };     //监听本机或者any,若把此项注释掉则表示监听所有。
        //listen-on-v6 port 53 { ::1; };         //ipv6的监听,可注释掉
        directory       "/var/named";            //此文件非常重要,标注服务的根的位置
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };               //允许所有主机解析,仅限实验环境下使用,真实环境为了保证外网用户不能递归查询不能用any。
        recursion yes;                          //允许递归查询
  
        //dnssec-enable yes;                    //dnssec是为了解决DNS欺骗和缓存污染而设计的一种安全机制。目前实验环境不建议开启。
        //dnssec-validation y
        //dnssec-lookaside auto;
  
        /* Path to ISC DLV key */
        //bindkeys-file "/etc/named.iscdlv.key";
  
        //managed-keys-directory "/var/named/dynamic";
};

下边的内容就按默认配置来就行了,只不过需要把zone “.”这块内容给移走,移动到named.rfc1912.zones,我们在这个文件中专门存放zone,次文件在/etc/下。

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
include "/etc/named.rfc1912.zones";          //centos6会把一个比较大的配置文件分散成多个小的,并关联起来,此项就是说明named.rfc1912.zones也是DNS的配置文件,只不过我们让这个文件专门存放zone
//include "/etc/named.root.key";            //此项是dnssec的key存放的文件,由于前边我们已经把它给注释掉了,所以此项也无用。



保存退出。

1
[iyunv@localhost ~]# service named configtest    //检查配置文件语法




然后编辑vim /etc/named.rfc1912.zones ,在这个配置文件中我们来定义内网和外网的view
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
view "lan" {                                      //定义内网view,命名为lan
  match-clients { 10.0.0.0/24; };                 //设定可解析的客户端,此处可以是具体的IP,也可是网段,也可是我们定义的ACL(ACL的定义方式这里不细说)
zone "localhost.localdomain" IN {                    
        type master;
        file "named.localhost";
        allow-update { none; };
};
  
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
  
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 {
        type master;
        file "named.loopback";
        allow-update { none; };
};
  
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
  
zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};
  
zone "jinsanhong.com" IN {                        //这个zone就是我们要解析的区域
        type master;                              //类型,类型有hint,master,Slave,swap。Hint是根区域类型,master和slave是用来做DNS的主从,swap是交换类型。
        file "jinsanhong.com.lan";                //定义区域解析库文件,此路径是相对路径,相对named.conf中 directory  "/var/named"这个路径,所以区域解析文件要放在/var/named下。  
};
  
zone "." IN {
        type hint;
        file "named.ca";
};
};
  
view "wan" {                                     //这是我们定义的外网view
     match-clients { 192.168.2.0/24; };         
     zone "jinsanhong.com" IN {
             type master;
             file "jinsanhong.com.wan";
     };
};



注:一旦启用view,所有的zone必须都在view下,所以要把系统默认的自检用的zone也放在view下。

四、配置区域解析库文件
然后我们就来编辑区域解析库文件。
1
2
cp -p /var/named/named.localhost /var/named/jinsanhong.com.lan     //使用-p复制能够保留源文件的属组属主和权限(这点很重要)
cp -p /var/named/named.localhost /var/named/jinsanhong.com.wan




注:如果复制的时候没有用-p选项的话也不要紧,我们可以使用如下命令修改:
chown root:named jinsanhong.com.*
chmod 640 jinsanhong.com.*


1
2
3
4
5
6
7
8
9
10
11
Vim jinsanhong.com.lan
$TTL 1D
@       IN   SOA  ns.jinsanhong.com.  admin.jinsanhong.com. (
                                        2015081310      ; serial
                                        1D              ; refresh
                                        1H              ; retry
                                        1W              ; expire
                                        3H )            ; minimum
         IN     NS       ns.jinsanhong.com.
ns.jinsanhong.com.      IN     A        10.0.0.3       //这是DNS服务器内网卡IP
www.jinsanhong.com.    IN     A        10.0.0.2        //解析的web服务地址




1
2
3
4
5
6
7
8
9
10
11
Vim welcome.zone.wan
$TTL 1D
@       IN SOA  ns.jinsanhong.com.  admin.jinsanhong.com. (
                                        2015081310      ; serial
                                        1D              ; refresh
                                        1H              ; retry
                                        1W              ; expire
                                        3H )            ; minimum
        IN     NS       ns.jinsanhong.com.
ns.jinsanhong.com.      IN     A        192.168.2.80    //这是DNS服务器外网卡IP
www.jinsanhong.com.     IN     A        192.168.2.80    // 解析的web服务地址






五、检查配置文件语法、启动服务并测试
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
检查配置文件
service named configtest

然后重启named服务器
Service named restart

然后测试
[iyunv@localhost ~]# host -t A www.jinsanhong.com 192.168.2.80
Using domain server:
Name: 192.168.2.80
Address: 192.168.2.80#53
Aliases:
www.jinsanhong.com has address 192.168.2.80
这是用的外网地址测试,解析到的IP地址是192.168.2.80(就是我们设置的外网webIP)

[iyunv@localhost ~]# host -t A www.jinsanhong.com 10.0.0.3
Using domain server:
Name: 10.0.0.3
Address: 10.0.0.3#53
Aliases:
www.jinsanhong.com has address 10.0.0.2
这是用的内网地址测试,解析到的IP地址是10.0.0.2(这是我们设置的内网webIP)



注:域名后边加的IP 是我们DNS服务的内外网卡的IP

  接下来我们用win主机测试我们在虚拟机中搭建的DNS服务
首先保证我们的win主机的IP和虚拟机的外网IP在同一网段内,并设置win主机的DNS地址为虚拟主机外网IP(网关不用设置)


然后修改虚拟主机的/etc/resolv.conf文件
Servername = 192.168.2.80        //此IP是我们虚拟机的DNS IP
然后就能在我们的win主机上使用nslookup www.jinsanhong.com来测试了
内网测试就需要我们用另外一台虚拟机来测试了,这里不做具体说明。




六、一些常见错误的解决办法


错误一
1
“/etc/named.conf:47: when using 'view' statements, all zones must be in views”




表示你的zone没有全部添加到view下
两种解决办法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1、/*view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};*/
此处要将view字段注释掉
  
  
  
2、
view "other" {
zone "." IN {
        type hint;
        file "named.ca";
};
};
将所有的zone都放在视图下。




错误二
1
2
3
4
5
6
jinsanhong.com.lan:9: ignoring out-of-zone data (ns.jisanhong.com)
zone jinsanhong.com/IN: NS 'ns.jinsanhong.com' has no address records (A or AAAA)
zone jinsanhong.com/IN: not loaded due to errors.
lan/jinsanhong.com/IN: bad zone
zone jinsanhong.com/IN: loaded serial 2015081310
                                                           [FAILED]



提示我们没有解析到地址,多半都是我们的解析库文件配置出错,仔细检查我们的解析库文件配置,大部分的错误是域名写错。

错误三
测试的时候能ping通DNS但是就是提示连接超时或者是没有找到www.****.com之类的错误
大部分原因是防火墙的关系,我们检查一下iptables表是否允许53端口通过,也可关闭防火墙。


运维网声明 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-98755-1-1.html 上篇帖子: NFS文件共享服务器的搭建 下篇帖子: 在centos7下怎么进入单用户状态以便修改root密码 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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