rsync/xinetd配置,rsync: read error: Connection reset

  • 儘量用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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章