就在几天前,HE.NET Tunnelbroker 的法国服务器出了一次故障。因为我在配置 Kimsufi 服务器时,将 Kimsufi 原生的 IPv6 分给了 ESXi 单独使用(见 这篇文章 ),pfSense 只具有原生 IPv4 并通过 Tunnelbroker 获取 IPv6 地址,所以这次服务器上的所有虚拟机都失去了 IPv6 连接。更严重的是,由于我在服务器上也参照 这篇文章 搭了个 NAT64 服务,为了优先使用 IPv6,我设置了 pfSense 的 DNS 解析优先使用 Google DNS 的 NAT64 解析服务器,就是 2001:4860:4860::64 和 2001:4860:4860::6464 这两个,只在这两个 DNS 全部失效后才去使用 IPv4 解析。由于 IPv6 不通了,而 pfSense DNS 服务器的超时又很长,内部的 DNS 解析几乎全部失败。 为了防止 IPv6 出问题后再次引起连锁反应,我准备使用多个 Tunnelbroker 互相作为备份,并配置 pfSense 的 Multi-WAN Failover 功能,在一个 Tunnelbroker 断线后立即切换到其它 Tunnelbroker,保证 IPv6 对外连接不中断。...
使用 ZeroTier One 建立自己的 IPv6 隧道
前言 天朝绝大多数 ISP 均不为用户提供 IPv6 地址,除了教育网。但是教育网的 IPv6 很不稳定(可能和我的学校有关),而且一旦离开学校就没有 IPv6 了,很不爽。 有一种方法是使用 HE.NET 的隧道服务 。在 SixXS 关闭之后,他们是目前仅存的最大的 IPv6 隧道提供者,而且他们的服务完全免费。但是他们的服务并不适用于天朝的家庭网络环境,因为家庭网络普遍是动态 IP,并且部分运营商为了节省成本已经开始使用大内网,用户无法获取独立 IP,在同一内网就会产生冲突。 好消息是,我有好几台 VPS,均由 VPS 提供商或者 HE.NET 的隧道服务提供了 IPv6。这意味着我可以使用 VPN 方案。但是 Open^_^VPN 早就无法正常跨境使用了,其它 VPN 方案或多或少都有一些问题。 之前我拿来 Docker 组网的 ZeroTier One VPN 倒是能很好的解决这个问题。有中心管理面板,配置简单;跨境使用目前没有问题;官方甚至提供了详细的教程。 准备 ZeroTier One 的注册安装和加入网络,...
使用 ZeroTier One 在多台 Docker 服务器间建立双栈互通网络
前言 多台 Docker 服务器上的容器互通是一个不好解决的问题。如果自建一个 Overlay 网络,就需要在一台服务器上建立 etcd 之类的服务。但如果 etcd 所在的服务器挂了,整个网络就 GG 了。我用的便宜 VPS 有偶尔网络中断的情况,我自己搞崩也服务器是常有的事,所以我不能采取这种方式。 Docker 也有其它的基于 Overlay 的商业化组网方案,例如 Weave,但是对于个人用户来说这些方案的价格太高了(我只是搞来玩玩),所以也不考虑。 在这些网络结构上,etcd 或者 Weave 之类的中心服务器记录了每个容器所在的服务器和内部 IP,所以在任何容器上都可以直接 DNS 解析到其它容器。也就是说,假如我设置了 lantian-nginx 和 lantian-phpfpm 两个容器,在 nginx 的配置文件里我可以直接把 php-fpm 的地址填成 lantian-phpfpm:[端口号],方便配置。 但我好像可以放弃这个功能啊?我的容器数量并不多,而且只有几个 MariaDB 需要跨服务器连接,做数据库主从备份,...
OpenVZ 配置 Hurricane Electric IPv6 隧道,开启整个地址池并与原生 IPv6 共同使用
AlphaRacks 是一个物美价廉的主机商,1CPU、512M内存、10G硬盘的 VPS 只要 9.9 美元/ 年。但是这家主机商在 IPv6 地址上比较抠,需要用户说明用 IPv6 的理由,据说最多给20 个?但是不一定给满20个,比如我告诉主机商要用 IPv6 地址给仅支持 IPv6 的用户提供服务,主机商回复: 我们已经为你的 VPS 增加了1个IPv6地址。 一个 IPv6 自然是不够我折腾的。好在美国 Hurricane Electric 公司提供 IPv6 隧道服务 ,为每个用户提供5个隧道,每个隧道有1个 /64地址池,并可以一键开通1个/48地址池。 如此良心的服务,要在 OpenVZ 的 VPS 上使用却还要费一番周折。因为 OpenVZ 的内核版本往往是2.6.32,2.6.32的老内核不原生支持隧道功能,而支持的新版3.10的内核刚刚发布,很多主机商没有更新。 在 OpenVZ 上开启 HE 隧道 我们需要借助一个第三方小程序,它可以把 Hurricane Electric 的隧道转换为 Tun/Tap 的隧道(相当于 Windows 下 OpenVPN 的那个网络适配器)...
gogoCLIENT DNS解析问题解决
这几天Google服务不怎么正常,所以我决定使用IPv6隧道来连接Google,以便获得较好的访问速度。 按照我去年10月写的文章《 Windows 8.1 下 gogoCLIENT 的安装使用与Bug修复 》,我在我的电脑上设置好了隧道。但是此时我打开命令提示符Ping ipv6.google.com,系统竟然提示「Ping 请求找不到主机 ipv6.google.com」。 这样我相当于还是在通过IPv4连接谷歌服务,无法达到我想要的效果。一般这个时候我都会去Google,但是问题是Google连接时断时通…… 很长时间过后,我终于找到了解决方案。 原因是微软在设计操作系统的时候,默认不会从IPv6隧道中查询DNS。解决方法如下: 1.开始-运行(或者Win+R),输入regedit回车。 2.在左边窗口打开HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - services - Dnscache - Parameters。 3.在右边窗口右键新建-DWORD值,名字为AddrConfigControl。 经过以上操作,无需重启计算机,你就可以正常解析IPv6地址了。 感谢 http:...
Windows 8.1 下 gogoCLIENT 的安装使用与Bug修复
半年前,当我还在用Ubuntu的时候,我 用XP虚拟机+gogoCLIENT搞定了IPv4与IPv6的互通 。今天,我尝试在Windows 8.1下安装gogoCLIENT(以下简称GC)时,却出现了神一样的Bug。 下载地址: http://www.gogo6.com/profile/gogoCLIENT ,需要注册账号。 在我打开安装程序的时候,GC就给了我一个下马威。 这个的解决方法倒也简单,右键选择安装程序,兼容性模式修改成Vista即可解决,主程序不会有任何异常。 安装完成后,我启动了主程序,输入了上次我就使用的hg.tfn.net.tw,连接。10秒后,右下角弹出提示,连接成功。但是我到网络连接里一看,IPv6,没有网络访问权限!我打开详细信息一看: 我只想说,默认网关到哪里去了。(其实DNS也是我手动设置的) 用百度搜了一通,无果。然后用谷歌改成英文搜「windows gogo6 default gateway」,结果真的出来了,是个Bug! 修改方法: 1.开始菜单(或者开始屏幕)找到记事本,右键管理员权限打开。 2.用记事本打开C:...
IPv4 与 IPv6 的互通
IPv4 是目前支持最广泛的网络协议,网内计算机以IP地址标记,理论总共能放 2 32 2^{32} 2 32 台(IPv4:8个16进制位)网络设备,可惜现在已经用完了,真不知道各大ISP是怎样把有限的IP分给无限的计算机的。 IPv6 则要NB的多,每个地址有32个16进制位,也就是 2 128 2^{128} 2 128 台网络设备,在人类因为地球撑不住而挂掉之前,这些IP完全够用。这一协议被各大互联网公司推崇,包括 Google,DNSPod,等等。但是目前天朝好像只有大学里用IPv6,普通百姓家只能用IPv4。 (吐槽:大学里也不完善,国外一般都是IPv4v6通吃,教育网内只有v6) 而现在IPv6资源也越来越多,所以在天朝ISP采取行动前,我们可以先通过软件辅助,让我们用上IPv6。 1.Miredo(Teredo) 篇Miredo好像是一个开源组织搞出来的程序,用来实现46通,不过后来协议被微软借去了,写进Win7,同时微软也顺带捐赠了一台服务器……Miredo可以用来实现简单的46互通,但是因为节点巨少,速度巨慢。...