Tayga NAT64 IPv6与IPv4互访解决方案

NAT64与DNS64是一套解决方案,实现是IPv6网络过渡初期的协议转换与互访,使纯IPv6网络下的用户直接访问现有IPv4 Internet资源,而不修改两端的任何配置。以下通过单独部署一台Centos服务器允许Tayga服务,使得IPv6可以访问IPv4网络。
解决方案拓扑图如下:

部署拓扑图的工作原理图:

测试配置:
-----------------------------------------
setup1:基本环境配置:

[root@tayga ~]# systemctl stop firewalld
[root@tayga ~]# setenforce 0
[root@tayga ~]# yum -y install epel-release
[root@tayga ~]# yum makecache

setup2:配置接口地址:

[root@tayga ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
IPV6ADDR=fd00:2020:2019::1/64           #配置一个IPv6地址用于IPv6流量进入
NAME="ens33"
UUID="6329b148-f848-41bf-a8a7-3581cf62d334"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.106"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="114.114.114.114"
IPV6_PRIVACY="no"

NAT64配置(tayga):

setup3:安装tayga服务和修改配置文件:

[root@tayga ~]# yum install tayga -y
[root@tayga ~]# cat /etc/tayga/default.conf  | grep -v ^# | grep -v ^$   #默认配置,我只修改了前缀。
tun-device nat64
ipv4-addr 192.168.255.1
prefix fd00:2020::/96
dynamic-pool 192.168.255.0/24
data-dir /var/lib/tayga/default

setup4:给接口nat64配置ipv4和ipv6地址:

[root@tayga ~]# systemctl start tayga@default
[root@tayga ~]# ip addr add 2020:2020::1/96 dev nat64      #地址任意
[root@tayga ~]# ip addr add 192.168.255.1/24 dev nat64
[root@tayga ~]# ip link set nat64 up

setup5:设置dynamic-pool中的地址代理上网:

[root@tayga ~]# yum install iptables-services -y
[root@tayga ~]# iptables -t nat -A  POSTROUTING -s 192.168.255.0/24 -d 0.0.0.0/0 -j SNAT  --to 192.168.1.106
[root@tayga ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@tayga ~]# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding
[root@tayga ~]# ping -I 192.168.255.1 114.114.114.114
PING 114.114.114.114 (114.114.114.114) from 192.168.255.1 : 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=77 time=34.1 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=67 time=33.3 ms
64 bytes from 114.114.114.114: icmp_seq=3 ttl=70 time=32.1 ms
64 bytes from 114.114.114.114: icmp_seq=4 ttl=72 time=35.7 ms
^C
--- 114.114.114.114 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 32.160/33.850/35.739/1.313 ms

setup6:设置ipv6前缀和动态地址池地址指向nat64网卡:

[root@tayga ~]# route add -net 192.168.255.0/24 dev nat64    #注意:若nat64接口ipv4地址非192.168.255.0/24的地址需要配置
[root@tayga ~]# ip route add fd00:2020::/96 dev nat64

用纯ipv6机器测试,测试成功:

DNS64配置(bind):

[root@tayga ~]# yum install bind -y      #安装服务并修改配置文件如下
[root@tayga ~]# vim /etc/named.conf
options {listen-on port 53 { 127.0.0.1; };listen-on-v6 port 53 { fd00:2020:2019::1;::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";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { any; };                           #允许所有可查询#设置DNS转发器forwarders  { 202.96.134.133;114.114.114.114; };#下面是DNS64配置项、IPv6前缀、和允许的客户端范围dns64 fd00:2020::/96 {clients { fd00:2020:2019::/64;}; // mapped { !10/8;172.16/12; any; };break-dnssec yes;//exclude { 2020:2019:2018::/96; };suffix :: ;};recursion yes;#安全性设置nodnssec-enable no;dnssec-validation no;/* Path to ISC DLV key */bindkeys-file "/etc/named.root.key";managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};
[root@tayga ~]# systemctl start named

测试NAT64解析正常:

----------------------------------------
搭建完毕后,测试可以正常访问大多数网站和观看视频,只有部分网站有ipv6地址的可能异常,这跟DNS64解析回来的给的IPV6地址有关系。
----------------------------------------

解决部分网站访问异常:

支持IPv6网站域名会解析如下,主要由于ipv6主机无法访问这些ipv6地址,所以会有些问题。

通过新加一台DNS服务器过滤掉域名解析中的对应的IPV6地址(搭建过程略),named.conf配置如下:

[root@localhost ~]# vim /etc/named.conf
options {listen-on port 53 { 192.168.1.107;127.0.0.1; };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";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { any; };forwarders  { 114.114.114.114; };recursion yes;dnssec-enable no;dnssec-validation no;filter-aaaa-on-v4 yes;        #过滤ipv4客户端解析中的ipv6地址//filter-aaaa-on-v6 yes;//filter-aaaa-on-v4 break-dnssec;//filter-aaaa-on-v6 break-dnssec;/* Path to ISC DLV key */bindkeys-file "/etc/named.root.key";managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};

然后将192.168.1.106的DNS解析指向192.168.1.107即可,

   forwarders  { 192.168.1.107; };

再次测试发现只有ipv4地址返回:

-------------------------------------------------
目前暂时可以用这种方式实现过滤。至此,你的纯IPv6客户端可以访问任何IPv4地址及服务。

Tayga NAT64 IPv6与IPv4互访解决方案相关推荐

  1. 天津大学免费上网,IPV4及IPV6同时共享的解决方案

    首先希望大家了解咱们用的无线路由器的2个端口,WAN与LAN.一般买来的路由器WAN口只有一个,LAN口有4个.通过无线网络对路由器的连接是连接到LAN口的.为了便于理解,我把无线路由器标识成Figu ...

  2. IPv6 与 IPv4现状

    IPv6 与 IPv4现状 一.概述 (1) IPv4可提供bai4,294,967,296个地址,IPv6将原来的32位地址空间增大du到128位,数目是zhi2的128次方.能够对地球上每平方米d ...

  3. Ipv6上Ipv4的方法

    在纯IPv6网络的用户如果需要访问IPv4的网络资源时,一般需要通过第三方软件来实现(Veno\六飞\IPV6VPN等),而现在大家可直接通过支持NAT64/DNS64的服务器,来实现IPv6与IPv ...

  4. 为什么要用IPv6取代IPv4呢

    都2021年了,我国IPV6普及现状怎么样了? IPv6(互联网协议第6版)是由互联网工程任务组(IETF)设计用于替代IPv4的下一代IP协议,IPv6是网际协议的最新版本.IPv6的出现和普及有效 ...

  5. IPv6与IPv4,IPv6普及难的原因

    原文参见 http://g.pconline.com.cn/671/6712896_all.html#content_page_1     IPv6这个名字相信大家都很熟悉了,近年来IPv6的消息报道 ...

  6. 为什么说IPv6比IPv4更为安全

    为什么80%的码农都做不了架构师?>>> IPv6的时代已然来临,相信每个人在迎接它的同时也已经做好了面对新型安全问题的准备.终于,IPv6分布式拒绝服务攻击首度出现.IPv4继续服 ...

  7. 4.4 IPv6(诞生原因、数据报格式、与IPv4的不同、地址表现形式、基本地址类型、IPv6与IPv4的过渡策略)

    文章目录 0.思维导图 1.为什么要有IPV6? 2.IPV6的数据报格式 3.IPV6与IPV4的比较 4.IPV6的地址表示形式 5.IPV6基本地址类型 6.IPV6向IPV4过滤的策略 0.思 ...

  8. CCIE理论-第十篇-IPV6 VS IPV4(带你们看看U.S.A的ISP的设备)

    CCIE理论-第十篇-IPV6 VS IPV4(带你们看看U.S.A的ISP的设备) IPV4缺点 这个前面一章讲过了,这里再讲一次 https://www.potaroo.net/ 这是一个统计的机 ...

  9. ipv6头部格式 c语言,2.2.1 IPv6和IPv4基本头部格式

    2.2  IPv6报文 2.2.1  IPv6和IPv4基本头部格式 根据IPv4报文中存在的问题,IPv6报文头格式与IPv4相比进行了一些改动.IPv6头部结构遵循以下新规则: 基本头部的固定长度 ...

  10. ipv6的表示、ipv6与ipv4之间的转换、ipv6地址大小判定

    本文对初步接触到ipv6时,常遇到的三个疑问(ipv6的表示.ipv6与ipv4之间的转换.ipv6地址大小判定)进行了简单介绍. ipv6的表示 关于单个ipv6地址的基本表示有:标准表示.压缩表示 ...

最新文章

  1. 均方差误差函数(使用函数方式实现MSE计算)
  2. python从入门到精通书-100G Python从入门到精通全套资料!
  3. Orecle基本概述(2)
  4. Python实现与LeetCode--堆
  5. 黎曼猜想的1/2和质子自旋的1/2会不会是一个数?
  6. MariaDB配置慢日志
  7. [转载] 武汉天河机场大巴时刻及路线
  8. windows python安装opencv_关于OpenCV-Python安装(缺少ffmpeg):OpenCV-Python安装(缺少ffmpeg)-Windows...
  9. python-jieba分词模块
  10. idea 添加servlet依赖_详解如何使用IntelliJ IDEA新建一个Servlet项目
  11. C++传递数组给函数
  12. uniapp 微信小程序下载文件 完整方法
  13. 关于Ubuntu下firefox无法观看视频的解决
  14. qqxml卡片 php代码,qqxml卡
  15. Microsoft CRM 2016 IFD配置
  16. 李宏毅(机器学习)机器学习概述+线性回归案例分析
  17. 棋盘覆盖问题 (分治)
  18. mysql 分组统计 及 统计结果横向展示
  19. 什么是光端机,什么是PDH光端机,什么是SDH,什么是SPDH
  20. xman的思维导图快捷键_macz技巧分享:思维导图XMind快捷键汇总

热门文章

  1. 计算机声卡视频无法安装驱动程序,电脑声卡驱动怎么安装,教你三步搞定声卡驱动...
  2. 图像坐标球面投影_从球面到平面的投影
  3. 第二讲:PN结与二极管的特性
  4. http server response 一览
  5. 日版(SoftBank, AU) iPhone5回国使用攻略调查
  6. Vba实现工作薄和工作表密码破解
  7. JavaScript基础学习笔记
  8. 定义客户类(Customer): 1,客户类的属性包括:姓名、年龄、电话、金钱数量、账号、密码; 2,方法包括:购买商品、付款、显示自己的信息。 3,创建测试类,在main方法中使用客户类创建两个客户
  9. freyja 可能会加入分库、分表功能
  10. python迅雷下载任务出错_迅雷任务出错是怎么回事_迅雷下载一直提示任务出错解决方法-系统城...