您的位置:首页 > 运维架构 > Linux

CentOS7下关于iptables导致的故障的一次对话

2017-09-27 10:46 453 查看
一、故障现象:
早上刚开电脑就接到朋友电话,说他的一台阿里云的服务器(CentOS7)无法登陆进去,让我帮忙看看,然后有了接下来的对话:
我:“服务器昨天有做过什么操作没?比如iptables,阿里云的安全组策略调整”。

他:“昨天下班前还好好的啊,我没动过什么啊。”

二、分析处理过程:
检测1:开始ping那台服务器(发现没有包返回)




检测2:查看远程连接端口是否开启(端口提示连接失败)



检测3:登陆阿里云控制台(通过终端登陆系统)






检测4:点击“远程连接”,然后输入远程连接密码,进入终端



检测5:登陆到终端(检测端口情况、网络访问情况等)



端口是正常的(而且我确认安全组中22端口也是开放的),接着我觉得有必要检查下防火墙策略(虽然朋友一直跟我说没碰iptables)。
检测6:检查iptables的状态



默认的出口策略居然是DROP,怪不得没有任何回应的包



修改完后,重新测试下,发现立马可以登录了。



接着我们开始下面的对话:
我:“防火墙的默认策略被调整了吧,我已经调整回来了,现在OK了”
他:“要不帮我把iptables关了吧”
我:“好的”


先清空相关策略,然后停止iptables服务(提示没服务找不到)
Failed to stop iptables.service: Unit iptables.service not loaded.
centos从7开始默认用的是firewalld,这个是基于iptables的,所有默认会有iptables的核心,但是iptables的服务是没安装的。
所以当你想使用iptables并且对它进行管理,需要安装iptables-service:

[root@Docker01 ~]# yum -y install iptables-services
[root@docker01 ~]# systemctl stop iptables.service
关闭iptabls,设置开机不启动



到此,整个处理过程就完成了。
三、小结:
1、线上调整iptables之前,最后在计划任务里面添加一条定期关闭iptables服务的命令(避免出现被被挡在门外的情况)。
2、我一般是在测试环境中先进行调试,确认无误后,然后才在生产环境中进行操作,这样误操作的概率会小很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iptables