前情提要
众所周知,Hetzner 的 Cloud 之间走内网是不计流量的。那有没有可能让 Robot(独服)与 Cloud 之间也不计流量呢?
你能想到的,HZ 也想到了 —— 官方文档在这里:https://docs.hetzner.com/cloud/networks/connect-dedi-vswitch/
不过我在网上找了半天,也没找到一篇完整的相关教程:Cloud 控制面板里的说明不完整,官方文档也有对不上的地方。折腾了一阵终于跑通了,写篇教程造福后人。
创建 vSwitch
Robot 与 Cloud 之间的连接靠的是 vSwitch,原理图如下。
整体

详细分步

正文教程
打开 https://robot.hetzner.com/vswitch 进入 vSwitch 配置页面:
名称随便写,不影响后续使用,只是方便区分;
VLAN ID 一定要记住,它是网络隔离的关键。

(图中只是举例,实际创建和后期使用时 VLAN ID 必须保持一致。)
创建完成后,在 vSwitch 中添加你的机器 —— 一定要看准是哪一台(我就没看好,白折腾半天不通)。

创建 Subnets
到这里,我们已经在 Robot 上创建好了连接 Hetzner 核心网络的虚拟网卡,接下来创建与 Cloud 的连接:
打开 https://console.hetzner.cloud/ 选择你的项目;
点击左侧栏目中的 Networks(如果没有就需要新建一个网段,记下来后面要用);
点击网络中的 Subnets → Add Subnet。


图中的选项都要勾选上,里面的 Robot 网段要填写(页面会自动填写)。
连接核心网络
点击左侧的「查看配置」:

里面的网段都要修改为你自己设置的,网卡名称也要替换成你自己的主 IP 网卡名称(用 ifconfig 或 ip a 获取)。
有时 Hetzner 自动设置的网卡名称会超过 15 位,而 Linux 默认不允许这么长的名字,所以需要自己改一个短名称。
# 1. 创建 VLAN 接口(改用短名称 vlan4000)
ip link add link enp0s31f6 name vlan4000 type vlan id 4000
# 2. 设置 MTU
ip link set vlan4000 mtu 1400
# 3. 启用 VLAN 接口
ip link set dev vlan4000 up
# 4. 分配 IP 地址(这里是你 Subnets 的网段,后面的 .2 随便设置即可)
ip addr add 10.0.1.2/24 dev vlan4000
# 5. 添加路由(假设网关是 10.0.1.1,这里替换成你的 Cloud 网段)
ip route add 10.0.0.0/16 via 10.0.1.1最后一步
把这些命令在你的 Robot 机器上执行完,就可以 ping 通相关的内网机器了。

测速

Tips
直接升级的话太贵了,性价比不算高,网络互联也不如 Cloud。
HZ 无论是 Robot 还是 Cloud,走内网都不计流量,而 Cloud 是 10G 口,所以可以利用一下。
但一般情况下机器配的都是 1G 网卡,需要升级:每月 42 欧可以升级到 10G 网卡,不过搬到 10G 机架还要再加 33 欧 —— 这样做只是转移数据或做别的事方便些,10G 本身真的不咋样。
有人测过,10G 实际只能跑到 3G 左右,不太值;如果不走 Cloud,升级 10G 只有 20T 流量额度,超出后 1 欧/T,用 Cloud 主要是为了降低流量成本。
看各位需求吧,有需要就玩:搭上 Cloud 之后流量成本非常低(用 40T 流量可以节省接近 18 欧),转移数据也更方便。












