Linux之centos6.5搭建DNS分离解析

在很多情况下一些web服务都会要求对内外网来的用户解析成不同的地址。这就需要DNS的分离解析技术。其实这个技术也是跟我们国内的网络情况有关的,两大运营商,电信、连通。特别是一些电商网站为了让用户有更好的体验效果解析速度更快,所以就用到了DNS分离解析技术,来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度。

有有时候也叫智能DNS。。。。。下面就来了解下"DNS分离解析"的运作原理吧!

配置步骤

1、规划拓扑

2、安装DNS服务的软件包

3、配置主配置文件

4、配置解析库文件

5、检查配置文件语法、启动服务并测试

一、规划拓扑

二、安装DNS服务的软件包

[[email protected] ~]# yum -y install bind*

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

三、配置主配置文件

[[email protected] ~]# 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存放的文件,由于前边我们已经把它给注释掉了,所以此项也无用。

保存退出。

[[email protected] ~]# service named configtest    //检查配置文件语法

然后编辑vim /etc/named.rfc1912.zones ,在这个配置文件中我们来定义内网和外网的view

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下。

四、配置区域解析库文件

然后我们就来编辑区域解析库文件。

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.*

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服务地址
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服务地址

五、检查配置文件语法、启动服务并测试

检查配置文件
service named configtest

然后重启named服务器
Service named restart

然后测试
[[email protected] ~]# 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)

[[email protected] ~]# 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来测试了

内网测试就需要我们用另外一台虚拟机来测试了,这里不做具体说明。

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

错误一

“/etc/named.conf:47: when using ‘view‘ statements, all zones must be in views”

表示你的zone没有全部添加到view下

两种解决办法:

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都放在视图下。

错误二

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端口通过,也可关闭防火墙。

时间: 2024-10-13 11:06:49

Linux之centos6.5搭建DNS分离解析的相关文章

Linux服务器作为网关的DNS分离解析服务(CentOS 7版本)

一.DNS分离解析服务拓扑图 由Linux服务器作为网关,通过NAT地址转换的功能,根据不同网络的来访者,解析相同的域名从而得到不一样的IP地址.即网络被分为私网(局域网)和公网(广域网)两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关网络访问只能先由私网侧发起,公网无法主动访问私网主机:私网IP通过PAT端口标记转换成公网IP,公网IP也可以通过PAT端口标记转换成私网IP,来实现交互. 二.服务环境部署 1.模拟实验需要: 虚拟机CentOS 7(网关)虚拟

linux 第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)

DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf vim /etc/named.rfc1912.zones 配置网卡 cd /var/named/ cp -a named.localhost dream.com.china cp -a named.localhost dream.com.american vim dream.com.china v

Linux上配置DNS分离解析

DNS分离解析原理:让外网解析内部服务器的时候解析到外网网关地址,内部主机解析内部服务器时获得一个内部地址.要求:一台Linux6.5 两台win7/10 并且仅主机模式具体配置如下:1.安装DNS包2修改配置文件 `vim /etc/named.rfc1912.zones ` //进入修改区域配置文件 cd /etc/named.conf `cd /var/named //区域数据配置文件路径 `cp -p named.localhost benet.com.zone.lan //保留属主属组

详解Linux 6&7上搭建DNS服务器

整个hteret大家庭中连接了数以亿计的服务器个人主机,其中大部分的网站,部件等服务器都使用了域名形式的地址,如www.google.com.mail 163.com 等.很显然这种地址形式要比使月01231317202103 7A 的户地址形式更加直观而且更容易被用户记住. DNS系统在网络中的 作用处是维护着一个地址数现连,其中记录了各种主机城名与户地址的技关系上内便光安户租序现供正向的地址解析服务正向解析根据域名查IP 地址即将指定的域名解析为相对应的P地址,域名的正向解 析是DNS服务器

DNS分离解析配置详解

DNS分离解析 1.DNS分离解析的作用 DNS分离解析即将内外网的相同域名解析为不同的IP地址.现实网络中一些电商网站为了让用户有更好的体验效果解析速度更快,就把来自不同运营商的用户解析到相对应的服务器这样就大大提升了访问速度. 2.配置前的准备工作 注:下面的所有配置全部是在centos7.x系统完成的. (1)准备三台机器,先按照下图配置好网卡IP地址. (2)关闭三台机器的selinux和防火墙,或者设置对应的防火墙规则开放53.80等端口. 3.配置DNS服务器 (1)安装DNS需要的

DNS分离解析——提高不同用户访问服务器的速度

在上篇文档介绍了DNS域名解析服务的作用,即向客户提供正向或反向的地址查询,但在实际应用中,因IP地址段问题.运营商不同问题,为了让用户有更好的体验,咱们还需要搭建DNS服务器实现分离解析. 今天我们来尝试在REHEL6.5上搭建DNS服务器,并开启两台Win7作为客户机,一台作为内网IP:192.168.100.100,一台作为外网IP:12.0.0.12,实现DNS分离解析. 安装bind软件包: [[email protected] ~]# rpm -ivh /mnt/Packages/b

linux-Centos7 DNS分离解析(广域网和区域网同一个域名不同的地址)

一.dns分离解析理解图和实验图 linux作为网关 才能做分离解析 外部广域网区内部局域网区域解析 根据不同区域的来访者,解析同一个域名得到不同的地址 NAT地址转换我的私有地址通过转换打个标签端口,转换成公网地址,我们自己的所有主机都用这个公网地址可以出去,但是回来怎么去区分给哪台主机PAT这个模式是地址转换的一种模式,端口~~ 1.我们是模拟实验,需要VM虚拟机,Centos7,两台主机一台win10 -1 作为广域网的主机, 一台win10 -2作为区域网的主机 2.给Centos7 加

DNS子域授权和DNS分离解析

实验环境: -------RHEL5.10(vmnet1)----------REL5.10(vmnet1) (192.168.100.10主域)       (192.168.100.20子域) [DNS子域授权配置] kvm_node2(子域)上面操作: [[email protected] ~]# yum  -y install bind   bind-chroot   caching-nameserver [[email protected] ~]# cd /var/named/chro

DNS分离解析

在Internet环境中,许多大型站点(新浪.网易.腾讯.搜狐--)会分别部署多台镜像服务器,不同 地区或不同ISP接入的用户会自动连接到离他们最近的镜像服务器.针对类似这样的需求,对于这些站点的权 威DNS服务器来说,如何根据客户机的来源不同而引导其访问正确的镜像服务器.需要用到"DNS分离解析", 有时候也成为智能解析.....下面就来了解下"DNS分离解析"的运作原理吧! 环境: 1.拥有静态IP . [[email protected]_4 ~]# ifco