当前位置: 首页 > Linux

搭建配置Syncthing发现和中继服务器

时间:2023-04-06 06:05:19 Linux

以Syncthing好为借口折腾是好的,但是同步不好,公网服务质量参差不齐,网络不清晰。最好的方案是搭建发现服务器SyncthingDiscoveryServer和中继服务器SyncthingRelayServer,有效解决网络连接不畅和非局域网连接慢的问题。所需材料:具有公网IP的服务器或具有动态DNS的主机。官网的参数设置信息是最全的,参考WelcometoSyncthing'sdocumentation!,这里只是个人需要的几个参数,一般够用了。搭建发现服务器SyncthingDiscoveryServer下载stdiscosrv程序下载当前主机的发现服务器主程序stdiscosrv选择对应的版本,服务器基本都是stdiscosrv-linux-amd64下载:wgethttps://github.com/syncthing/discosrv/releases/download/v0.14.51/stdiscosrv-linux-amd64-v0.14.51.tar.gz解压:tar-xzvfstdiscosrv-linux-amd64-v0.14.51.tar.gz准备和创建证书的参数程序好像自动创建证书,这一步可以opensslreq-newkeyrsa:2048-new-nodes-x509-days3650-keyout~/key.pem-out~/cert.pem可以忽略。注意更改目录参数。官网给出了配置SyncthingDiscoveryServer的详细参数。简单说一下我使用的几个参数。-cert`=和-key`=默认指定运行程序目录下的证书文件,建议将证书复制到当前目录。-listen`=

`监听端口,默认8443,改不改无所谓,如果有防火墙,记得把端口传过去。-debug调试模式,可以查看链接信息-replication-listen`=
`这个参数的意思不太明白,可能适用于组多服务器操作将证书复制到所在文件夹找到程序并执行:。/stdiscosr如果证书没有放在好地方,直接使用命令应该会自动创建证书,或者把证书复制到当前目录下执行。cp*.pemsyncthing/stdiscosrv-linux-amd64-v0.14.51或执行:./stdiscosrv-cert~/cert.pem-key~/key.pem1记得在防火墙放开端口,可以安装ufw,和然后释放端口sudoaptinstallufwsudoufwallow8443搭建中继服务器SyncthingRelayServer搭建发现服务器后,虽然可以找到不同网络的主机,但非局域网互传速度还是差强人意。中继服务器列表:RelayPoolData,虽然国内服务器很多,但是自己搭建服务器的优势也很明显。下载strelaysrv程序下载当前主机的discoveryserver主程序relaysrv选择对应的版本,server基本都是strelaysrv-linux-amd64下载:wgethttps://github.com/syncthing/relaysrv/releases/download/v0.14.48/strelaysrv-linux-amd64-v0.14.48.tar.gz解压:tar-xzvfstrelaysrv-linux-amd64-v0.14.48.tar.gz准备及参数 运行前创建证书引用,或只是复制过去。cp*.pemsyncthing/strelaysrv-linux-amd64-v0.14.48 参数(必看)官网给出了配置SyncthingRelayServer的详细参数,上面提到的不再重复-global-rate`=`全局限速,以字节为单位,换算成MB要乘以两个1024,可以到这里换算。-pools=是一个很重要的设置,如果你不设置,它会被发布为公共服务器,其他人可以免费使用你的服务器流量,三思而后行!创建私服的方法是添加参数-pools=""。-protocol`=`protocol-status-srv`=`监听地址,部分服务器需要设置当前公网ip才能运行./strelaysrv-pools=""-global-rate3145728-protocol=tcp4note启用防火墙支持,使用ufw或:iptables-IINPUT-ptcp--dport22067-jACCEPTid,复制它来发现服务器:https://ip_address:port/?id=your_id中继服务器地址:relay://ip_address:port/?id=your_id在客户端替换的时候,如果可以用逗号和default隔开,这样多个地址可以同时使用。 监听地址参考官方文档:ListenAddressessyncthing的地址可以理解为三类:动态中继池、静态中继地址、TCP端口。从互联网上的中继池中获取终极服务器。自定义一个服务器地址监听本地端口,用于局域网连接中继服务器配置。如果像我一样只是同步自己的服务,可以简单的设置为:tcp4://0.0.0.0:22000,relay://ip_address:22067?id=abcd123...之所以指定tcp4是ipv4是因为我有ipv??6网络,但是国内v6覆盖不全。跟随服务器并避开其他慢速远程服务器。发现服务器是默认配置的,https://ip_address:8443/?id=abcd123...这里加default的原因是为了访问网络的一些共享库,如果不需要就去掉.结论遗憾的是Syncthing目前不支持占位符操作,但是在设置了自定义的中继服务器和发现服务器之后,可靠性会大大提高,以后可以作为一个常用的软件使用,使得更容易在文件之间同步设备文件,省去很多折腾的时间。