Ubuntu 防火墙通常指的是 ufw
(Uncomplicated Firewall),它是 Ubuntu 系统上默认的防火墙管理工具。ufw
基于 iptables
,但提供了更简单的图形界面和命令行操作,使得配置防火墙规则变得更加容易。
在 Ubuntu 系统中,默认情况下可能未安装 UFW。如果需要安装,可以使用以下命令:
sudo apt update
sudo apt install ufw
安装完成后,可以使用以下命令启用 UFW:
sudo ufw enable
启用/禁用防火墙:
sudo ufw enable # 启用防火墙
sudo ufw disable # 禁用防火墙
查看防火墙状态:
sudo ufw status # 查看防火墙状态
sudo ufw status verbose # 查看详细规则
允许/拒绝端口:
sudo ufw allow 22/tcp # 允许 SSH 连接
sudo ufw allow 80/tcp # 允许 HTTP 连接
sudo ufw deny 22/tcp # 拒绝 SSH 连接
允许特定 IP 访问:
sudo ufw allow from 192.168.1.100 to any port 22 # 允许特定 IP 访问 SSH
删除规则:
sudo ufw delete allow 22/tcp # 删除特定规则
重置防火墙规则:
sudo ufw reset # 重置所有规则并恢复默认策略
端口转发:
启用 IP 转发:
sudo nano /etc/ufw/sysctl.conf
# 取消注释: net/ipv4/ip_forward
sudo sysctl -p
添加转发规则:
sudo nano /etc/ufw/before.rules
# 在 *filter 部分后添加:
*nat :PREROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT
允许目标端口:
sudo ufw allow 8080/tcp
重启 UFW:
sudo systemctl restart ufw
限制连接速率:
sudo ufw limit ssh/tcp # 限制 SSH 连接速率
sudo ufw limit from 192.168.1.100 to any port 22 # 限制特定 IP 的 SSH 连接
启用日志记录:
sudo ufw logging on # 启用日志记录
sudo tail -f /var/log/ufw.log # 实时查看日志
Ubuntu 的 UFW 防火墙与 SELinux 是两种不同的安全机制,分别用于防火墙和访问控制。在 Ubuntu 系统上,可以同时使用 UFW 和 SELinux 来增强系统的安全性。但是需要注意的是,防火墙和 SELinux 可能会产生冲突,因为它们都会对网络流量和系统访问进行控制。
通过合理配置和管理 UFW 规则,可以显著提高 Ubuntu 系统的安全性,防止未经授权访问。