CentOS7 SSR無法連接問題排查指南
現(xiàn)象描述
在CentOS7系統(tǒng)部署SSR服務(wù)后,客戶端可能出現(xiàn)無法建立連接、握手失敗或數(shù)據(jù)傳輸中斷等現(xiàn)象,本文針對典型場景提供系統(tǒng)化解決方案。
排查步驟
1. 驗證服務(wù)運行狀態(tài)
執(zhí)行以下命令確認(rèn)SSR服務(wù)是否正常啟動:
systemctl status ssr-service
若服務(wù)未運行,嘗試啟動并設(shè)置開機自啟:
systemctl start ssr-service
systemctl enable ssr-service
2. 檢查防火墻配置
驗證防火墻是否開放SSR服務(wù)端口:
firewall-cmd --list-ports
firewall-cmd --add-port=端口號/tcp --permanent
firewall-cmd --reload
若使用iptables,需在規(guī)則鏈中添加對應(yīng)端口放行策略。
3. 核對配置文件參數(shù)
檢查/etc/ssr-config.json
文件中的以下關(guān)鍵參數(shù):
- server字段應(yīng)為"0.0.0.0"
- 端口號與客戶端配置保持一致
- 加密方式與協(xié)議插件匹配
4. 檢測端口連通性
通過telnet或nc工具驗證端口可達性:
telnet 服務(wù)器IP 端口號
nc -zv 服務(wù)器IP 端口號
若本地檢測失敗,需聯(lián)系服務(wù)器運營商確認(rèn)端口未被屏蔽。
5. 校準(zhǔn)系統(tǒng)時間
執(zhí)行時間同步命令確保時區(qū)準(zhǔn)確:
timedatectl set-timezone Asia/Shanghai
ntpdate pool.ntp.org
時間偏差超過120秒可能導(dǎo)致認(rèn)證失敗。
6. 網(wǎng)絡(luò)環(huán)境診斷
排查本地網(wǎng)絡(luò)限制:
- 測試直接IP連接排除域名解析問題
- 嘗試更換TCP/UDP傳輸協(xié)議
- 檢查路由表是否存在異常規(guī)則
高級調(diào)試方法
啟用詳細日志輸出定位具體錯誤:
journalctl -u ssr-service -f
觀察日志中的錯誤代碼,常見問題包含:
- EADDRINUSE: 端口被占用
- ENOBUFS: 網(wǎng)絡(luò)緩沖區(qū)溢出
- ETIMEDOUT: 連接超時
補充說明
部分云服務(wù)商(如AWS、阿里云)需在安全組中單獨配置入站規(guī)則,該操作與系統(tǒng)防火墻相互獨立。建議同時檢查服務(wù)商控制臺的網(wǎng)絡(luò)策略設(shè)置。