一世贪欢的私域

一世贪欢的私域

Linux防火墙

2
2025-10-13
Linux防火墙

Linux防火墙

ufwfirewalld 的简单使用。

一、ufw

  1. 启动,重启,重载,停止
systemctl start ufw
ufw enable

systemctl restart ufw
ufw reload

systemctl stop ufw
ufw disable
  1. 开启自启,关闭开机自启
systemctl enable ufw
systemctl enable --now ufw

systemctl disable ufw
systemctl disable --now ufw
  1. 查看防火墙状态,当前规则
systemctl status ufw
ufw status
  1. 放行单个端口
# 不带协议
ufw allow 端口

# 带协议
ufw allow 端口/协议
ufw allow 80
ufw allow 443/tcp
  1. 放行端口范围
ufw allow 端口1:端口2/tcp
ufw allow 80:90/tcp
  1. 按照源IP放行
ufw allow from ip或网段 to any port 22
ufw allow from 192.168.1.100 to any port 22
ufw allow from 192.168.1.0/24 to any port 22
  1. 删除规则
ufw delete allow 80
  1. 查看详细规则列表
ufw status numbered

删除某条规则

ufw delete 1

二、firewalld

  1. 启动,重启,停止,状态,重载配置
systemctl start firewalld
systemctl restart firewalld
systemctl stop firewalld

systemctl status firewalld
firewall-cmd --state
sudo firewall-cmd --reload
  1. 开启自启,关闭开机自启
systemctl enable firewalld
systemctl enable --now firewalld

systemctl disable firewalld
systemctl disable --now firewalld
  1. 查看当前开放的端口
firewall-cmd --list-ports

查看当前 zone 的完整配置

firewall-cmd --list-all
  1. 放行单个端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
  • --zone=public:指定作用的区域(默认是 public)

  • --add-port=80/tcp:开放 TCP 协议的 80 端口

  • --permanent:永久生效(不加此参数则只临时生效)

  1. 放行多个端口
firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=10000-20000/tcp --permanent
  1. 按照服务名放行
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent

# 简写
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
  1. 按照来意限制访问
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
  1. 删除已添加的端口,服务
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
firewall-cmd --zone=public --remove-service=http --permanent
  1. 查看防火墙规则,查看所有的 zone
firewall-cmd --list-all
firewall-cmd --list-all-zones

三、封面图

封面图