小天管理 发表于 2024年8月21日 发表于 2024年8月21日 介绍 通过多地运行节点服务,以中继方式实现异地节点网络互通,突破地域限制,提供分支机构、数据中心、云之间全场景互联互通。 不需要固定公网 IP ,能上网就能组网;支持软件、虚拟机、硬件等方式部署,云端管理方便快捷。 可以方便开发者跨地域部署内网服务,节省 IP 及公网宽带费用。 底层使用 tls + websocket 安全互联,支持 TCP / UDP / PROXY(socks5 http https) 等跨区域转发。 WGD 功能实现三层路由,方便运维/网管扩展 SD-WAN MPLS VPLS VXLAN GRE IPIP 等应用. 部署 文档地址 下载地址 场景 假设有运行两个节点软件 test1 和 test2 ,登录 nowtunnel 创建节点并在两台设备中运行。 代理转发 : 环境描述 : # 节点 test1 设备 IP: 192.168.1.5 # 节点 test2 设备网段: 192.168.2.0/24 ,测试服务器 IP: 192.168.2.5 规则类型 : proxy # Proxy 类型会自动识别协议 socks5/http/https 监听 IP/端口 : 0.0.0.0 8871 # 监听设备任意 IP+端口号 8871 中继节点 : test2 # 中继节点选远端/对端节点 test2 验证结果 (通过 curl 代理功能验证) : curl --proxy socks5://192.168.1.5:8871 http://myip.ipip.net # 可以看到代理流量通过 “test2 节点” 流出,此时通过 curl 查询到的 IP 归属为 “节点 test2” 的公网 IP curl --proxy socks5://192.168.1.1:8871 http://192.168.2.1 # 通过 curl 可以访问 192.168.2.1 的 WEB 界面 TCP 端口转发 : 环境描述 : # 节点 test1 设备 IP: 192.168.1.5 # 节点 test2 设备网段: 192.168.2.0/24 ,测试服务器 IP: 192.168.2.5 规则类型 : tcp # 任意使用 tcp 协议的应用 监听 IP/端口 : 192.168.1.5 33981 # 监听设备 IP 192.168.1.5 端口号 33891 中继节点 : test2 # 中继节点选远端/对端节点 test2 远程主机/端口 : 192.168.2.5 3389 # 验证结果 (通过 windows mstsc 远程桌面) : # 此时通过远程桌面访问 192.168.1.5:33891 ,等同于直接访问 192.168.2.5 的远程桌面 3389 端口 UDP 端口转发 : 环境描述 : # 节点 test1 设备 IP: 192.168.1.5 # 节点 test2 设备网段: 192.168.2.0/24 ,测试服务器 IP: 192.168.2.5 规则类型 : udp # 任意使用 udp 协议的应用 监听 IP/端口 : 0.0.0.0 9901 # 监听设备任意 IP+端口号 UDP 9901 中继节点 : test2 # 中继节点选远端/对端节点 test2 验证结果 (通过 nc 工具) : echo "TEST" | nc -4u 192.168.1.5 9901 # 本例中所有访问 192.168.5.1:9901 的 UDP 流量都会通过 “test2 节点” 发向 192.168.2.5:9901 路由转发 : WGD 隧道路由原理: 底层 nowtunnel 网络(tcp+ssl) + udp 端口转发 + wireguard/iptables 。 支持 nat 和 route 方式路由。 系统使用 ip rule 绑定 table ,不污染本地路由,也可以指定该 table 的静态路由。 点击节点 test1 "转发规则" - "新增规则" ,规则类型选 "wgd"。 环境描述 : # 节点 test1 设备 ip: 192.168.1.5 , 设备所在网段: 192.168.1.0/24 # 节点 test2 设备 ip: 192.168.2.5 , 设备所在网段: 192.168.2.0/24 ,192.168.3.0/24 # 打通 192.168.1.0/24 ,192.168.2.0/24 ,192.168.3.0/24 网段之间的路由。 # 注意: 本例中 wgd 配置可以在 test1 上,也可以在 test2 上,但不能两边都配置. 规则类型 : wgd # 三层路由转发 中继节点 : test2 # 中继节点选远端/对端节点 test2 本地网络/对端网络 : # 配置宣告本地网络和对端网络,多个用逗号隔开。 验证结果 (通过 ping 工具) : # 在 test1 网络中的网关路由器上配置静态路由: route add 192.168.2.0 mask 255.255.255.0 192.168.1.5 route add 192.168.3.0 mask 255.255.255.0 192.168.1.5 # 在 test2 网络中的网关路由器上配置静态路由: route add 192.168.1.0 mask 255.255.255.0 192.168.2.5 # 配置完成后所有网段将互通。
已推荐帖子