Skip to content

子网代理(点对网)

假设网络拓扑如下,节点 B 想将其可访问的子网 10.1.1.0/24 共享给其他节点。

则节点 B 的 easytier 启动参数为(新增 -n 参数)

sh
sudo easytier-core --ipv4 10.144.144.2 -n 10.1.1.0/24

子网代理信息会自动同步到虚拟网络的每个节点,各个节点会自动配置相应的路由,节点 A 可以通过如下命令检查子网代理是否生效。

  1. 检查路由信息是否已经同步,proxy_cidrs 列展示了被代理的子网。

    sh
    easytier-cli route
    ipv4hostnameproxy_cidrsnext_hop_ipv4next_hop_hostnamenext_hop_latcost
    10.144.144.1abc-dec10.1.1.0/24DIRECT3.251
  2. 测试节点 A 是否可访问被代理子网下的节点

    sh
    ping 10.1.1.2

手工指定路由

默认情况下,当虚拟网中的某个节点配置了子网代理后,子网代理的网段会被同步到虚拟网内的所有节点上,并自动生成一条路由,将发往这些网段的数据包交由虚拟网处理。

这在大部分情况下可以简化组网,但在有些场景下,用户可能并不希望 EasyTier 在节点上自动配置路由,用户可通过 --manual-routes 参数手工配置需要转发到虚拟网的流量。

使用 --manual-routes 后,只有该参数配置的网段才会进入虚拟网,如果该参数后的列表为空,则 EasyTier 不会处理任何非虚拟网网段的流量。

防火墙

由于代理流量需要用到系统的网络栈,因此子网代理需要关闭在虚拟网卡上的防火墙(Linux 和 Windows 皆是如此)。

如果无法关闭防火墙,可以尝试用用户态的网络栈做子网代理,可以免去配置防火墙的步骤。只需要在启动 EasyTier 时添加 --use-smoltcp 参数即可。


基于 Apache License 2.0 许可发布