Skip to content

防火墙

ufw 命令

基本用法

bash
#!/bin/bash

# 查看防火墙状态
ufw status

启用防火墙

bash
#!/bin/bash

# 启用防火墙
ufw enable

禁用防火墙

bash
#!/bin/bash

# 禁用防火墙
ufw disable

重置防火墙

bash
#!/bin/bash

# 重置防火墙
ufw reset

规则管理

允许端口

bash
#!/bin/bash

# 允许端口
ufw allow 80

# 允许端口范围
ufw allow 8000:9000/tcp

拒绝端口

bash
#!/bin/bash

# 拒绝端口
ufw deny 80

# 拒绝端口范围
ufw deny 8000:9000/tcp

允许 IP

bash
#!/bin/bash

# 允许 IP
ufw allow from 192.168.1.100

# 允许 IP 和端口
ufw allow from 192.168.1.100 to any port 22

拒绝 IP

bash
#!/bin/bash

# 拒绝 IP
ufw deny from 192.168.1.100

# 拒绝 IP 和端口
ufw deny from 192.168.1.100 to any port 22

规则列表

查看规则

bash
#!/bin/bash

# 查看规则
ufw status numbered

# 查看详细规则
ufw status verbose

删除规则

bash
#!/bin/bash

# 删除规则
ufw delete 1

实用示例

示例1:配置 Web 服务器

bash
#!/bin/bash

# 启用防火墙
ufw enable

# 允许 HTTP
ufw allow 80/tcp

# 允许 HTTPS
ufw allow 443/tcp

# 允许 SSH
ufw allow 22/tcp

示例2:配置数据库服务器

bash
#!/bin/bash

# 启用防火墙
ufw enable

# 允许 MySQL
ufw allow 3306/tcp

# 允许 PostgreSQL
ufw allow 5432/tcp

# 允许 SSH
ufw allow 22/tcp

示例3:限制访问

bash
#!/bin/bash

# 启用防火墙
ufw enable

# 允许特定 IP 访问
ufw allow from 192.168.1.100 to any port 22

# 拒绝其他 IP 访问
ufw deny 22/tcp

示例4:查看规则

bash
#!/bin/bash

# 查看规则
ufw status

# 查看规则编号
ufw status numbered

# 查看详细规则
ufw status verbose

最佳实践

1. 使用 ufw

bash
# 好的做法
ufw enable

# 不好的做法
iptables -P INPUT ACCEPT

2. 允许必要端口

bash
# 好的做法
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp

# 不好的做法
ufw allow 80
ufw allow 443

3. 限制访问

bash
# 好的做法
ufw allow from 192.168.1.100 to any port 22

# 不好的做法
ufw allow 22

总结

防火墙的关键点:

  1. ufw 命令:管理防火墙
  2. 规则管理:允许、拒绝端口和 IP
  3. 规则列表:查看、删除规则
  4. 实用示例:配置 Web 服务器、配置数据库服务器、限制访问、查看规则
  5. 最佳实践:使用 ufw、允许必要端口、限制访问

下一节我们将学习软件安装的使用。