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

 
 

折腾借口

Syncthing好是挺好的,但就是同步不给力,公共网络服务其质量参差不齐,网络也说不清。最好的解决方案还是自己搭建发现服务器Syncthing Discovery Server和中继服务器Syncthing Relay Server,有效解决网络连接差,非局域网连接慢的问题。

需要材料:带公网IP的服务器或动态DNS的主机一台。

参数设置信息官网最全面,参考Welcome to Syncthing’s documentation!,这里只是提少许个人需要的参数,一般使用足够。

搭建发现服务器 Syncthing Discovery Server

下载 stdiscosrv 程序

下载当前主机的发现服务器主程序 stdiscosrv

选择对应版本,服务器基本是stdiscosrv-linux-amd64

下载:

 
wget https://github.com/syncthing/discosrv/releases/download/v0.14.51/stdiscosrv-linux-amd64-v0.14.51.tar.gz

解压:

 
tar -xzvf  stdiscosrv-linux-amd64-v0.14.51.tar.gz

准备以及参数

创建证书

程序好像也会自动创建证书,这一步或许可以忽略

 
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout ~/key.pem -out ~/cert.pem

注意更改目录

参数

官网给出了详细的参数配置 Syncthing Discovery Server,简单说几个我用到的参数。

-cert`=<file>-key`=<file>默认指定运行程序目录下的证书文件,建议将证书拷贝到当前目录下。

-listen`=<address>`监听端口,默认8443,改不改无所谓,如果有防火墙记得通过端口。

-debug调试模式,可以查看链接信息

-replication-listen`=<address>`我也不太明白这个参数的意义,可能适用于组多服务器

运行

将证书复制到程序所在文件夹,执行即可:

 
./stdiscosr

如果没有将证书放好位置,直接使用命令应该会自动创建证书,或者将证书复制到当前目录再执行。

 
cp *.pem syncthing/stdiscosrv-linux-amd64-v0.14.51

或者执行:

 
./stdiscosrv -cert ~/cert.pem -key ~/key.pem    1

注意

记得在防火墙里面放行端口,可以安装ufw,然后放行端口

 
sudo apt install ufw
sudo ufw allow 8443

搭建中继服务器 Syncthing Relay Server

搭建好发现服务器后,虽然能找到不同网络的主机了,但是非局域网相互传输的速度还是差强人意。

中继服务器列表:Relay Pool Data,虽有不少国内服务器,但是搭建自己的服务器优势也显而易见。

 下载strelaysrv程序

下载当前主机的发现服务器主程序 relaysrv

选择对应版本,服务器基本是strelaysrv-linux-amd64

下载:

 
wget https://github.com/syncthing/relaysrv/releases/download/v0.14.48/strelaysrv-linux-amd64-v0.14.48.tar.gz

解压:

 
tar -xzvf  strelaysrv-linux-amd64-v0.14.48.tar.gz

准备以及参数

 创建证书

参考之前操作,或直接复制过去就好了。

 
cp *.pem syncthing/strelaysrv-linux-amd64-v0.14.48

 参数(必看)

官网给出了详细的参数配置 Syncthing Relay Server,上面提到的不再重复

-global-rate`=<bytes/s>`全局限速,bytes作为单位,换算成MB应当乘两个1024,可以去这里换算。

-pools`=<pool addresses>**非常重要的参数设置**,如果不设置将作为公共服务器发布,他人可以免费使用你的服务器流量,三思。创建私人服务器的方法是添加参数-pools=""`。

-protocol`=<string>`协议

-status-srv`=<listen addr>`监听地址,有的服务器需要设置当前公共ip

运行

 
./strelaysrv -pools="" -global-rate 3145728 -protocol=tcp4

注意

开启防火墙支持,使用ufw或:

 
iptables -I INPUT -p tcp --dport 22067 -j ACCEPT
iptables -I INPUT -p tcp --dport 22070 -j ACCEPT

 配置客户端

服务器地址配置

运行程序后会生成一个id,将其拷贝下来

发现服务器:

https://ip_address:port/?id=your_id

中继服务器地址:

relay://ip_address:port/?id=your_id

客户端中替换时,如果可以用逗号和default分开,这样就能同时使用多个地址。

 监听地址

参考官方文档:Listen Addresses

syncthing的地址可以理解成三类:动态中继池,静态中继地址,TCP端口。

  1. 从网上获取中继池获取终极服务器
  2. 自定义一个服务器地址
  3. 本地端口监听,用于局域网连接

中继服务器配置

如果像我一样只只是同步自己的服务,就可以简单设置为:

tcp4://0.0.0.0:22000,relay://ip_address:22067?id=abcd123...

指定tcp4即ipv4的原因是因为我有ipv6网络,但是国内v6覆盖不全,不如简简单单局域网用tcp,远程就用自己的中继服务器,避免其它的低速远程服务器。

发现服务器配置

default, https://ip_address:8443/?id=abcd123...

这里添加default的原为了接入一些网络的共享库,如果不需要去掉即可。

结语

Syncthing目前不支持占位符操作还是挺可惜的,但是设置了自定义的中继服务器和发现服务器之后,可靠性将大大提升,今后可以作为一个常用的软件了,更方便得同步各个设备之间的文件,免去很多折腾的时间。

【转】搭建和配置Syncthing发现和中继服务器的更多相关文章

  1. [转]自建Syncthing中继服务器(私密传输或造福大众)

    自建Syncthing中继服务器(私密传输或造福大众) 一.介绍 我之前介绍了Syncthing,作为一款开源的文件同步程序,它的功能还是非常强大的,我也很高兴能看到它被越来越多的人知道和使用,前几天 ...

  2. 在香蕉派的树莓派系统上配置 Syncthing 自启动

    在香蕉派的树莓派系统上配置 Syncthing 自启动 —— 魏刘宏 2020 年 1 月 19 日 首先做个名词解释,” 香蕉派” 是国内一款山寨树莓派的硬件产品,” 树莓派系统” 指的是”rasp ...

  3. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  4. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  5. liunx搭建DHCP服务器以及DHCP中继服务器

    liunx搭建DHCP服务器以及DHCP中继服务器 一.实验拓扑 二.实验条件 虚拟机取消VMnet1和VMnet8的dhcp动态获取ip地址,以免影响实验 DHCPserver 网关以及DHCP中继 ...

  6. 巧用Salt,实现CMDB配置自动发现

    随着互联网+新形势的发展,越来越多的企业步入双态(稳敏双态)IT时代,信息化环境越来越复杂,既有IOE三层架构,也有VCE.Openstack等云虚拟化架构和互联网化的分布式大数据架构.所以,企业急需 ...

  7. DNS智能解析的搭建与配置

    分类: LINUX 原文地址:DNS智能解析的搭建与配置 作者:十年梦生  9月份整整忙了一个月,都抽不出时间来写篇文章,这几天趁着10.1终于有时间来写些东西了,将9月份所做的一些东西来做下总结. ...

  8. WinMail邮件服务器(客户端)环境搭建与配置

    WinMail邮件服务器(客户端)环境搭建与配置      一.在搭建WinMail邮件服务器(客户端)之前必备            (1).在虚拟机上安装两个干净无毒的操作系统          ...

  9. 搭建DHCP服务器以及DHCP中继服务器

    一.DHCP服务器   1.首先配置DHCP服务器的IP地址(DHCP服务器网卡桥接在VMnet1)   .配置好IP后重启DHCP服务 3.安装DHCP服务器,在这里我用的是YUM安装的(关于YUM ...

随机推荐

  1. vue生命周期和钩子函数

    new Vue 创建vue实例 init events & liftcycle 开始初始化 beforeCreate 组件刚被创建,组件属性计算之前,如data属性等 init injecti ...

  2. 18-11-05ie 热键的使用

    IE浏览器快捷键大全 更新:2013-04-01 17:05 | 标签:快捷键 一般快捷键F11打开/关闭全屏模式 TAB循环的选择地址栏,刷新键和当前标签页 CTRL+F在当前标签页查询字或短语 C ...

  3. 转自:阮一峰 Git远程操作详解

      对于git的一些指令还是有些生疏,而且在课堂上讲的只是简单介绍了一些功能,并没有具体深入,看到这篇文章之后,觉得比较详细,所以转了过来. Git是目前最流行的版本管理系统,学会Git几乎成了开发者 ...

  4. holer实现外网访问本地网站

    外网访问本地网站 本地搭建了网站,只能在局域网内访问,怎样从公网也能访问内网网站? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动网站服务端 默认搭建的网站服务端端口是8 ...

  5. BUAAOO P1-P3 Expression Dirivation

    目录 1.问题描述 1.1.概念定义 7.程序度量 8.知识点笔记 1.运行 2.1.方法 2.2.检测相等性 2.3.空串与null串 2.4.使用StringBuilder构建字符串 2.5.使用 ...

  6. C# 保存屏幕截图

    //屏幕宽 int iWidth = Screen.PrimaryScreen.Bounds.Width; //屏幕高 int iHeight = Screen.PrimaryScreen.Bound ...

  7. nw 引用 sqlite

    0.好吧,这对于我这个c 小白来说,真的有点难度. 1.安装Python 2.7.14 https://www.python.org/downloads/ 2.安装最新的nodejs+npm http ...

  8. Spark读HBase写MySQL

    1 Spark读HBase Spark读HBase黑名单数据,过滤出当日新增userid,并与mysql黑名单表内userid去重后,写入mysql. def main(args: Array[Str ...

  9. AI之旅(7):神经网络之反向传播

    前置知识   求导 知识地图   神经网络算法是通过前向传播求代价,反向传播求梯度.在上一篇中介绍了神经网络的组织结构,逻辑关系和代价函数.本篇将介绍如何求代价函数的偏导数(梯度). 梯度检测   在 ...

  10. leetcode 813. Largest Sum of Averages

    对于一个数组中的数进行分组,取每个组里的平均值进行加和的. 使用动态规划,其中dp[i][k]表示以i为结尾的有k个分组的,那么递推式为: dp[i][k]=dp[j][k-1]+(sum[i]-su ...