前言

UFW 是 Ubuntu 默认的一款防火墙工具,它提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面,用来设置复杂的防火墙规则。

ufw-firewall.png

我相信有很多很多 iptables 前端应用,但 UFW 绝对是那些想要快速、简单的就建立自己的防火墙,而且还很安全的用户的最佳替代品之一。推荐 Debian、Ubuntu 和 Linux Mint 这些发布版本的新用户使用 UFW 防火墙工具。

安装 UFW

检查下系统上是否已经安装了 UFW

sudo dpkg --get-selections | grep ufw

如还没有安装,通过apt-get install命令来安装

sudo apt-get update
sudo apt-get install ufw

开启 IPv6 支持

若不启用 IPv6 支持,默认情况ufw防火墙只针对 IPv4。若要启用 IPv6 支持,请使用 nanovim 或者其他您喜欢的编辑器打开 UFW 配置:

sudo nano /etc/default/ufw

然后确定 IPV6 的值为 yes。它应该如下所示:

IPV6=yes

保存并关闭文件。

默认策略

刚开始使用UFW防火墙,则要定义的第一个规则是您的默认策略

sudo ufw default deny incoming
sudo ufw default allow outgoing

默认策略为拒绝传入并允许传出连接。

启用/禁用

在使用前,你应该检查下 UFW 是否已经在运行。

sudo ufw status

如果你发现状态是 inactive ,意思是没有被激活或不起作用。

sudo ufw enable  #启用
sudo ufw disable  #禁用
sudo ufw reset  #重置

启用ufw前,请添加允许 ssh 连接的相关规则,如下:

sudo ufw allow ssh

使用与配置

列出当前UFW规则

sudo ufw status verbose

添加规则

允许入站(allow)

默认情况,没有允许就是拒绝(入站),使用 ufw allow <端口> 来添加允许访问的端口或协议。规则中未明确指定tcpudp协议,默认将对tcpudp协议同时生效。

示例如下:

#添加22端口
sudo ufw allow ssh  

#添加80端口
sudo ufw allow http  

#添加443端口
sudo ufw allow https  

#添加2333端口,仅TCP协议
sudo ufw allow 2333/tcp   

#添加6666端口,仅UDP协议
sudo ufw allow 6666/udp   

#添加8888到9999之间的端口
sudo ufw allow 8888:9999  

# 允许来自特定 IP 地址的连接
sudo ufw allow from 203.0.113.4 

# 允许特定ip连接特定的端口
sudo ufw allow from 203.0.113.4 to any port 22

# 允许 203.0.113.1 到 203.0.113.254 连接
sudo ufw allow from 203.0.113.0/24

# 允许 203.0.113.1 到 203.0.113.254 连接指定端口
sudo ufw allow from 203.0.113.0/24 to any port 22

拒绝访问(deny)

使用 sudo ufw deny <端口> 来添加拒绝入站的端和协议,与添加允许的类似,差别只是 allow 换成了 deny

删除规则

普通删除

先使用 sudo ufw status 查看规则,再使用 sudo ufw delete [规则] <端口> 来删除规则。此方法将删除 IPv4 和 IPv6 规则(如果存在)。

sudo ufw delete allow 2333/tcp

通过编号删除

如果你有很多条规则,则在运行 sudo ufw status 命令查看规则时通过追加numbered 参数,来给每条规则显示编号。

To      Action          From
--      -----------         ------
[1] 22/tcp      ALLOW           192.168.0.104
[2] 21/tcp      ALLOW           Anywhere
[3] 21/tcp      ALLOW           Anywhere (v6)

然后使用 sudo ufw delete <编号> 来删除规则会是更方便的选择。但需要注意的是,如果启用了 IPv6,则还需要删除相应的 IPv6 规则。

关于ufw防火墙工具的更多用法,输入 man ufw 查看 ufw 用户手册。


相关推荐

  1. 使用 Autofs 实现 NFS 共享目录动态挂载
  2. LFTP 命令常见用法详解
  3. macOS 使用 Setfile 命令更改文件创建时间和修改时间
  4. ngx_waf:一款高大全的 Nginx 网站防火墙模块
  5. CentOS 7 安装使用 iptables 防火墙方法介绍
  6. Linux 服务器配置密钥实现远程免密登录
文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/4544.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。