从 2008 年开始 Ubuntu 8.04 LTS 多了个简单的防火墙“UFW (Uncomplicated Firewall)”,它简化了 iptable 复杂的指令及参数,让人们能快速上手,之后更出现了图形接口的 GUFW (甚至连指令都免了)。原先为了 Ubuntu 而诞生的 UFW 现在也成功移植到基于 Debian 发展的 GNU/Linux (ezgo, Linux Mint) 以及 Arch Linux。
若系统尚未预载 UFW,请手动安装。
# Debian, Ubuntu
$ sudo aptitude install ufw
# Arch Linux
$ sudo pacman -S ufw
状态查询,默认为闲置 (inactive)。
$ sudo ufw status
Status: inactive
启动 UFW 服务 (enable)。
$ sudo ufw enable
默认 (default) 全部阻挡 (deny)。
$ sudo ufw default deny
允许 (allow) 所有的 ssh 埠口连线。
$ sudo ufw allow ssh
允许来自 127.0.0.1 (本机) 的 3389 埠口连线 (xrdp)。
$ sudo ufw allow from 127.0.0.1 to any port 3389
状态查询,已成功启动 (active) 并加入自订规则。
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
3389 ALLOW 127.0.0.1
允许来自 192.168.1.2 上所有连线。
$ sudo ufw allow from 192.168.1.2
允许来自 192.168.2.1 ~ 192.168.2.254 的所有 22 埠口连线。
$ sudo ufw allow from 192.168.2.1/24 to any port 22
阻挡来自 110.88.4.5 的 22 埠口连线。
$ sudo ufw deny from 110.88.4.5 to any port 22
阻挡来自 27.16.3.1 ~ 27.16.3.254 的所有连线。
$ sudo ufw deny from 27.16.3.0/24
图形接口的 GUFW 必须手动安装,但不建议纯文字环境的 GNU/Linux 安装,它会与一些桌面环境 (Desktop Environment) 的套件产生相依性,例如 gir1.2-gtk-3.0, notify-osd ... 等。
# Debian, Ubuntu
$ sudo aptitude install gufw
# Arch Linux
$ sudo pacman -S gufw
开启 GUFW:
请于应用程式 (Application) -> 系统 (System) -> 管理 (Administration) -> 防火墙设定 (Firewall configuration)开启;或直接于终端机输入指令开启。
$ gufw
▲ 使用前得先用管理者帐号解锁 (Unlock)。
▲ 输入密码。
▲ 解锁后可看到先前自订的规则,以下为新增规则之范例。
▲ 可依应用程式自订规则。
▲ 也可自行输入埠口。
▲ 进阶设定里则可依范围自订规则。
看完此文后,相信大家都能帮 GNU/Linux 加上一道防护,但 ufw 这面防护罩只适合简易、单纯的环境,若有 NAT 或更进阶的使用还请改用 iptable。