Zerotier的TCP中继

目前 ZeroTier 的 TCP 中继服务器端需要自行编译使用。好在客户端已经带有使用 TCP 中继的功能,只要配置 forceTcpRelaytcpFallbackRelay 参数即可

编译安装

目前 TCP 中继程序位于代码库的 tcp-proxy 文件夹中,只需要执行 make 指令即可生成可执行文件。
在这里插入图片描述

如果要安装为 systemd unit,官方也提供了一个示例 unit 文件。这个文件无法直接在 ubuntu 系统上使用,需要注释掉 Group=zerotier-oneUser=zerotier-one 两行,随后将此文件链接到 /usr/lib/systemd/system/ 文件夹下即可,指令 ln -s PATH_TO_UNIT_FILE /usr/lib/systemd/system/
对Unit文件的修改

所有端增加自建中继的配置

自建 TCP 中继需要在使用 TCP 中继的端中配置。不清楚是否所有端都需要配置,我的情况是在 moon 和本地均配置了中继后才能使用。请参考 官方文档 编写配置文件。以下是一个配置及其配置说明:

//local.conf
{
	"settings": {
		"allowTcpFallbackRelay": true,			//允许本端使用TCP中继
		"tcpFallbackRelay": "xx.xx.xx.xx/443",	//设置自建TCP中继的IP与端口,默认端口是443
		"forceTcpRelay": true					//强制本端使用TCP中继
	}
}

可以在配置后使用指令 zerotier-cli info -j 查看是否已经启用设置
查看配置是否启用

验证是否使用TCP中继

最简单的方式是指令 zerotier-cli peers,如果输出中存在这样一句话,则说明当前正在使用 TCP 中继,可以看到所有节点都是中继状态
正在使用TCP中继的输出
另外,在前面指令 zerotier-cli info -j 输出的最后,存在一项 tcpFallbackActive,如果这一项的值为 true 则也说明正在使用 TCP 中继

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Modbus是一种通信协议,它是用于工业控制系统的最普遍的通信协议之一。Modbus TCP则是一种基于TCP/IP协议的Modbus通信方式,它可以在以太网上进行数据传输和通信控制。为了建立TCP连接,应用程序可以使用Socket API,Socket是一种通信机制,它提供了网络上信息传输的抽象概念。 Modbus TCP使用Socket API中的TCP套接字,这是一种面向连接的可靠数据流协议。TCP套接字提供了连接性,有序性,可靠性和流控制等特性,确保了Modbus TCP通信的稳定性和可靠性。在Modbus TCP通信中,通信双方需要事先建立TCP连接,然后在这个连接上使用Modbus消息进行通信。 使用Modbus TCP和Socket API,可以实现远程监控和控制,例如可以远程控制PLC或传感器,读取实时数据。除此之外,还可以通过Modbus TCP和Socket API实现数据记录和报告,以及故障诊断和预测等功能。因此,Modbus TCP和Socket API是现代工业控制系统中必不可少的通信和网络技术。 ### 回答2: Modbus是一种通信协议,而TCP则是一种网络传输协议,二者可以组合使用,形成Modbus TCP协议,以实现通过网络连接的设备间的数据通信。 Socket通常指网络资源的标识符,它包含了访问网络资源所需的信息和参数,如IP地址、端口号等。TCP Socket则是用于TCP连接的一种Socket类型,它实现了TCP协议中的连接、数据传输和关闭等功能。 在Modbus TCP协议中,数据是通过TCP Socket传输的。设备通过TCP Socket连接到网络,然后通过Modbus TCP消息格式进行通信,可以完成数据的读、写、读写等操作。TCP Socket作为Modbus TCP协议的支持,实现了设备之间的高效、可靠的数据传输。 总之,Modbus TCP和Socket TCP是两种不同的协议,但它们之间可以组合使用,构成高效、可靠的网络数据通信和控制系统。 ### 回答3: Modbus TCP和Socket TCP是两种不同的通讯协议,它们之间没有直接的联系也不是互相替代的关系。 Modbus TCP是基于TCP/IP协议的Modbus协议的一种实现方式,Modbus是一种常见的工业控制设备间通讯协议,包括串行、以太网和其他网络通讯方式。而Modbus TCP则是采用TCP/IP协议在以太网上实现的基于Modbus协议的通讯方式,具有广泛的应用场景,例如自动化和工程控制、制造业自动化等领域。 Socket TCP是一种常用的网络通讯协议,它是一种全双工、面向连接、基于字节流的网络协议,用于实现网络间的数据传输。Socket TCP支持客户端和服务器的通讯,客户端可以向服务器发起连接请求并发送数据,而服务器则接受连接请求并处理客户端发来的数据。Socket TCP也是一种广泛应用于通讯领域的协议,例如基于TCP/IP协议的Web应用、实时控制器、通讯服务器等。 总之,Modbus TCP和Socket TCP是两种不同的通讯协议,它们都有各自的应用场景和优势。使用时需要根据具体情况进行选择,或者结合两种协议进行联合应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值