如何看防火墙策略linux
如何看防火墙策略linux详细介绍
在 Linux 中查看防火墙策略需要根据使用的防火墙工具(如 iptables、firewalld、ufw 等)选择对应的命令。以下是常见防火墙工具的查看方法:
一、使用 iptables(传统防火墙工具,适用于 CentOS 6/Ubuntu 等)
1. 查看当前生效的规则(需管理员权限):
bash
iptables
-L:列出规则(List)。-n:不解析 IP 和端口名称(直接显示数字,避免延迟)。-v:显示详细信息(如数据包计数、接口等)。
2. 按链(Chain)查看规则:
- 输入规则(INPUT 链):bash
iptables INPUT - 输出规则(OUTPUT 链):bash
iptables OUTPUT - 转发规则(FORWARD 链):bash
iptables FORWARD
3. 查看带规则编号的列表(方便删除规则):
bash
iptables --line-numbers
4. 保存当前规则(避免重启后丢失):
bash
iptables-save /etc/iptables/rules.v4ip6tables-save /etc/iptables/rules.v6
二、使用 firewalld(CentOS 7+/RHEL 7+ 等现代系统)
1. 查看当前活动的防火墙策略:
bash
firewall-cmd --list-all
- 会显示区域(Zone)、允许的服务 / 端口、伪装(MASQUERADE)、转发规则等。
2. 查看详细规则(包括端口、协议、源 / 目标地址):
bash
firewall-cmd --list-rules
3. 查看永久生效的规则(重启后仍有效):
bash
firewall-cmd --list-all
4. 查看特定区域的规则(默认区域通常是
public):
bash
firewall-cmd public --list-all
三、使用 ufw(Ubuntu/Debian 简化防火墙工具)
1. 查看状态(简洁版):
bash
ufw status
2. 查看详细规则(带编号):
bash
ufw status numbered
- 输出包含规则编号、动作(ALLOW/DENY)、端口 / 协议、来源等信息。
四、其他注意事项
- 权限问题:
所有操作需管理员权限(使用sudo或切换到 root 用户)。 - 规则生效范围:
iptables规则默认仅在内存中生效,重启后丢失,需用iptables-save保存到文件(如/etc/iptables/rules.v4),并通过脚本或服务(如iptables-persistent)开机加载。firewalld和ufw的永久规则需通过--permanent选项或配置文件设置,修改后需重新加载(如firewall-cmd --reload)。
- 规则结构说明:
- 规则通常按链(Chain)分组,如
INPUT(入站)、OUTPUT(出站)、FORWARD(转发)。 - 每条规则包含匹配条件(源 / 目标 IP、端口、协议等)和动作(ACCEPT/DROP/REJECT 等)。
- 规则通常按链(Chain)分组,如
五、示例输出解读(以 iptables 为例)
plaintext
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 0 0 DROP all -- * * 192.168.1.100 0.0.0.0/0
policy ACCEPT:链的默认策略为接受。num:规则编号。pkts/bytes:匹配该规则的数据包数和字节数。target:动作(如 ACCEPT/DROP)。prot:协议(tcp/udp/all)。source/destination:源 / 目标 IP(0.0.0.0/0表示所有 IP)。dpt:目标端口(如22对应 SSH)。
根据你的 Linux 发行版选择对应的工具,若不确定当前使用的防火墙,可以通过以下命令检查:
bash
systemctl status firewalldufw status
iptables >/dev/null
91234systemctl status firewalld ufw status iptables >/dev/null