Linux学习|Gentoo/Arch/FreeBSD我用 Linux

Linux中UFW的使用

2023-03-25  本文已影响0人  午字横
1:安装
apt-get install ufw -y

UFW安装后,可以通过以下命令来启动UFW服务并使其在启动时启动(一般在完成默认配置后再重启):ufw enable

通过运行以下命令来禁用UFW防火墙(后面可以通过enable命令随时启用服务):

ufw disable

如果你决定要重新开始,则可以使用reset命令:

ufw reset

最新版的UFW默认启用了IPV6配置,你也可以通过以下命令进行检查,可以看到以下输出:

# cat /etc/default/ufw | grep -i ipv6
IPV6=yes

如果输出为IPV6=no,可以使用vim编辑该文件将其改为yes。

第一步:设置UFW默认策略

默认情况下,UFW默认策略设置为阻止所有传入流量并允许所有传出流量,你可以使用以下命令来设置自己的默认策略:

# ufw default allow outgoing 
# ufw default deny incoming

如果现在重启机器(这会儿不要这么做),UFW配置会在重启后生效,它将拒绝所有传入的连接。因为我们没有允许SSH连接,这意味着,重启过后我们将无法远程连接到服务器。如果我们希望服务器响应这些类型的请求,我们就需要明确指定允许传入连接的规则 (例如SSH或HTTP连接)。

第二步:设置SSH或其他规则

要将防火墙配置为允许传入SSH连接,可以使用以下命令:

 ufw allow ssh

这将创建防火墙规则-允许端口22上的所有连接,这是SSH守护程序默认监听的端口,类似的快捷指令还有 ufw allow http、ufw allow https。

实际上也可以通过直接指定端口来创建等效规则,下面这条命令将产生相同的结果:

# ufw allow 22
第三步:其他规则的设置

UFW可以基于TCP或UDP协议来过滤数据包,命令如下:

# ufw allow 80/tcp
# ufw allow 21/udp

之后使用以下命令检查已添加规则的状态,应该可以看到如下输出:

# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To                         Action      From
80/tcp                     ALLOW IN    Anywhere
21/udp                     ALLOW IN    Anywhere
80/tcp (v6)                ALLOW IN    Anywhere (v6)
21/udp (v6)                ALLOW IN    Anywhere (v6)

还可以使用以下命令随时拒绝指定端口任何传入和传出的流量:

# ufw deny 80
# ufw deny 21

如果要删除HTTP允许的规则,只需在原始规则前加上delete即可,如下所示:

# ufw delete allow http
# ufw delete deny 21

...

转自https://zhuanlan.zhihu.com/p/98880088


2023-03-26

上一篇下一篇

猜你喜欢

热点阅读