介绍

一般ufw(防火墙)在日常系统安装后是默认不开启的, 我们常用命令sudo ufw status来查看防火墙的状态是否开启。

若输入命令后, 显示Status: inactive, 则表示防火墙未激活, 此时若有需要,我们可以通过命令sudo ufw enable来打开防火墙。

输入命令ufw help查看此命令的用法, 接下来我们介绍这些以及相关的常用操作

查看防火墙开启/激活状态, 以及如何开启/关闭

1
2
3
4
ufw status                          # 显示防火墙状态
ufw status verbose # 显示详细防火墙状态
ufw enable # 启用防火墙
ufw disable # 禁用防火墙

规则添加

本篇举例所涉及到的规则配置方式有限, 只举例典型规则配置及这些配置的简单结合, 可根据本节所举例的典型规则自行结合出符合安全需求的防火墙规则。

纯端口相关

一般设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ufw allow http              # 允许http连接
ufw denty http # 阻止http连接


ufw allow 22 # 允许22端口的连接
ufw denty 22 # 阻止22端口的连接

ufw allow 22:55 # 允许22到55的端口的连接
ufw denty 22:55 # 允许22到55的端口的连接


ufw allow 22/tcp # 允许22端口的tcp连接
ufw denty 22/tcp # 阻止22端口的tcp连接

ufw allow 22/udp # 允许22端口的udp连接
ufw denty 22/udp # 阻止22端口的udp连接

ufw denty 22:55/tcp # 允许22到55的端口的tcp连接
...
...

出入设置

1
2
3
4
5
ufw allow in 22                # 允许22端口的流量进入
ufw allow out 22 # 允许22端口的流量出去

ufw denty in 22 # 阻止22端口的流量进入
ufw denty out 22 # 阻止22端口的流量出去

纯 ip 相关

1
2
3
4
5
ufw allow from ip号           # 允许此ip的所有连接
ufw denty from ip号 # 阻止此ip的所有连接

ufw allow from ip号/子网号 # 允许此ip的特定子网连接
ufw denty from ip号/子网号 # 阻止此ip的特定子网连接

ip + 端口 相关

1
2
ufw allow from ip号 to any poart 22          # 允许此ip的通过端口22连接
ufw denty from ip号 to any poart 22 # 阻止此ip的通过端口22连接

规则删除

  • 通过添加命令删除

    1
    ufw delete allow 11222/tcp             # 删除allow 11222/tcp 这条规则
  • 通过列表序号删除

    1
    2
    3
    ufw status numbered                 # 将防火墙状态显示为规则列表, 此列表中会给每个规则分配key, 以便进行后续删除操作
    ufw delete 1 # 删除列表中第 1 条规则
    ufw delete n # 删除列表中第 n 条规则