您的位置:

Linux下查看防火墙规则

一、iptables是什么?

在Linux系统中,如果想要查看防火墙规则,则需要使用iptables命令,它是一个在Linux内核中提供的防火墙软件,可用于配置和管理netfilter防火墙、NAT和路由表规则。iptables可以让用户拒绝或允许所有来自于某些特定IP地址的流量,还可以把所有数据包定向到一个网络位置。

iptables可以对数据包进行过滤(如拒绝某些来源、目的地、协议、端口等),并可根据规则对数据包重定向、修改、丢弃、记录等,同时可以支持NAT、端口映射等功能。

二、查询iptables规则

要查询当前Linux系统的iptables规则,可以使用以下命令:

iptables -L -n -v

运行结果会列出已经启用的iptables规则:

Chain INPUT (policy ACCEPT 1 packets, 48 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1 packets, 48 bytes)
 pkts bytes target     prot opt in     out     source               destination         

从输出结果看,iptables有3个默认链:INPUT、FORWARD、OUTPUT,而每个链都有默认的允许策略。默认情况下,这三个链的策略都是 ACCEPT,允许所有的数据包通过。

三、iptables规则的添加与删除

如果想要添加规则,可以使用以下命令:

iptables -A INPUT -s 192.168.1.23 -j DROP

这条规则的意思是,拒绝所有源IP为192.168.1.23的数据包。可以使用iptables-save命令将规则保存到文件中:

iptables-save > /etc/sysconfig/iptables

如果想要删除指定规则,需要首先查询该规则的编号,使用以下命令查看:

iptables -L -n --line-numbers

然后,使用以下命令删除特定规则:

iptables -D INPUT <规则编号>

四、iptables规则的重置与禁用

如果想要重置iptables规则,可以使用以下命令:

iptables -F 
iptables -X 
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

以上命令会清空所有规则、删除自定义链、把所有策略设置为 ACCEPT。

如果需要禁用iptables,可以使用以下命令:

systemctl stop iptables.service
systemctl disable iptables.service

五、iptables-support是什么?

iptables-support是iptables命令的支持库,如果系统中没有该库,则无法正常运行iptables。

如果需要安装iptables-support,可以使用以下命令:

yum install iptables-support

六、总结

通过本文的介绍,我们可以了解到,在Linux系统中,使用iptables命令可以配置和管理netfilter防火墙、NAT和路由表规则。我们可以使用iptables -L命令查看当前系统的iptables规则,使用iptables -A命令添加规则,使用iptables -D命令删除规则,iptables -F命令重置iptables规则,systemctl stop iptables.service命令禁用iptables,如果iptables-support库未安装,则需要使用yum install iptables-support命令进行安装。