linux 防火墙的一些误区

昨天线上的服务器由于遭到病毒的入侵,狂往外发包。在服务商的协助下把病毒清除了一下,服务商说最好是把防火墙打开,但是由于对iptables防火墙的理解上有错误,就想着直接把output规则设置为drop。但是因为这个原因导致ssh再也连接不上了。

因为我一直以为只要把input的ssh端口允许通过就没问题了,但是忽略了ssh通信也是交互的。如果output的默认规则是drop的话。必须把到ssh目的端口的打开。

后来终于把防火墙配置好了,但是由于要搭建hadoop集群。安装的时候都说要把防火墙禁用。我就有想当然了,以为iptables -F命令就能把防火墙禁用,但是悲剧的是,ssh连接又断了,后来想想是因为默认的input规则是drop,如果只是iptables -F的话只是把里面的例外规则全部清除了,防火墙并没有关闭。导致有一次让服务商去重启了服务器。

一天就因为防火墙的问题,让服务商重启了两次电脑,自己都觉得有些不好意思,还好那边的人还是比较配合的。谨记下次在自己的服务器上先进行相同的操作。确认无误后再在生产环境上部署,对于不熟悉的知识,不能在武断了,要实践,只有见证的事实才是正确的。

还是不能够太粗心,今天部署hadoop集群的时候,因为slave里面配置的master的地址是错误的,导致集群启动的时候,报出Directory /home/hadoop/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible错误。但是明明有这个文件,在slave里面是有连接不上master的错误的,但是没有仔细看master的地址是错误的。后来修改了重新格式化就成功了。

小事里面也是能看出问题的,这个毛病已经很久就有了,谨记少犯这种错误。