- 尽量用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)
转载于:https://blog.51cto.com/lmjshe/2064529