Ubuntu 防火墙的配置--ufw工具的使用

1.ufw安装

Ubuntu22.04默认安装了ufw,若没有安装,则使用以下命令安装:

sudo apt-get install ufw

2.查看ufw的状态

一般ufw是不会开启的,激活ufw用sudo ufw enable来激活。需要注意的是,在激活的时候,默认是不允许ssh端口连接的,ufw会保持当前的连接,这时候执行sudo ufw allow ssh 来开启ssh的端口。如果不执行,重启后下次ssh连接就不能正常连接,因为ufw默认允许内部流量出去,但不允许外部流量进来。

你可以通过下面的命令来检查ufw的状态。

sudo ufw status verbose

一般ufw命令只能在具有sudo权限的用户以及root用户下执行。执行完上面的命令后,如果开启了ufw则会输出下面这段文字和防火墙的规则。

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

如果没有激活ufw,则输出应该为Status: inactive 。

查看ufw的规则还有另一条命令

sudo ufw status

这条指令相比于上面的sudo ufw status verbose。这条指令则没有上面那条输出的信息多,上面那条指令会输出更为详细的端口规则。

还有一条查看的命令会给规则前面加上序列号,通过序列号可以删除规则。

sudo ufw status numbered

3.端口规则设置

ufw激活后的默认的策略是允许出去,不允许流量进来,这个可以在ufw的配置文件中看到。在配置文件/etc/default/ufw中可以看到DEFAULT_OUTPUT_POLICY=“ACCEPT”,如果需要端口可以出去,则需要自己配置。
可以通过ufw的命令来直接修改端口规则。
命令格式为: ufw allow port_number/protocol

ufw配置了一些特定的端口的规则,我们可以直接用。

sudo ufw allow http #允许http连接
sudo ufw denty http #阻止http连接

这些特定的端口定义在文件/etc/services 中。

我们也可以自己配置端口的规则。

sudo ufw allow 22/tcp #允许22端口的TCP
sudo ufw allow 22/udp #允许22端口的UDP
sudo ufw denty 22/tcp #阻止22端口的TCP
sudo ufw denty 22/udp #阻止22端口的UDP

如果不带有TCP或者UDP,则默认两种都可以。

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

如果要配置一组连续的端口,则可以这样。

sudo ufw allow 20:22/tcp #允许20到22端口的TCP
sudo ufw denty 20:22/tcp #阻止20到22端口的UDP

4.设置特定IP连接

可以设置特定的IP可以连接过来。

sudo ufw allow from xx.xx.xx.xx #允许特定IP连接过来
sudo ufw denty from xx.xx.xx.xx #阻止特定IP访问

指定特定IP连接到特定端口:

sudo ufw allow from xx.xx.xx.xx to any poart 22 #允许特定IP通过端口22
sudo ufw denty from xx.xx.xx.xx to any poart 22 #阻止特定IP通过端口22

设置特定的子网连接:

sudo ufw allow from xx.xx.xx.xx/24 #允许特定子网连接
sudo ufw denty from xx.xx.xx.xx/24 #阻止特定子网连接

5.配置出入

默认的规则都是进来的,我们可以通过in和out配置。

sudo ufw allow in 22 #允许22端口的流量进来
sudo ufw denty in 22 #阻止22端口的流量进来
sudo ufw allow out 22 #允许22端口的流量出去
sudo ufw denty out 22 #阻止22端口的流量出去

6.删除端口规则

删除有两种方式:
通过在规则前面加上delete删除规则。

sudo ufw delete allow 22/tcp #删除 allow 22/tcp这条规则

还有一种方法是通过查看规则序列号来删除。

sudo ufw status numbered

#执行后的接结果

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

sudo ufw delete 1 #删除第一条规则。

你可能感兴趣的:(Linux,ubuntu,linux,服务器)