2020-03-16 提示 本文已有更新版本:参见《 DN42 实验网络介绍(2020 版) 》。 新版介绍中有更详细的注册申请流程,并根据 DN42 三年来的变化做出了修改。 以下内容写于 2017 年,仅作存档用途。 DN42 全称 Decentralized Network 42(42 号去中心网络),是一个大型的 VPN 网络。但是与其它传统 VPN 不同的是,DN42 使用了大量在互联网骨干上应用的技术(例如 BGP),可以很好的模拟一个真实的网络环境。 正因为它的真实,使用 DN42 的门槛比较高。你要扮演一个 ISP(互联网服务提供商),注册一个 ASN 号码,注册 IPv4 和 IPv6 的地址池,并且使用 BGP 在自己的服务器上广播它们。你还要和其它的用户联系,和他们做 Peering(对接),一步步进入完整的 DN42 网络。 DN42 在 172.20.0.0/14 和 fd00::/8 上运行,而这两个 IP 段都是分配给内网使用的。换句话说,你在 DN42 上怎么折腾,都不会影响到服务器其它的互联网连接。...
使用 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 需要跨服务器连接,做数据库主从备份,...