搭建ipv6隧道服务器(ipv6隧道技术配置)

【IPv6】使用tunnelbroker开启IPv6隧道

参考:

本文以Ubuntu系统的腾讯云VPS为测试机。ECS 里面的系统配置,由于腾讯云的网络不支持IPv6,所以他官方镜像里面相关的设置都是被禁用了的,想要使用 IPv6 就要做一些修改。首先修改 /etc/sysctl.conf ,将其中两条禁用IPv6的设置更改为0:

1、登录 注册,然后在邮件里认证。

2、Create Regular Tunnel

IPv4 Endpoint (Your side):填写你的IPV4。

一般服务器都有ping功能,路由器可能关闭了ICMP,需要开通。否则会报错:

IP is not ICMP pingable. Please make sure ICMP is not blocked. If you are blocking ICMP, please allow 66.220.2.74 through your firewall.

3、隧道服务器,默认选的是 Los Angeles, CA, US

4、点击Create Tunnel

可以看到自己刚才输入的IPV4,及IPV6。

5、点击Example Configurations,选择自己的OS。配置后重启!即可使用。测试如下:

IPv6协议隧道方法的建隧道方法

将 IPv6封装在IPv4中的过程与其他协议封装相似:隧道一端的节点把IPv6数据报作为要发送给隧道另一端节点的IPv4包中的净荷数据,这样就产生了包含IPv6数据报的IPv4数据报流。在图1 2 - 1中,节点A和节点B都是只支持IPv6的节点。如果节点A要向B发送包,A只是简单地把IPv6头的目的地址设为B的IPv6地址,然后传递给路由器X;X对IPv6包进行封装,然后将IPv4头的目的地址设为路由器Y的IPv4地址;若路由器Y收到此IPv4包,则首先拆包,如果发现被封装的IPv6包是发给节点B的,Y就将此包正确地转发给B。

与IPv4兼容的IPv6地址

刚刚介绍了包含IPv4地址的IPv6地址。这些地址有两类: IPv4兼容地址和IPv4映射地址。IPv4兼容地址是指在1 2 8位地址中,高阶的9 6位全部为0,而最后的3 2位包含IPv4地址。能够自动将IPv6包以隧道方式在IPv4网络中传送的IPv4 / IPv6节点将使用这些地址。

双栈节点则对于IPv4包和IPv6包都使用相同的地址。只支持IPv4的节点向双栈节点发送包时,使用双栈节点的IPv4地址;而只支持IPv6的节点则使用双栈节点的IPv6地址,即将原IPv4地址填充0后成为1 2 8位。总之,这类节点可以作为路由器链接IPv6网络,采用自动隧道方式穿越IPv4网络。该路由器从本地IPv6网络接收IPv6包,将这些包封装在IPv4包中,然后使用IPv4兼容地址发送给IPv4网络另一端的另一个双栈路由器。如此继续,封装的包将通过IPv4网络群转发,直至到达隧道另一端的双栈路由器,由该路由器对IPv4包拆包,释放出IPv6包并转发给本地的IPv6主机。

配置隧道和自动隧道

配置隧道和自动隧道的主要区别在于:只有执行隧道功能的节点的IPv6地址是IPv4兼容地址时,自动隧道才是可行的。在为执行隧道功能的节点建立I P地址时,自动隧道方法无需进行配置;而配置隧道方法则要求隧道末端节点使用其他机制来获得其IPv4地址,例如采用D H C P、人工配置或其他IPv4的配置机制。

如何安装IPV6隧道

主要思想是将一台电脑设置为“服务器”,安装虚拟路由,并将原来的路由改为“交换机”,其他电脑设置成“客户端”,以达到多机单IP同时使用IPv6网络的目的。配置方法分以下4个步骤:

在每台机器上安装IPv6协议;

以Windows XP为例,运行中输入“cmd”,调出命令提示符,键入“ipv6 install”回车即可。

修改路由器;

设置主机;

设置分机。

为树莓派添加he的ipv6隧道

这次安装he隧道的过程真的是充满了艰辛,来来回回折腾了好几天,各种查资料和发邮件发帖求教,相当心累了。

先大概说下我对he隧道的理解吧,这是一个6in4的协议,即把ipv6数据包封装在ipv4包里进行通信。流程简述如下:

要完成这个过程需要以下几个地址都是可访问的:

至于最后客户端的ipv6地址,用途是给外网的ipv6服务器做身份标识,比如在test-ipv6.com的测试中,展示的本机ipv6地址就是这个client ipv6 address。

说完大致的原理,来看下给树莓派创建he隧道的过程。

先保证自己有一个可ping通的公网ip,详情可以咨询自己的运营商。

登录he的官网: tunnelbroker.net,注册账号啥的就不说了,直接点击创建隧道,这里有两种,我们选第一个regular tunnel就可以了。然后是填公网ip和服务器地址,事先可以测试一下各个服务器的延迟,具体教程很多这里就不重复了。

然后是重点:隧道创建完成后一定要先确认server ipv6 address是外网可Ping通的,不然结局就是我们本地可以发送ipv6数据到服务器,但是收不到任何响应,因为服务器的ipv6不通就表示外网的服务进不来。

推荐一个测试网站: 。

这里以ipv6.google.com为例,把自己的server ipv6 address输进去点击Ping now之后就能看到结果,基本和普通的ping测试没啥区别。

如果自己的server ipv6 address没法ping通,要么发邮件到he的开发团队让他们帮忙看,要么自己再向运营商换个公网ip然后重新创建个tunnel,不过一般重启下光猫就能有个新的公网ip了。

我的光猫只给了一个千兆口和一个百兆口,但家里的设备较多,又想让它们都能用满我200M宽带的全部带宽,就接了一个千兆路由器。但这里要注意的是,he隧道虽然可以支持nat穿透,但为了避免麻烦,最好只有一层穿透,即内网都在同一个网关后面,这就需要把光猫出来的网线插到路由器的LAN口,让路由器只充当一个交换机的角色。

所以我的网络连接就是,光猫通过光纤接外网,把千兆LAN口接到路由器的LAN口上,其他所有的设备都接到路由器上,不管有线还是无线(有线当然也只能接路由器的LAN口哈)。这个连接下,我所有的设备都同处一个网段,后期方便使用局域网的文件共享服务。

接着登陆光猫的管理界面,找到树莓派,复制其mac地址。

然后找到光猫对应的静态ip设置界面,将该mac地址与ip绑定。

当然设置静态ip的事也可以通过树莓派自身来完成,不过我觉得相比而言更麻烦一点,就直接在光猫统一管理了。

补充一点,如果光猫有IPV6 DHCP服务,最好让其处于默认状态,不确定的设置前可以先重置一下光猫。我之前不小心设置了一下忘了还原,就也一直连接不上。

在局域网内,用其他电脑ssh登录进树莓派,当然如果你的树莓派本身也接了显示器键鼠啥的用它自己也行。

在tunnelbroker的页面,打开刚刚创建的tunnel,在example configurations里选择Debian/Ubuntu,然后复制里面的内容。(假设里用的就是树莓派的默认系统raspbian)

编辑树莓派的/etc/network/interfaces文件,把刚刚复制的内容粘贴进去,同时把local后面的地址改成内网刚刚配的静态ip。

我的配置文件如下,已隐去ipv6地址,实际中替换为自己的真实地址即可

保存文件,重启网络,可以用命令 sudo system networking restart,当然也可以直接重启树莓派。

重启之后用ifconfig看看,如果有he-ipv6这个隧道就说明创建成功了。

最直接的方式就是用ping6这个命令看看通不通。

然后可以用第1步提到的测试网站看看自己的client ipv6 address能不能通,以保证在之后的访问中其他网站的服务器可以识别自己的身份。

如果上面没有ping通的话,可以再用ifconifg看看各个接口的信息,注意he-ipv6那部分,有两个重要字段,即RX packets 和 TX packets,下面简称RX和TX。

一般现代的操作系统不管是树莓派、路由器、还是光猫,它们都是支持ipv6的,包括这种6in4协议,如果发现自己连不通可以试试重装系统,恢复出厂设置等方式。

由于ipv6是公网地址,直接暴露在网上还是挺危险的,可以考虑加一些防火墙,详情可以参考其他的文章。

如何通过路由器部署IPv6环境

方法/步骤

1

测试是否具备公网IPv4地址的接入环境,测试方法如下:

申请“企业隧道配置”

测试具备公网IPv4地址的接入环境后,可以开始申请“企业隧道配置”。拥有固定公网IPv4地址可直接在6plat网站申请“企业隧道配置”;如果没有固定公网IPv4地址可以先申请DDNS服务(花生壳等),然后与openwrt路由器绑定,再以DDNS域名进行“企业隧道配置”的申请。具体申请方式如下:

Openwrt 路由器

我的路由器采用的是WNDR3800,刷的是基于openwrt15.05.1的明月版本。(大家也可以选择其它的路由器和固件)

明月固件下载地址见下图:

建立6in4隧道-1

1. 刷好明月固件后,我们可以用此路由器来搭建“6in4”隧道来实现IPv6的接入了。首先通过WEB方式登陆刷了明月固件的路由器,用户名和密码都为root,选择左侧菜单栏“网络”中的“接口”,点击“添加新接口”

2. 新接口的名称“6plat”,新接口的协议“IPv6-in-IPv4(RFC4213)”,点击“提交”

3. 选择左侧菜单栏“网络”中“接口”,点击新建立的“6plat”,进入“基本设置”页面。“远程IPv4地址”为6plat端的公网IP地址“118.145.7.173”,“本地IPv6地址”为邮件申请企业隧道配置后,反馈邮件分配的用于互联的IPv6地址,“IPv6路由前缀”为刚刚填写的“本地IPv6地址”的前缀,例如本地IPv6地址为“240c:f:a108::2/64”,则IPv6路由前缀则为“240c:f:a108::”。以上全部填写完毕后,点击右下角“保存应用”即可。

添加IPv6的默认路由

建立6in4隧道成功后,开始添加IPv6的默认路由。点击左侧菜单栏的“静态路由”,进入设置界面(如下图),网络接口选择“6plat”,对象填写为“::/0”,

IPv6网关为6Plat端的IPv6互联地址(在企业隧道申请反馈邮件的配置手册中有)。以上填写完毕后,点击右下角的“保存与应用”。

设置IPv6 DHCP和DNS

选择左侧菜单栏“网络”中“接口”,点击“LAN”进入设置页面,在DHCP服务器的“IPv6设置”中,将“广播的DNS服务器”设置为“240c::6666”(注:240c::6666为IPv6防污染公共DNS,240C::6644为6Plat 6to4公共DNS。)

IPv6 ULA前缀配置

选择左侧菜单栏“网络”中“接口”,将IPv6 ULA前缀设置为“240c:f:a108:xx:2/64”,其中,xx为自行设定值。设置完毕后,点击右下角“保存与应用”。

进行防火墙设置

选择左侧菜单栏“网络”,将“入站数据”、“出站数据”、“转发”三项均设置为“接受”。设置完毕后,点击右下角“保存与应用”。

DDNS设置(有固定公网地址可忽略此步骤)

1. 如果您有固定的公网IPv4地址,您可以直接进行下一步骤了。

如果没有固定公网IPv4地址,要进行DDNS设置。DDNS要先到DDNS网站进行注册,我这里是在3322.org进行注册的。

注册好DDNS账号之后,选择左侧菜单栏“服务”中的“动态DNS”,勾选“启用”,点击“修改”。

2. 在“基础设置”中,“DDNS服务提供商[IPv4]”为“3322.org”,“主机名/域名”为“6in4.f3322.net”,“用户名”和“密码”为DDNS服务提供商网站中域名的“更新密码”的用户名和密码。以上设置完毕后点击右下角“保存与应用”。

3. 在“高级设置”中,“IP地址来源[IPv4]”为“网络接口”,“网络接口”为拨号上网的那个接口。以上设置完毕后点击右下角“保存与应用”。

进行连通性测试

都设置好之后可以在接口界面看到有流量出现,在PC机上进行连通性测试。

哈哈,IPv6网络已经通了,可以畅游IPv6的世界了。此时处于内网环境的所有客户端(PC、Pad、Phone等)都可以接入v6环境。如果在路由器上关闭v4 DHCP,则内网相当于纯v6环境,可以访问支持v6的网络资源。

未经允许不得转载:便宜VPS网 » 搭建ipv6隧道服务器(ipv6隧道技术配置)