12 月 15 2016
配置阿里云ECS支持IPv6
本文共被喵星人侦察过41,224次。。。前几天有个小伙伴的 iOS App 提交给水果审核没通过,水果给出的原因是应用在 IPv6 的环境下无法使用。原来小伙伴用的服务器是阿里云的 ECS ,而这玩意并不支持 IPv6 。。。这里就不得不吐槽一下阿里云这么大的云服务厂商,马上都要2017年了还不支持 IPv6 ,然而考虑一下 IPv6 在中国确实发展的并不怎么样。还好,我们可以用 Hurricane Electric 提供的 IPv6 Tunnel Broker 来让 ECS 支持 IPv6 。本文就以 Ubuntu 为例,来介绍一下具体的操作方法, CentOS 等操作系统都差不多,稍作修改也可以用。
首先,到 https://www.tunnelbroker.net/ 注册一个账户,然后登陆,戳 Create Regular Tunnel 。IPv4 Endpoint (Your side) 这里填你 ECS 的公网 IP 地址, Available Tunnel Servers 这里选一个,一般来说 HK 离大陆近延迟低,不过最近 HE.net 的香港似乎都是绕了一圈美国回来的,所以延迟反而很高,这个看自己情况选就好。然后戳 Create Tunnel ,就完成了。
接下来修改 ECS 里面的系统配置,由于阿里云的网络不支持 IPv6 所以他官方镜像里面相关的设置都是被禁用了的,想要使用 IPv6 就要做一些修改。首先修改 /etc/sysctl.conf ,把下面三项设置都改为0
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0
然后编辑 /etc/network/interfaces ,在下面添加 IPv6 Tunnel的相关信息
auto he-ipv6 iface he-ipv6 inet6 v4tunnel address <IPV6>::2 netmask 64 remote <Tunnel 的 Server IPv4 Address> local <阿里云的内网 IPv4 地址> endpoint any ttl 255 gateway <IPv6>::1 up ip -6 route add 2000::/3 via ::<HE 的 Server IPv4 Address> dev he-ipv6 up ip -6 addr add <IPv6>::1:1/128 dev he-ipv6 up ip -6 addr add <IPv6>::2:1/128 dev he-ipv6 down ip -6 route flush dev he-ipv6
其中里面<IPv6> 需要你自己替换成你刚刚申请的 Tunnel 的 Server IPv6 Address,但不包括最后的::1/64。
确定配置没问题之后就可以重启服务器了,重启之后看看 he-ipv6 接口有没有被启用,如果没有的话手动执行 ifup he-ipv6 启用相关接口,然后你就应该可以使用 Tunnel 里面显示的 Server IPv6 Address 来访问你的阿里云 ECS了。
这里有个坑,local 这里一开始我写的是阿里云外网的 IP 地址,然后发现启用了 Tunnel 之后无论是从外面访问阿里云还是阿里云本身访问 IPv6 都无效,在阿里云上 ping6 ipv6.google.com 的时候提示 no route to host,然后又仔细看了一下 HE.net tunnel broker 里面的描述发现了这样一句话:
NOTE: When behind a firewall appliance that passes protocol 41, use the IPv4 address you get from your appliance’s DHCP service instead of the IPv4 endpoint you provided to our broker.
所以 local 那里应该填的是 ECS 内网的 IP 地址,而不是公网的 IP 地址。。。
4 月 11 2017
在 openwrt 上使用清华的 ISATAP 隧道访问 IPv6
本文共被喵星人侦察过35,880次。。。前几天看到骏骏菊苣在折腾着想给自己的路由上加上大清的 isatap 隧道访问 IPv6,本来我觉得是不太现实的,因为我电的寝室分配的 IP 地址虽然长得像外网 IP,但是实际上电信的出口就那几个,也就是说都经过了 NAT。 而 isatap 隧道需要有一个公网的 IP 作为接入点,所以没有公网 IP 就很尴尬。但是骏骏表示虽然走电信出口的话外网看来我们寝室分到的 IP 不是公网 IP,但是不要忘了还有教育网,我电寝室分到的 IP 在教育网上就是独立的 IP,他之前去上海玩儿的时候从复旦做过实验了,教育网内部是可以直接联通得,然后清华显然他们的 peer 也有教育网线路,所以理论上是可行的。理论上可行实际上怎么样就只能试一试才知道了,于是经过了一下午的参考和折腾,终于在路由器上用清华大学的 ISATAP 隧道成功搞定了 IPv6 ,为了使用方便还写了个脚本,后面会贴出来。
在折腾的过程中主要参考的是这个和这个文档,同时对清华大学提供了如此方便的服务表示感谢~
阅读全文。。。
By Lazy Cat • 分享 10 • Tags: IPv6, ISATAP, OpenWRT, tsinghua