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 ...
随机推荐
- [BJWC2011]最小三角形
嘟嘟嘟 这一看就是平面分治的题,所以就想办法往这上面去靠. 关键就是到\(mid\)点的限制距离是什么.就是对于当前区间,所有小于这个距离的点都选出来,参与更新最优解. 假设从左右区间中得到的最优解是 ...
- Java基础加强之并发(一)基本概念介绍
基本概念介绍 进程:它是内存中的一段独立的空间,可以负责当前应用程序的运行.当前这个进程负责调度当前程序中的所有运行细节. 线程:它是位于进程中,负责当前进程中的某个具备独立运行资格的空间. 进程是负 ...
- 【转】Spring Boot干货系列:(六)静态资源和拦截器处理
前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter. 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持 ...
- 安装framework 4.6.2的时报错 “无法建立到信任根颁发机构的证书链”
解决方案: 1.下载证书:MicrosoftRootCertificateAuthority2011.cer 2.开始→运行→MMC 3.文件→添加删除管理单元 (Ctrl+M) 4.证书→计算机账户 ...
- bat设置windows计划任务
设置定时任务 @echo off set NAME=dailybackup :: set DAY=MON,TUE,WED,THU,FRI,SAT,SUN set COMMAND=cscript.exe ...
- docker~dockertoolbox的加速器
对于在win10以下的操作系统上跑docker,我们可以安装docker toolbox工具,下载安装后第一次启动它会从远程github上下载最新版的boot2docker镜像文件,40多兆,但下载非 ...
- iOS开发-Object-C获取手机设备信息(UIDevice)
一.获取UiDevice设备信息 // 获取设备名称 NSString *name = [[UIDevice currentDevice] name]; // 获取设备系统名称 NSString *s ...
- Vue脚手架搭建步骤
Vue脚手架的搭建步骤 1. 去node.js官网下载node.js并安装,如下图: 2. 找到下载的文件并点击安装: 一直到finish完成.安装成功 3. 通过DOS密令打开: 输入: ...
- Web安全0002 - SQL注入 - 注入流程
注:本文是学习网易Web安全进阶课的笔记,特此声明. 一.信息搜集 — 数据库类型 - 报错信息.特有语句— 数据库版本(@@version,$version)— 数据库用户— 判断数据库权限 二.数 ...
- 2017-2018-1 20155306 《信息安全系统设计基础》嵌入式C语言———提取设置时分秒
2017-2018-1 20155306 <信息安全系统设计基础>嵌入式C语言---提取设置时分秒 要求:根据下图,完成对时分秒的设置和提取. 示例及思路分析: 思路分析:以分钟为例,根据 ...