防火墙常用命令
大约 2 分钟
Linux防火墙常用命令
启动、停止和重启防火墙
启动防火墙
systemctl start firewalld
停止防火墙
systemctl stop firewalld
重启防火墙
systemctl restart firewalld
查看防火墙状态:
systemctl status firewalld 或者 firewall-cmd --state
重新加载配置:
firewall-cmd --reload
防火墙规则配置
添加端口:
这将永久地为public区域添加TCP端口80的访问权限。注意--permanent参数确保规则在系统重启后仍然有效。
firewall-cmd --zone=public --add-port=80/tcp --permanent
移除端口:
这将永久地从public区域移除TCP端口80的访问权限。
firewall-cmd --zone=public --remove-port=80/tcp --permanent
添加服务:
这将为public区域添加HTTP服务的访问权限。
firewall-cmd --zone=public --add-service=http --permanent
移除服务:
这将从public区域移除HTTP服务的访问权限。
firewall-cmd --zone=public --remove-service=http --permanent
防火墙规则查询
列出所有开放的端口:
这将列出public区域中所有开放的端口。
firewall-cmd --zone=public --list-ports
列出所有区域:
这将列出所有已配置的区域以及它们各自绑定的接口。
firewall-cmd --get-active-zones
列出特定区域的所有配置:
这将显示public区域的所有配置,包括端口、服务和接口。
firewall-cmd --zone=public --list-all
防火墙其他常用命令
查看版本:
firewall-cmd --version
查看帮助信息:
firewall-cmd --help
将设置为开机自启:
systemctl enable firewalld
禁止开机自启:
systemctl disable firewalld
是否设置为开机自启:
systemctl is-enabled firewalld
扩展
zone的概念
命令中如果不加zone信息,会将规则作用于默认域
#查看默认域
firewall-cmd --get-default-zone
- public(公共) —— [默认]公网访问,不受任何限制。
- work(工作) —— 用于工作区。基本信任的网络,仅仅接收经过选择的连接。
- home(家庭) —— 用于家庭网络。基本信任的网络,仅仅接收经过选择的连接。
- trusted(信任) —— 接收的外部网络连接是可信任、可接受的。
- block(限制) —— 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。
- dmz(隔离区) —— 英文"demilitarized zone"的缩写,此区域内可公开访问,它是非安全系统与安全系统之间的缓冲区。
- drop(丢弃) —— 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
- external(外部) —— 允许指定的外部网络进入连接,特别是为路由器启用了伪装功能的外部网。
- internal(内部) —— 内部访问。只限于本地访问,其他不能访问。