操作系统部署后一般不会安装iptable服务,但系统确认查询到相关规则,原因在于别的应用如firewalld会调用iptable来创建规则。
为验证iptables规则添加在iptables服务状态有无或运行、停止下的规则功能是否有效,按照如下几种场景进行测试:
【测试环境】
服务器三台:192.168.137.23、192.168.137.24、192.168.66.10
三台服务环境操作前都可以互相SSH输入密码登录
【规则信息】
在192.168.137.23上设置iptables规则,只允许192.168.137.24可以ssh访问,其他ip无法登录
iptables -A INPUT -s 192.168.137.24/32 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j DROP
【测试情况】
【场景1】服务器上无iptables服务、无iptables规则,新增iptables规则查看规则生效情况
服务器:192.168.137.23、192.168.137.24、192.168.66.10
三者可以互相ssh登录
test6(192.168.137.23)上iptables规则、无iptables服务,也无iptables文件
在test6(192.168.137.23)上增加iptables规则,只允许192.168.137.24这台可以访问,其他IP都无法访问
添加后规则
验证:
192.168.66.10 这台无法ssh登录
而192.168.137.24这台可以正常ssh登录192.168.137.23
【场景2】服务器有iptables服务未开启、无规则、有配置文件情况下,添加规则查询生效情况
命令方式添加规则:
规则信息及服务状态
结果:和【场景1】结果一致,
从192.168.66.10上telnet不通并且无法ssh登录
但从192.168.137.24上ssh登录正常
【场景3】服务器有iptables服务并且开启、无规则、有配置文件情况下,添加规则查询生效情况
添加规则前192.168.66.10 、192.168.137.24 ssh登录192.168.137.23正常
添加规则
规则生效情况:
结果:和【场景1】结果一致,
从192.168.66.10上telnet不通并且无法ssh登录
但从192.168.137.24上ssh登录正常
【场景4】 在【场景3】的情况下,将iptables服务关闭,查询规则是否有效
关闭iptables服务
查询规则情况
结果:
从192.168.66.10上可以正常telnet和ssh登录
另外一台192.168.137.24可以正常ssh登录
【结论】:
1、不管iptables服务是否有无,通过命令方式添加的iptables规则都是立马生效的;
2、iptables服务关闭后,iptables -nvL查询无相关规则,即原有的规则就会丢失;