一.查看现有防火墙策略

iptables -L -n

iptables -L -n --line-number      #--line-number参数会显示策略编号,该编号在删除策略时使用

二.增加防火墙策略(以22端口为例)

iptables -A INPUT -s 192.168.220.0/24 -p TCP --dport 22 -j ACCEPT    #增加网段
iptables -A INPUT -s 192.168.1.1 -p TCP --dport 22 -j ACCEPT         #增加单个IP
iptables -A INPUT -p TCP --dport 22 -j DROP

说明:

1. -A代理在末尾追加,如果要在开头插入使用-I

2.多IP使用逗号(半角)相隔,多端口添加-m multiport然后端口使用逗号(半角)相隔

iptables -A INPUT -s 127.0.0.1,1192.168.1.1 -p tcp -m multiport --dport 22,23 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 22,23 -m comment --comment "deny all 22,23" -j DROP

3.对于连续IP合用--src-range

iptables -I INPUT -m iprange --src-range 192.168.220.128-192.168.220.139 -p tcp -m multiport --dport 22,23 -m comment --comment "subnet:22,23" -j ACCEPT

注意这个语句的结果中source会变成0.0.0.0/0,但不用担心他会对所有IP放行,后边有source IP range的描述那是起作用的IP

 

 4. 如果原来没有策略或者不冲突的情况下,-A和-I的结果是一样的;但是在“远程添加防火墙”和“限制22端口”两个条件下,-I可能会让你陷入致命的麻烦:

iptables -I INPUT -p TCP --dport 22 -j DROP
iptables -I INPUT -s 192.168.1.1 -p TCP --dport 22 -j ACCEPT
iptables -I INPUT -s 192.168.220.0/24 -p TCP --dport 22 -j ACCEPT

看起来这三句和-A那三句结果是一样的,但防火墙策略是即时生效的也就是在“iptables -I INPUT -p TCP --dport 22 -j DROP”执行后,你的ssh就马上会断开了后边两句根本不会执行

 

三.修改防火墙策略

iptables -R INPUT 2 -s 192.168.1.1 -p TCP --dport 22 -j DROP   #2是--line-nember查到的,所有参数都要写-R不是在原策略基础上修改而就是直接取化,所以这里的-s虽然原来就是192.168.1.1但还是要写,不然结果就是DROP掉所有ip对22端口的连接请求

 

四.删除防火墙策略

iptables -D INPUT 2   #2是--line-number查到的,此句会删除第2条策略

iptables -F           #此句会清空所有防火墙规则,慎用

 

五.保存防火墙规则

上边对防火墙的修改只是临时的,并没有存入配置文件(/etc/sysconfig/iptables),防火墙服务重启之后策略会退回到之前保存的策略状态;要防火墙配置永久生效要进行保存

service iptbales save

 

转自:https://www.cnblogs.com/lsdb/p/7060251.html