### 介绍
- 通过多地运行节点服务,以中继方式实现异地节点网络互通,突破地域限制,提供分支机构、数据中心、云之间全场景互联互通。
- 不需要固定公网 IP ,能上网就能组网;支持软件、虚拟机、硬件等方式部署,云端管理方便快捷。
- 可以方便开发者跨地域部署内网服务,节省 IP 及公网宽带费用。
- 底层使用 tls + websocket 安全互联,支持 TCP / UDP / PROXY(socks5 http https) 等跨区域转发。
- WGD 功能实现三层路由,方便运维/网管扩展 SD-WAN MPLS VPLS VXLAN GRE IPIP 等应用.


### 部署
- [文档地址]( https://www.nowtunnel.com/docs/index.html)   
- [下载地址]( https://www.nowtunnel.com/docs/help-linux.html)

### 场景
假设有运行两个节点软件 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
# 配置完成后所有网段将互通。
```
举报· 53 次点击
登录 注册 站外分享
1 条回复  
6a82aa9bfe 小成 2024-8-21 17:29:09
开源不?
返回顶部