DNS分离解析IPV6与IPV4用户

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用户的更多相关文章
- linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)
DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf ...
- Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置
DNS主服务器配置(正向解析.反向解析) 正向解析:根据主机名查找对应的IP地址.当用户访问一个域名时(不考虑hosts文件等因素),正常情况会向指定的DNS主机发送递归查询请求反向解析:根据IP地址 ...
- Linux DNS分离解析与构建智能DNS服务器
一 构建DNS分离解析 方法一 : [root@localhost ~]# vim /etc/named.conf [root@localhost ~]# cd /var/named/ [root@l ...
- Linux DNS 分离解析
设置DNS分离解析可以对不同的客户端提供不同的域名解析记录.来自不同地址的客户机请求同一域名时,为其提供不同的解析结果. 安装 bind 包 [root@localhost ~]# yum insta ...
- Linux中DNS分离解析
目录 一.分离解析概述 二.DNS分离解析实验 要求 实验步骤 一.分离解析概述 分离解析:同一个dns服务器,同一个域名情况下,不同网段进行访问会解析出不同的IP地址 分离解析的域名服务器实际也是主 ...
- DNS分离解析
实验环境: 一台内网(client)1块网卡:一台网关(dns)2块网卡:一台外网1块网卡 DNS服务器开启路由转发 [root@localhost ~]# vi /etc/sysctl.conf n ...
- 十五.DNS子域授权、分离解析、缓存DNS服务器
1.搭建基本DNS服务器 pc7: 1.1 安装软件包 ]# yum -y install bind-chroot bind bind //域名服务包 bind-chroot //提 ...
- linux dns子域授权 split分离解析 缓存dns服务器
DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...
- DNS域名解析之分离解析
分离解析配置 1.为网关服务器配置双网卡 , 在关机状态下再添加一块网卡,重启系统 ifconfig ens36 12.0.0.1/24 ifconfig 2.安装bind软件包 yum instal ...
随机推荐
- 1251. 序列终结者【平衡树-splay】
Description 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列 要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这 ...
- Day3 分支结构和循环结构
流程控制分类 顺序语句:从上到下按顺序依次执行 分支语句:根据条件不同,执行不同语句 循环语句:重复执行某些动作 单分支条件判断语句 条件语句 只是单独的判断条件是否成立 if选择结构是根据条件判断之 ...
- 调试cnn-Sentence-Classifier遇到的问题
运行train文件训练模型出现了以下错误: train文件在app文件目录下: raw_vectors.txt文件则在cnn-Sentence-Classifier目录下: 这是train代码调用re ...
- salt常用命令(一)
查看模块包含哪些函数 salt 'node' sys.list_functions test 查看函数的用法 salt 'node' sys.doc test.echo 使用模块中的函数 salt ' ...
- Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding and MainAct
Go to your "some_layout.xml" Click right -> Refactor -> Rename (or SHIFT + F6) Renam ...
- week3编程作业: Logistic Regression中一些难点的解读
%% ============ Part : Compute Cost and Gradient ============ % In this part of the exercise, you wi ...
- LeetCode 队列与BFS--岛屿的数量
tags = ["leetcode","队列","BFS","C++","Go"] 岛屿的个数 给定 ...
- 4.Operators-操作符(Dart中文文档)
Dart有如下操作符: Description Operator unary postfix expr++ expr-- () [] . ?. unary prefix -expr !expr ~ex ...
- JavaWeb基础—过滤器Filter
一.概念 JavaWeb三大组件之一(组件都有一个特性,需要在web.xml中配置) 过滤器:会在一组资源(jsp servlet等)的前面执行,可以让请求得到目标资源,也可以终止请求,不再继续 也就 ...
- tkinter的GUI设计:界面与逻辑分离(三)-- 多页面
知识点: 使用 tkinter.Frame.tkraise() 函数去提升当前 tkinter.Frame 的 z 轴顺序,使得多个 tkinter.Frame 的可见性得以切换 本文基于:win7 ...