Centos7安装使用Syncthing同步软件(手动安装)

1、下载 Syncthing

wget https://github.com/syncthing/syncthing/releases/download/v1.29.5/syncthing-linux-amd64-v1.29.5.tar.gz
tar -zxvf syncthing-linux-amd64-v1.29.5.tar.gz
mv syncthing-linux-amd64-v1.29.5 /opt/syncthing
cd /opt/syncthing

2、启动 Syncthing

(1)直接运行(前台模式)

./syncthing
  • 默认访问地址:http://127.0.0.1:8384/
  • 按 Ctrl+C 停止。

(2)后台运行

./syncthing -no-browser -home=./config &
  • -no-browser:不自动打开浏览器。
  • -home:指定配置目录(默认为 ~/.config/syncthing

(3)使用 systemd 管理(推荐)

vi /etc/systemd/system/syncthing.service
写入以下内容(替换 User 和 ExecStart 路径):
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
User=root
ExecStart=/opt/syncthing/syncthing -no-browser -gui-address=0.0.0.0:8384 --logflags=0
Restart=on-failure
RestartSec=1
KillMode=process  # 防止多个进程
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening (可选)
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl start syncthing
sudo systemctl enable syncthing

3、 验证是否运行

ps aux | grep syncthing
netstat -tulnp | grep 8384
journalctl -u syncthing -f
如果成功,浏览器访问 http://<服务器IP>:8384 完成初始化设置。


4、 防火墙端口添加

Syncthing 主要使用以下端口进行通信:
(1)默认监听端口
TCP 8384:Web GUI 管理界面(可通过 -gui-address 修改)。
TCP 22000:默认的同步数据传输端口(可通过配置修改)。
UDP 21027:用于本地设备发现(LAN 发现)。
(2)其他可能用到的端口
TCP 22067(可选):中继服务器连接(如果启用)。
TCP 22070(可选):全局发现服务器(用于 WAN 设备发现)。

(3)iptables 放行 Syncthing 端口的规则

iptables -I INPUT -p tcp --dport 8384 -j ACCEPT
iptables -I INPUT -p tcp --dport 22000 -j ACCEPT
iptables -I INPUT -p udp --dport 21027 -j ACCEPT
iptables -I INPUT -p tcp --dport 22067 -j ACCEPT
iptables -I INPUT -p tcp --dport 22070 -j ACCEPT

service iptables save  # 或使用 `iptables-save > /etc/sysconfig/iptables`
systemctl restart iptables