- 儘量用xinetd服務,xinetd 屬於super daemon,是觸發其餘daemon來工作。當有客戶端請求時,super daemon纔會去觸發相關的進程加載成爲daemon而存於內存中,xinetd能觸發的進程都位於/etc/xinetd.d 目錄下。
-
配置rsync服務時,需要在 /etc/xinetd.d/rsync 增加以下配置:
server_args = --daemon --config=/etc/rsyncd.conf - 線上的機器,rsync進程正常啓動,並且在開通port 873防火牆策略時,還是出現如下報錯:
執行rsync命令的時候出現了:rsync: read error: Connection reset by peer (104)
telnet 14.79.92.90 873
Trying 14.79.92.90...
Connected to 14.79.92.90.
Escape character is '^]'.
Connection closed by foreign host.
用 nc -vw1 14.79.92.90 873 測試:
Connection to 14.79.92.90 873 port [tcp/rsync] succeeded!
#說明防火牆是開通的,telnet的也結果也說了這個問題,防火牆通了之後,立馬關閉連接了。
抓包看: tcpdump -i em2 port 873 #tcpdump抓包也有完整的請求包回包記錄。
15:45:04.755318 IP A.53115 > B.rsync: Flags [.], ack 1, win 115, length 0
15:45:04.787709 IP B.rsync > A.53115: Flags [F.], seq 1, ack 1, win 115, length 0
15:45:04.787839 IP A.53115 > B.rsync: Flags [F.], seq 1, ack 2, win 115, length 0
15:45:04.818751 IP B.rsync > A.53115: Flags [.], ack 2, win 115, length 0
後面懷疑是主機ssh層拒絕連接,查到hosts.allow配置文件,裏面確實沒有添加client的白名單。
普及下:rsync同步文件過程中,需要登錄remote主機認證,認證過程中有2種協議:ssh 協議(port 22)和rsync協議(port 873)