子网代理(点对网)
子网代理是指某台设备对其下的子网流量进行代理转发到 EasyTier VPN,使得虚拟网内其他设备可以访问该设备下的子网的功能。QtEasyTier 支持使用 GUI 方便地配置子网代理。
假设网络拓扑如下,节点 B 想将其可访问的子网 192.168.1.0/24 共享给其他节点。

则 B 节点只需要在 网络配置->高级设置->网络服务页面点击“添加代理子网”按钮即可进行相关设置。

如上图所示,你需要输入需要代理子网的 CIDR 地址,例如,想要代理设备下 192.168.1.1 到 192.168.1.254 的子网,就输入 192.168.1.0/24 即可。
如果需要网段映射,则需要在“网段映射”一栏中输入映射后的网段,例如,想要将 192.168.1.0/24 映射到 10.144.144.0/24,则输入 10.144.144.0/24。注意,映射后的网段大小必须与原网段大小相同,即网段映射和代理子网的 CIDR 的前缀长度必须一致,否则会导致实例启动失败。
你还可以根据需要选择允许代理的传输协议(tcp、udp、icmp),默认代理全部协议。
添加后的代理子网将会在设置页面中显示,你也可以添加多个要代理的子网。

启动实例后,子网代理信息会自动同步到虚拟网络的每个节点,各个节点会自动配置相应的路由。
由于代理流量需要用到系统的网络栈,因此子网代理需要关闭在虚拟网卡上的防火墙。
- 在 Windows 上,可以将 qtet-daemon.exe 添加到防火墙的例外列表中或者直接关闭防火墙。
- 在 Linux 上,可以使用 iptables 或 ufw 来放行对应虚拟网卡上的 INPUT 和 OUTPUT 流量。
如果无法关闭防火墙,可以尝试用用户态的网络栈做子网代理,可以免去配置防火墙的步骤。只需要在高级设置界面打开“使用用户态协议栈”的开关即可。
手工指定路由
Section titled “手工指定路由”默认情况下,当虚拟网中的某个节点配置了子网代理后,子网代理的网段会被同步到虚拟网内的所有节点上,并自动生成一条路由,将发往这些网段的数据包交由虚拟网处理。
这在大部分情况下可以简化组网,但在有些场景下,用户可能并不希望 QtEasyTier 在节点上自动配置路由,可通过 自定义路由 参数手工配置需要转发到虚拟网的流量。
使用 自定义路由 后,只有该参数配置的网段才会进入虚拟网,如果该参数后的列表为空,则 QtEasyTier 不会处理任何非虚拟网网段的流量。例如:我只想将 虚拟网中的 192.168.1.1 和192.168.1.88 两台设备的流量进行子网代理,可以添加如下参数。

添加自定义路由后,则该节点上仅会将你自定义的网段的流量交由虚拟网处理,不会再自动传播其他节点的子网路由。
禁用内置NAT
Section titled “禁用内置NAT”默认情况下,子网代理中启用了内置 NAT,在用户态处理数据包转发,使非网关设备也能成为子网入口,同时规避了不同操作系统上对于数据包转发的限制。
如果 QtEasytier 工作在网关设备上,用户可通过“系统转发(子网代理禁用内置NAT)”开关将子网代理数据包交由系统内核转发,此时内置 NAT 关闭。
需要注意当该选项启用后,子网代理的数据包转发将完全依赖于操作系统,请确认操作系统的防火墙、转发规则、路由规则等配置正确。