IPV6改造中经常会遇到,网站使用了CDN,但是CDN厂商还不支持IPV6的情况,而AAAA、A、CNAME记录互相冲突,想实现IPV6用户得到AAAA记录,IPV4用户得到CNAME记录的需求。

解决方式是在域名权威服务器上根据源IP地址匹配不同的解析数据库。 但是问题的处理并不是那么简单,这种方式在内部DNS使用倒是没有问题,如果在全国互联网中使用会有问题,根据源地址指定不同的ZONE,按照DNS查询的步骤,源地址代表的是用户当地的递归查询服务器的互联网出口,并不是IPV6用户本身,所以要确保本地递归查询服务器拥有IPV6互联网出口。该方式也经常会用在多线路智能解析上。

但是如果用户侧是纯IPV4的网络,递归查询DNS是IPV6/IPV4双栈网络,那就会导致IPV4用户拿不到A记录。或者如果递归DNS是IPV4网络,而用户侧是IPV6网络,那IPV6用户也拿不到AAAA的记录。所以互联网中使用这种方案会存在问题。

权威服务器的配置,以BIND为例。

view "ipv4" {
match-clients { 0.0.0.0/; };
zone "vpandacloud.org" IN {
type master;
file "vpandacloud.org.zone";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
}; view "ipv6" {
match-clients { ::/; };
zone "vpandacloud.org" IN {
type master;
file "vpandacloud.org.ipv6.zone";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};

解析数据库配置:

-rw-r-----.  root  named   1月   : vpandacloud.org.ipv6.zone
-rw-r-----. root named 1月 : vpandacloud.org.zone
[root@controller01 named]# cat vpandacloud.org.ipv6.zone
$TTL 6h
vpandacloud.org. IN SOA dnsserver.vpandacloud.org. dnsserver2.vpandacloud.org (
; serial num
3h ; refresh time
1h ; retry time
1w ; expire time
1h ) ; negative time vpandacloud.org. IN NS dnsserver.vpandacloud.org. dnsserver.vpandacloud.org. IN A 10.0.0.11 ipv4.vpandacloud.org. IN A 1.1.1.1
cdn.vpandacloud.org. IN A 2.2.2.2 www.vpandacloud.org. IN A 3.3.3.3
www.vpandacloud.org. IN AAAA fd15:4ba5:5a2b:100b::56ff:fe3d:aa3c
===========================================================
[root@controller01 named]# cat vpandacloud.org.zone
$TTL 6h
vpandacloud.org. IN SOA dnsserver.vpandacloud.org. dnsserver2.vpandacloud.org (
; serial num
3h ; refresh time
1h ; retry time
1w ; expire time
1h ) ; negative time vpandacloud.org. IN NS dnsserver.vpandacloud.org. dnsserver.vpandacloud.org. IN A 10.0.0.11
ipv4.vpandacloud.org. IN A 8.8.8.8
cdn.vpandacloud.org. IN A 2.2.2.2 www.vpandacloud.org. IN CNAME cdn.vpandacloud.org.
[root@controller01 named]#

效果验证

DNS分离解析IPV6与IPV4用户的更多相关文章

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

    DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf ...

  2. Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置

    DNS主服务器配置(正向解析.反向解析) 正向解析:根据主机名查找对应的IP地址.当用户访问一个域名时(不考虑hosts文件等因素),正常情况会向指定的DNS主机发送递归查询请求反向解析:根据IP地址 ...

  3. Linux DNS分离解析与构建智能DNS服务器

    一 构建DNS分离解析 方法一 : [root@localhost ~]# vim /etc/named.conf [root@localhost ~]# cd /var/named/ [root@l ...

  4. Linux DNS 分离解析

    设置DNS分离解析可以对不同的客户端提供不同的域名解析记录.来自不同地址的客户机请求同一域名时,为其提供不同的解析结果. 安装 bind 包 [root@localhost ~]# yum insta ...

  5. Linux中DNS分离解析

    目录 一.分离解析概述 二.DNS分离解析实验 要求 实验步骤 一.分离解析概述 分离解析:同一个dns服务器,同一个域名情况下,不同网段进行访问会解析出不同的IP地址 分离解析的域名服务器实际也是主 ...

  6. DNS分离解析

    实验环境: 一台内网(client)1块网卡:一台网关(dns)2块网卡:一台外网1块网卡 DNS服务器开启路由转发 [root@localhost ~]# vi /etc/sysctl.conf n ...

  7. 十五.DNS子域授权、分离解析、缓存DNS服务器

    1.搭建基本DNS服务器 pc7: 1.1 安装软件包 ]# yum -y install bind-chroot bind bind         //域名服务包 bind-chroot  //提 ...

  8. linux dns子域授权 split分离解析 缓存dns服务器

    DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...

  9. DNS域名解析之分离解析

    分离解析配置 1.为网关服务器配置双网卡 , 在关机状态下再添加一块网卡,重启系统 ifconfig ens36 12.0.0.1/24 ifconfig 2.安装bind软件包 yum instal ...

随机推荐

  1. 多线程之synchronized

    Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患.比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据.今天我们就 ...

  2. Python中numpy.random.randn()与rand(),numpy.zeros、ones、eye

    转自:https://blog.csdn.net/u010758410/article/details/71799142

  3. asp.net core合并压缩资源文件(转载)

    在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www.cnb ...

  4. C#窗口皮肤制作(二):创建窗口库项目以及最小化、最大化、关闭button的实现

    非常高兴有朋友关注这篇博客,同一时候也十分抱歉让关注的朋友久等了,隔上一篇博客也有3个月没有更新,主要是因为3月份辞职,4月份初离职到期离开了北京高德,来到了上海张江.眼下新工作也处于熟悉其中,希望大 ...

  5. Linux Shell常用技巧(四)

    九.  awk实用功能: 和sed一样,awk也是逐行扫描文件的,从第一行到最后一行,寻找匹配特定模板的行,并在这些行上运行“选择”动作.如果一个模板没有指定动作,这些匹配的行就被显示在屏幕上.如果一 ...

  6. OpenGL ES画板

    一.概述 利用自定义顶点和片元着色器渲染,并且设置图片纹理颜色为画笔颜色 二.核心代码 - (void)renderLineFromPoint:(CGPoint)start toPoint:(CGPo ...

  7. Mac编译安装swfTools

    Mac编译安装swfTools Mac编译安装swfTools 下载源码 解压源码 安装依赖项 ./configure执行配置或者执行如下配置命令: 需要注意这里存在部分代码错误,需要修改解决后执行 ...

  8. 关于在MySql的decimal中犯的一个错-此篇文章目的在于警醒自己

    今天在运行一段程序的时候报了Out of range value错误,网上的解释是说这个值与数据库字段类型不匹配,然而程序里面设置的是BigDecimal,数据库设置的是decimal,没有多想就把s ...

  9. 学习笔记:启动对特定用户的会话的sql跟踪

    学习 Oracle性能诊断艺术 制作一个role: CREATE ROLE sql_trace; 然后再作一个数据库登录级别的触发器: CREATE OR REPLACE TRIGGER enable ...

  10. 查内存命令之free

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackgao@gmail. ...