[生产]iptables 常用命令

时间:2022-12-13 15:05:12

1、概念: 

iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的”安全框架”中,这个”安全框架”才是真正的防火墙,这个框架的名字叫netfilter  

netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。 

iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。 

2、查 

iptables --line -L -nv  

[生产]iptables 常用命令

 

3、增 

iptables -I INPUT -s 172.27.133.132 -p tcp  -m multiport --dport 10080,10404,10443 -j DROP

(拒绝 源地址172.27.133.132 访问 10080,10404,10443 端口  )

iptables -I INPUT -s 172.27.133.132 -p tcp  -m multiport --dport 19100 -j DROP

(拒绝 源地址172.27.133.132 访问19100 端口  )

 

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 8000 -j ACCEPT (表示允许192.168.1.0/24 IP段访问8000端口) 
iptables -I INPUT -p tcp --dport 2376 -j DROP (表示拒绝任何tcp连接的方式访问2376端口)

 

注意:iptables 有执行顺序。是按照num数字顺序执行。使用iptables --line -L -nv 命令查看所有的规则执行的顺序 

添加规则到第二行的执行位置:iptables -I INPUT 2 -s 192.168.1.0/24 -p tcp --dport 8000 -j ACCEPT 

 

4、删 

删除第3行规则:iptables -D INPUT 3
添加多个不连续的端口:
iptables -I INPUT -s 172.20.170.0/24 -m multiport -p tcp --dport 3306,33060 -j ACCEPT
iptables -I INPUT -s 132.246.0.0/16,192.168.1.0/24  -p tcp --dport 8082 -j ACCEPT

 

iptables端口封堵: 

192.168.1.191 

cat /etc/rc.d/rc.local 

iptables -I INPUT -p tcp --dport 8000 -j DROP(需要在命令行中执行一次,然后再加入到rc.local文件中) 

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 8000 -j ACCEPT(需要在命令行中执行一次,然后再加入到rc.local文件中) 

iptables -I INPUT -p tcp --dport 2376 -j DROP(需要在命令行中执行一次,然后再加入到rc.local文件中) 

iptables -I INPUT -s 127.0.0.1 -p tcp --dport 2376 -j ACCEPT(需要在命令行中执行一次,然后再加入到rc.local文件中) 

再检查下封堵的端口 

iptables -L -n |grep "端口" 

 

 

 

 

1、

指定-m multiport就可以使用--dports、--sports

参考: ​http://www.zsythink.net/archives/1544​

标准的--dport与--sport使用方式: 80、80:90、:80、90:

扩展的--dports与--sports使用方式:以上组合,使用冒号来分离。

2、

指定-m iprange就可以使用--src-range 、--dst-range

参考: ​http://www.zsythink.net/archives/1564​

标准的-s 使用方式:192.168.1.1、192.168.1.0/24、192.168.1.2,10.1.1.1、(192.168.1.1,10.1.1.0/24???)

扩展的--src-range: from[-to] 应该是单独192.168.1.1、192.168.1.0/24、192.168.1.5-192.168.1.6

实际操作:

root@ca:~# iptables -t filter -I INPUT -p tcp -s 111.192.82.1,112.35.36.2 --dport 40022 -j ACCEPT

实际会拆解成2条规则

root@ca:~# iptables -t filter -I INPUT -m iprange --src-range 111.192.82.1,112.35.36.2 --dport 40022 -j ACCEPT

iptables v1.6.0: iprange: Bad value for "--src-range" option: "111.192.82.1,112.35.36.2"

Try `iptables -h' or 'iptables --help' for more information.

思考:iprange是否要连续ip地址

3、

iptables -I INPUT 3 -p tcp -m tcp --dport 40022,8006 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 60 --name prox --mask 255.255.255.255 --rsource -j ACCEPT

以上出现语法错误

iptables -I INPUT 3 -p tcp -m tcp -m multiport --dports 40022,8006 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 60 --name prox --mask 255.255.255.255 --rsource -j ACCEPT

以上为1条规则,不像当-m iprange --src-range 连续ip段时,会拆分为1条1条的规则

 

来自 <​​http://t.zoukankan.com/weihua2020-p-14072839.html​​>