Ubuntu 安装与使用UFW防火墙 | ufw与iptables

iptables 是一个通过控制 Linux 内核的 netfilter 模块来管理网络数据包的流动与转送的应用软件,其功能包括不仅仅包括防火墙的控制出入流量,还有端口转发等等。iptables 内部有表 tables、链 chains、规则 rules 这三种概念。iptables 的每一个 “表” 都和不同的数据包处理有关、决定数据包是否可以穿越的是 “链”、而一条 “规则” 在链里面则可以决定是否送往下一条链(或其它的动作)。

UFW(Uncomplicated Firewal)是 Ubuntu 下基于 iptables 的接口,是广泛使用的 iptables 防火墙 的前端应用,旨在简化配置防火墙的过程。默认情况下 UFW 为关闭状态,开启时默认为拒绝所有传入链接,并允许所有传出连接。这意味着任何人尝试到达您的服务器将无法连接,而服务器内的任何应用程序能够达到外部世界。

注:尽量避免 ufw 与 iptables 同时使用。

# 安装
sudo apt install ufw

# 查看状态
sudo ufw status

# 查看详细信息
sudo ufw status verbose

# 开启防火墙
sudo ufw enable

# 关闭防火墙
sudo ufw disable

设置默认策略:

# 默认禁止所有其它主机连接该主机
sudo ufw default deny incoming

# 默认允许该主机所有对外连接请求
sudo ufw default allow outgoing

# 打开端口8080
sudo ufw allow 8080

# 仅打开端口8080的tcp
sudo ufw allow 8080/tcp

# 仅打开端口8080的udp
sudo ufw allow 8080/udp

# 允许8080到8099的端口
sudo ufw allow 8080:8099

# 关闭8080端口
sudo ufw deny 8080

# 删除“打开端口8080”这项许可
sudo ufw delete allow 8080

# 查看所有规则并显示规则编号
sudo ufw status numbered

# 按编号删除
sudo ufw delete allow 2

# 按服务删除
sudo ufw delete allow ssh

# 允许特定IP地址访问
sudo ufw allow from 192.168.1.100

# 允许特定范围主机(15.15.15.1 - 15.15.15.254)
sudo ufw allow from 15.15.15.0/24

# 允许特定范围主机访问特定端口
sudo ufw allow from 15.15.15.0/24 to any port 22

# 允许连接到特定的网卡
sudo ufw allow in on eth0 to any port 80

# 重置UFW,恢复至初始状态
sudo ufw reset

参考:Ubuntu 安装与使用UFW防火墙 | ufw与iptables https://blog.csdn.net/m0_37801862/article/details/122912022