运维日记|你必须要知道的FTP二三事 – 作者:database

美创科技运维中心例行对某****库进行巡检,检查备份时,本地服务器上的备份一切正常,但是备份服务器备份目录下却空空如也,究竟发生了什么?

检查备份脚本,备份脚本并没有做过更改,看来并不是有人对脚本做过手脚。

image.png

既然本地备份是正常的,但是备份服务器上却没有备份片,会不会是传输出现问题了呢?

于是美创工作人员手工执行ftp传输脚本,果不其然,发现了这里面的猫腻。

登陆备份服务器成功,但是传输文件的时候却报连接超时

image.png

经验告诉美创工作人员先检查防火墙的状态,果不其然,windows备份服务器上的防火墙状态是开启着的。

但Linux端防火墙的状态:关闭!!!

image.png

windows备份服务器端防火墙状态:开启

image.png

于是将windows端防火墙关闭,ftp传输正常,一切恢复如旧。

本次故障处理到这里就结束了吗,不不不,这才刚刚开始……..

为什么windows端防火墙是开启着呢,通过跟客户沟通了解到,客户认为windows防火墙关着风险太大,于是前几天便统一将windows服务器上的防火墙都开启了。

终于找到了问题所在。本着一切从客户需求出发的原则,美创人不禁开始思考,开启防火墙时究竟是哪个因素影响了ftp传输。

思考一:windows防火墙中入栈规则有没有允许ftp服务访问,答案是有的。

image.png

思考二:windows防火墙允许的程序中有没有ftp服务,答案是有的。

image.png

思考三:windows防火墙ftp端口21是不是通的,答案是通的。

image.png

思考四:和ftp传输模式有没有关系,果不其然,问题出现在了这里。

image.png

FTP协议的数据传输存在两种模式:主动模式(PORT)和被动模式(PASV)。

一般FTP默认为被动模式。这两种模式发起连接的方向截然相反,主动模式是从服务器端向客户端发起;被动模式是客户端向服务器端发起连接。但是如果服务器和客户端之间存在防火墙,需要变被动模式为主动模式。

解决办法也显而易见,只需要在脚本里面加上passive,将被动模式关掉就好啦。

image.png


美创运维中心数据库服务团队拥有Oracle ACE 1人、OCM 10余人、数十名Oracle OCP、MySQL OCP、红帽RHCA、中间件weblogic、tuxedo认证、达梦工程师 ,著有《Oracle DBA实战攻略》,《Oracle数据库性能优化方法和最佳实践》,《Oracle内核技术揭秘》等多本数据运维优化书籍。目前运维各类数据库合计2000余套,精通Oracle、MySQL、SQLServer、DB2、PostgreSQL、达梦等主流商业和开源数据库。并成为首批国内达梦战略合作伙伴之一,拥有海量经验和完善的人员培养体系。并同时提供超融合,私有云整体解决方案。

来源:freebuf.com 2020-06-02 16:26:41 by: database

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论