iptables 是 Linux 上的核心防火墙软件。
防火墙管理工具 — ufw
UFW,全名 Uncomplicated Firewall,是基于 iptables 的前端管理工具,旨在使 Linux 系统上的防火墙配置更加直观和易于管理。UFW 与 iptables 的关系类似 myphpAdmin 与 MySQL 的关系。UFW 提供了简单易用的命令和选项来配置和管理 iptables 的防火墙规则,进而控制入站和出站网络流量,对外部访问进行过滤,保护服务器免受未经授权的访问。
ufw 本身状态管理
查看防火墙工具 ufw 的状态
sudo ufw status;
设置防火墙工具 ufw 的状态
sudo ufw enable;
sudo ufw disable;
防火墙规则管理
添加规则
针对端口的规则
sudo ufw allow <port/tcp>
sudo ufw deny <port/tcp>
针对 IP 的规则
// 针对特定 IP
sudo ufw allow from <IP>
sudo ufw deny from <IP>
// 针对特定的 IP 范围
sudo ufw allow from <start_IP>/<end_IP>
sudo ufw deny from <start_IP>/<end_IP>
针对服务/应用程序的规则
sudo ufw allow <service>
sudo ufw deny <service>
删除规则
sudo ufw delete <rule_number>
是 sudo ufw status
指令中可以查到的防火墙规则编号。
部署在主机上的软件系统对外服务时,往往需要“打通”对应的端口访问路径。访问路径的通畅建立,需要考虑路径上的各个环节。
- 软件开启对应的端口监听。通过
ss -tnlp
或netstat -tnlp
可以看到; - 主机防火墙规则放行。通过
sudo ufw status
查看。
主机防火墙规则没有放行,软件即使开启端口监听,外部依旧无法访问对应的端口。
ufw 运行过程跟踪审计
ufw 运行日志记录在 /var/log/ufw.log
中。
VPS 上的 ufw
在云平台申请的虚拟主机(VPS)上,各个 VPS 内部的 ufw 往往是默认关闭状态(disable),云平台通过另外统一的界面管理各个 VPS 的防火墙。