如何设置Ubuntu服务器版防火墙

在Ubuntu服务器中,默认使用 ufw(Uncomplicated Firewall)作为防火墙管理工具。它是对iptables的简化封装,适合快速配置防火墙规则。以下是设置防火墙的详细步骤:

1. 安装与启用 ufw

安装(通常已预装):

bash 复制代码
sudo apt update && sudo apt install ufw

启用防火墙:

bash 复制代码
sudo ufw enable  # 启用后防火墙会随系统启动

2. 基本防火墙规则配置

允许特定端口

允许SSH(端口22,防止被锁):

bash 复制代码
sudo ufw allow 22/tcp

允许HTTP/HTTPS:

bash 复制代码
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

允许其他自定义端口(如MySQL):

bash 复制代码
sudo ufw allow 3306/tcp

拒绝端口

拒绝某个端口(如禁止外部访问8080):

bash 复制代码
sudo ufw deny 8080/tcp

基于IP的规则

允许特定IP访问所有端口:

bash 复制代码
sudo ufw allow from 192.168.1.100

允许IP访问指定端口:

bash 复制代码
sudo ufw allow from 192.168.1.100 to any port 22
  1. 查看与管理规则
    列出所有规则:
bash 复制代码
sudo ufw status numbered  # 显示规则编号

删除规则(根据编号):

bash 复制代码
sudo ufw delete 2  # 删除编号为2的规则

4. 高级配置

限制连接速率(防DDoS)

限制某端口的最大连接数(例如SSH每分钟最多3次):

bash 复制代码
sudo ufw limit 22/tcp

允许范围端口

允许端口范围(如5000-6000):

bash 复制代码
sudo ufw allow 5000:6000/tcp

5. 应用预定义配置文件

ufw 内置了常见服务的配置文件(如Nginx、Apache):

查看可用配置:

bash 复制代码
sudo ufw app list

允许应用配置(如Nginx Full包含80和443):

bash 复制代码
sudo ufw allow 'Nginx Full'

6. 防火墙状态与日志

检查防火墙状态:

bash 复制代码
sudo ufw status verbose

启用日志记录:

bash 复制代码
sudo ufw logging on  # 日志路径:/var/log/ufw.log

7. 禁用或重置防火墙

临时禁用防火墙:

bash 复制代码
sudo ufw disable

重置所有规则(恢复默认):

bash 复制代码
sudo ufw reset

注意事项

SSH端口必须放行:如果通过SSH远程连接,需确保防火墙允许SSH端口,否则启用后可能无法远程登录。

测试规则:修改规则后,使用 telnet 或 nmap 验证端口是否开放:

bash 复制代码
nmap -p 22,80,443 your_server_ip

防火墙与服务的协同:若端口在防火墙中开放,但服务未监听该端口,外部仍无法访问。

相关推荐
chlk12312 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑13 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件13 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒14 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes