ECS实战之IPv6隧道配置

简介:

引言:新华社北京11月26日电 近日,中共中央办公厅、国务院办公厅印发了《推进互联网协议第六版(IPv6)规模部署行动计划》,并发出通知,要求各地区各部门结合实际认真贯彻落实。计划指出到2018年末国内IPv6活跃用户数要达到2亿,2020年末达到5亿,2025年末中国IPv6规模要达到世界第一。

简介

网际协议第6版(英文:Internet Protocol version 6,缩写:IPv6)是网际协议(IP)的最新版本,用作互联网的网络层协议,用它来取代IPv4主要是为了解决IPv4地址枯竭问题,不过它也在其他很多方面对IPv4有所改进。IPv6诞生于1999年,设计目的是取代IPv4。其最大的优点就是设计地址长度达128bit,可以提供2的128次方个IP地址,近乎无穷的IP地址让IPv6能容得下海量设备,这将与5G等技术一起,支撑移动互联网、物联网、工业互联网、云计算、大数据、人工智能等新兴业态的快速发展。

入门

好了好了,不扯淡了。总结起来就是一个字:。2011年2月3日,全球互联网数字分配机构(IANA)宣布 ,全球IPv4地址池已经耗尽。随着云计算、大数据、工业4.0、物联网的发展,原有的IPV4地址远远不够各大领域的大拿瓜分,所以IPv6应运而生。
目前IPv6的过渡方案有四种(不要问我怎么知道,我就是网上找的),今天我们主要来讲下使用Tunnel(隧道)将IPv6数据包进行封装,通过现有的IPv4网络进行传输,从而达到接入IPv6网络的目的。国内大部分IDC提供商不支持IPv6,据我所知国内提供IPv6的主机商只有景安,这里不做过多介绍。
## 开始
网上一般推荐的都是Hurricane Electric(免费,而且支持的OS多)。本文以Hurricane Electric为例,展开实践。虽然说云栖社区已经有发文说阿里云要支持IPv6但是等出来还是会有一个漫长的周期。比如说迫于IOS应用上架,迫于想折腾体验下IPv6的快感。

系统:CentOS Linux release 7.2.1511 (Core)
内核:Linux g3p-net 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
网络环境:阿里云VPC
Tunnel提供商:Hurricane Electric

注册

IPV6隧道代理注册地址:Hurricane Electric
注册完后需要登录邮箱验证下邮件信息,我这里用的是Gmail和GV,没发现有异常的地方。

创建

点击Create Regular Tunnel创建Tunnel,IPv4 Endpoint填写ECS外网IPv4地址,选择一个Tunnel Servers进行愉快的下一步,怀着对香港这片土地的热爱,我选择了Tokyo,JP(其实是因为Ping值)。
下图可知,其实选择的余地挺大的,根据自己的实际情况选择相对应的Servers

出现下图时,说明创建成功接下来我们就开始在ECS上进行相对应的配置

配置

打开Example Configurations查看对应相关OS的实例命令,我这里因为是Centos所以采用的是Linux-net-tools
支持的系统

#修改内核参数
[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.sit0.disable_ipv6 = 0
net.ipv6.conf.sit1.disable_ipv6 = 0
[root@g3p-net ~]# ifconfig sit0 up
[root@g3p-net ~]# ifconfig sit0 inet6 tunnel ::74.82.46.6
[root@g3p-net ~]# ifconfig sit1 up
[root@g3p-net ~]# ifconfig sit1 inet6 add 2001:470:23:130f::2/64
[root@g3p-net ~]# route -A inet6 add ::/0 dev sit1
[root@g3p-net ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:02:b1:5b brd ff:ff:ff:ff:ff:ff
    inet 172.19.151.94/20 brd 172.19.159.255 scope global eth0
      valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe02:b15b/64 scope link 
      valid_lft forever preferred_lft forever
3: sit0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN qlen 1
    link/sit 0.0.0.0 brd 0.0.0.0
    inet6 ::172.19.151.94/96 scope global 
      valid_lft forever preferred_lft forever
    inet6 ::127.0.0.1/96 scope host 
      valid_lft forever preferred_lft forever
8: sit1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN qlen 1
    link/sit 0.0.0.0 peer 74.82.46.6
    inet6 2001:470:23:130f::2/64 scope global 
      valid_lft forever preferred_lft forever
    inet6 fe80::ac13:975e/64 scope link 
      valid_lft forever preferred_lft forever

验证

[root@g3p-net ~]# ping -6 ipv6.google.com
PING ipv6.google.com(tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e)) 56 data bytes
64 bytes from tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e): icmp_seq=1 ttl=54 time=331 ms
64 bytes from tsa03s02-in-x0e.1e100.net (2404:6800:4008:803::200e): icmp_seq=2 ttl=54 time=331 ms
^C
--- ipv6.google.com ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2002ms
rtt min/avg/max/mdev = 331.613/331.707/331.801/0.094 ms

支持的系统

Apple Airport  
Check Point R77 GAiA  
Cisco IOS  
CoyotePoint Equalizer  
Debian/Ubuntu  
Fortigate 4.x-5.x  
FreeBSD < 4.4  
FreeBSD >= 4.4  
JunOS  
JunOS ES  
Linux-net-tools  
Linux-route2  
Mac OS X  
Mikrotik  
NetBSD  
OpenBSD  
OpenWRT Backfire 10.03.1  
OpenWRT Barrier Breaker  
pfSense  
ScreenOS 6.2.0r1.0  
Solaris  
Vyatta / Ubiquiti EdgeMAX  
Windows 10  
Windows 2000/XP  
Windows Vista/2008/7/8  

错误

[root@g3p.net~]# ifconfig sit1 inet6 add 2001:470:23:130f::2/64
SIOCSIFADDR: Permission denied
[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.sit0.disable_ipv6 = 1
net.ipv6.conf.sit1.disable_ipv6 = 1

修改/etc/sysctl.conf中的disable_ipv6 参数为0

[root@g3p.net~]# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.sit0.disable_ipv6 = 0
net.ipv6.conf.sit1.disable_ipv6 = 0

思考

如果用Linux-net-tools、Linux-route2的话有一个问题,那就是重启会丢失相关配置,暂时没考虑这么多,所以这篇文章暂时就到这里啦!

参考

  1. https://zh.wikipedia.org/wiki/IPv6

~~这是不起眼的分割线~~~~
简单的介绍就到这里了,如果你有什么疑问可以直接联系我。文章中如有错误之处还请多多指教。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
6天前
|
机器学习/深度学习 弹性计算 运维
云计算系列之阿里云ECS服务器管理实战
本文档介绍了阿里云ECS(Elastic Compute Service)的基本概念、实例管理、磁盘操作、快照与镜像功能及其应用场景,最后通过具体案例解析ECS的实际应用。ECS是阿里云提供的高效、可靠的云计算服务,支持多种业务需求,如Web应用、高并发网站、数据库等,帮助企业快速构建稳定安全的应用,提升运维效率,降低IT成本。文档还详细说明了ECS实例的创建方式、连接方法及日常管理操作,帮助用户更好地利用ECS服务。
33 2
云计算系列之阿里云ECS服务器管理实战
|
13天前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
53 22
|
7天前
|
NoSQL Linux PHP
|
13天前
|
JavaScript 前端开发 Java
vue2知识点:vue-cli脚手架配置代理服务器
vue2知识点:vue-cli脚手架配置代理服务器
41 7
|
13天前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
44 4
|
17天前
|
安全 Linux 数据安全/隐私保护
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第17天】在RHEL环境下部署Subversion服务器包括安装Subversion、创建和配置版本库、启动服务器、客户端连接以及备份与恢复等步骤。通过这些步骤,可确保服务器的安全性和稳定性,满足版本控制需求。
|
17天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
128 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
14天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
|
14天前
|
弹性计算 安全 网络协议
如何创建VPC并配置安全组以保护您的阿里云服务器
如何创建VPC并配置安全组以保护您的阿里云服务器