1. 程式人生 > >rsync/xinetd配置,rsync: read error: Connection reset

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

cli tel flags 認證 發的 策略 加載 read 抓包

  • 盡量用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)

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