如何在Ubuntu云服务器上使用UFW防火墙?

  • 发布时间:2020-02-20 12:37:26
  • 阅读次数:1787

UFW是Uncomplicated Firewall的简称,这是一款在Ubuntu云服务器上默认安装的防火墙软件。这篇文章的主要目的是帮助用户熟悉UFW防火墙的基本操作。

安装UFW

UFW在Ubuntu操作系统上是默认安装的。可以用以下命令来确认:

which ufw

如果提示UFW的路径,比如/usr/sbin/ufw,那么就说明已成功安装。如果因为某些原因,UFW没有安装,请通过下面的命令来安装:

sudo apt-get install ufw

也可以通过查看UFW的状态来确认:

sudo ufw status

一个可能的输出结果如下:

Status: active

To                         Action      From
--                         ------      ----
80/tcp                     DENY        Anywhere
443/tcp                    DENY        Anywhere
3306                       DENY        Anywhere
22                         ALLOW       192.168.0.1
3306                       ALLOW       192.168.0.1
80/tcp (v6)                DENY        Anywhere (v6)
443/tcp (v6)               DENY        Anywhere (v6)
3306 (v6)                  DENY        Anywhere (v6)

创建UFW规则

允许特定的协议和端口:

sudo ufw allow <port>/<optional: protocol>

以80端口和443端口为例,多用于Web应用场景:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

拒绝特定的协议和端口:

sudo ufw deny <port>/<optional: protocol>

以3306端口为例,禁止MySQL远程访问:

sudo ufw deny 3306

也可以直接用服务的名称来设置允许或拒绝:

sudo ufw deny mysql

允许来自特定IP的连接:

sudo ufw allow from <ip> to any port <port>

比如,我们要限制只允许从办公室的IP来远程登录云服务器,那么就可以这样设置:

sudo ufw allow from 192.168.0.1 to any port 22

启用、禁用、加载、重启

注意:在启用UFW之前,请确保已允许SSH访问,否则UFW开启之后,就无法远程登录云服务器了。

启用UFW:

sudo ufw enable

禁用UFW:

sudo ufw enable

加载UFW

sudo ufw reload

重启就是先禁用、再启用:

sudo ufw disable
sudo ufw enable

删除UFW规则

在删除UFW规则之前,需要先查看当前有哪些规则。下面是以编号方式查看当前UFW规则的命令:

sudo ufw status numbered

一个可能的输出结果如下:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     DENY IN     Anywhere
[ 2] 443/tcp                    DENY IN     Anywhere
[ 3] 3306                       DENY IN     Anywhere
[ 4] 22                         ALLOW IN    192.168.0.1
[ 5] 3306                       ALLOW IN    192.168.0.1
[ 6] 80/tcp (v6)                DENY IN     Anywhere (v6)
[ 7] 443/tcp (v6)               DENY IN     Anywhere (v6)
[ 8] 3306 (v6)                  DENY IN     Anywhere (v6)

现在,我们就可以删除对应编号的UFW规则了。删除命令如下:

sudo ufw delete <number>

其他UFW设置

如果要使用IPv6,请确保UFW支持IPv6。我们打开UFW的配置文件进行查看:

sudo vi /etc/default/ufw

请确保IPV6的值是yes。

IPV6=yes

如果修改了配置文件,请重启UFW使之生效。

sudo ufw disable
sudo ufw enable

如果设置错误,可以通过下面的命令,恢复UFW为初始设置:

sudo ufw reset

以上就是在Ubuntu操作系统的环境下UFW防火墙的基本操作。相信看到这里,你已经对UFW防火墙有了一些初步了解了。

【全文完】

< 上一篇:如何在CentOS云服务器上使用firewalld防火墙? 下一篇:如何更新Linux云服务器的操作系统? >