【IPv6隧道】用HE的TunnelBroker给服务器添加IPv6

发布于 / 信息应用 / 29 条评论

最近入手了一个PacificRack的VPS。说起这家,这个名字上一次出现都是差不多十年前了,后面就变成了QuadraNet。这次重新拿出来突然开始搞廉价VPS,真是让人摸不着头脑。当然他家就是QuadraNet机房,搬瓦工的DC3也在这里,QN的体量也不算小了,能保证资源,但是不得不说,他们搞VPS的技术挺烂的。

闲话不多说,博主一直想搞一个差不多能用的IPv4+IPv6的双栈VPS,然而一直没找到合适的emmmmm……Tunnel不算是新鲜玩意了,但是以前一直觉得比较麻烦,所以根本就没考虑过,前几天朋友说很简单,于是尝试了一下。


一、准备工作

推荐使用Ubuntu16+/CentOS7+/Debian9+,因为它们系统默认开启了IPv6。此外VPS需要具有公网IP,可以ICMP Ping通(NAT的话,同一个IP只能创建一个)。

随后可以去官网(https://tunnelbroker.net)注册一个账户,免费帐户有五个Tunnel的配额。点击Create Regular Tunnel,上面填上你的IP,然后选择你的HE的隧道连接节点(这个节点你选个离你近的就行了,从VPS过去Ping值低就可以)。另外HE的IPv6到国内哪里都不快,任何区域都不适合国内的访问。


二、配置网卡

首先用ifconfig看一下你的IP地址,因为AWS/Azure/GCP等等本机获取到的是你的内网IP,需要改一下官方生成的配置文件

Debian的话,local改成你的ifconfig里获取到的IPv4地址,然后编辑/etc/network/interfaces,把这一坨塞进最后面,重启即可

CentOS选Linux-route2,同样修改一下local的IP,然后全部复制进ssh回车执行即可(如果你的镜像没开启IPv6支持,那请百度搜索:系统版本+开启IPv6)。


补充CentOS配置网卡的方法

首先确认/etc/sysctl.conf以及网卡中没有禁用IPv6相关的参数,然后前往/etc/sysconfig/network-scripts

创建新的网卡配置vi ifcfg-sit1,设置参数,本机IPv4地址请以ifconfig读取到的为准(填本机网卡获取到的IP)。

重启网卡

CentOS 6: service network restart
CentOS 7: systemctl restart network


三、维持隧道连接

如果一段时间没有流量,隧道会进入休眠状态,从外部也就无法访问了。因此我们可以主动访问一下IPv6网络以维持隧道活动,比如ping -c5 ipv6.google.com,设置10分钟左右执行一次即可,用crontab就能够很简单的实现。

此外有一点需要注意,HE Tunnel的IPv6无法作为CloudFlare的源站IP,因为CloudFlare并不认为HE的隧道是有效的真实IP,所以只能作为一种访问IPv6网络的方式。

转载原创文章请注明,转载自: Luminous' Home » 【IPv6隧道】用HE的TunnelBroker给服务器添加IPv6

  1. az gcp 貌似都屏蔽gre, 41过不了NSG

    1. @elune HE用的应该是SIT隧道,实测也是没法打通
  2. 请问已经按照教程配置完成了之后,在服务器上使用ping6已经可以ping通ipv6的站点了,但是在其他设备上ping服务器的ipv6地址却无法ping通,这是什么原因呢,是he的地址只能用来向外访问,而不能被访问吗?

    1. @D 可以通的,检查防火墙配置
  3. 挖个坟,HE的Tunnel使用协议是啥,IPIP(类似GRE)隧道吗?还是说三层隧道。如果三层隧道是否可以通过端口转发的方式进行隧道穿越呢?

    1. @meina 是类似GRE的SIT Tunnel,只能承载IPv6流量,6in4的隧道
      1. @Luminous 是否有别的可以映射/分配公共v6地址的隧道呢,目前使用技术手段IPLC播到cloudflare warp,想将本地的*映射出去或者反向拉一条映射udp的隧道。
        1. @meina 了解不多,并且话题敏感,不便解答
  4. 博主 最后一句”HE Tunnel的IPv6无法作为CloudFlare的源站IP,因为CloudFlare并不认为HE的隧道是有效的真实IP,所以只能作为一种访问IPv6网络的方式”,是单纯的cf不支持HE Tunnel吗?还是说HE_Tunnel只能像WARP那样作为一种访问IPv6网络的方式。我之前添加HE的ipv6后 可以通过HE_ipv6进行ssh。问这个问题主要是我也不是很懂HE Tunnel的原理。

    1. @tanglu CF主动屏蔽了HE Tunnel的IP作为回源目标
      1. @Luminous 好的,那看来就是不能套CF 感觉HE_Tunnel的ipv6除了这一点和其他"原生ipv6"都没什么区别。博主知道类似HE_Tunnel这种的ipv4吗?想买个这种在纯ipv6机器上学习一下(不要问为什么不喜欢加原商家的ipv4 就是玩嘻嘻)
        1. @tanglu 区别还是挺大的,HE Tunnel推出的背景是当时HE与Cogent两个争夺IPv6 Tier1运营商的位置,HE为了竞争硬烧资源搞出来的。毕竟服务免费后续也没有再扩容的动力,如果你有在使用的话会发现HE的Tunnel不论延迟还是速度都不是那么稳定。
  5. 我昨天刚在搬瓦工VPS上试了一下,CentOS 6 直接把HE提供的Linux-NET-tool命令跑一下就可以了

    1. @渔情禅心 CentOS不写入网卡的话,重启失效
  6. 要搞ipv6最简单就是teredo linux包名miredo ,ubuntu 1804装上直接用,用的udp转发,只要端口开了不管你IP类型
    apt install miredo

    1. @世界第一好吃 是的,有时间我试一试,以前只用过HE的Tunnel
    2. @世界第一好吃 谢谢,我在Mint20.2上使用她。
  7. GCP是不是不能通过这个方法搞ipv6? 我试了失败

    只能通过负载均衡LB分配?

    1. @wangfeng 负载均衡只能实现你通过IPv6访问GCP,而不能使GCP的实例访问IPv6
      1. @Luminous 好的,谢谢。我也想通过ipv6访问GCP,只是负载均衡是单独收费的,TunnelBroker对GCP无效
        1. @wangfeng GCP也可以使用Tunnel的,只是配置文件的IP需要修改为实例的内网IP
          1. @Luminous 谢谢 那我再试试看 上次没成功
          2. @Luminous 按照教程最后重启出错 不知道什么原因 大佬能否指导下 s2.ax1x.com/2020/02/11/1TfLvT.png
            1. @wangfeng 建议用Debian或者Ubuntu,网卡配置简单一些 我中间也遇到不少问题……其他的左侧有我的QQ,可以找我。。。
    2. @wangfeng 我重新测试了一下,确实是无法和隧道建立连接,也没找到其他的有关GCP与Tunnel配置的案例……先默认它无法使用吧,可能是屏蔽掉了
  8. 希望博主写一个ipv4的隧道教程…

    1. @neax 网上真的没查到怎么构建IPv4隧道…… 等到寒假有空我研究下DNS64吧……
  9. 这家一周前说可以申请,现在又说不提供IPv6地址。。。

    1. @none 国人员工Alex Xu说一周后可以提供,但是其他staff没说ヾ( ̄0 ̄; )ノ 有没有其实无所谓啦