已复制到剪贴板

ufw

`ufw` 是一个简单的防火墙工具,用于在 Linux 系统上设置和管理防火墙规则。它可以轻松阻止不必要的入站和出站流量,从而提高系统的安全性。

启用防火墙

禁用防火墙

允许某个端口或应用程序通过防火墙

拒绝某个端口或应用程序通过防火墙

限制某个端口或应用程序的流量

显示防火墙规则

显示防火墙状态

重新加载规则

重置防火墙规则

启用/禁用日志记录

调整日志级别

例子

  • 启用防火墙:sudo ufw enable
  • 禁用防火墙:sudo ufw disable
  • 允许某个端口通过防火墙:sudo ufw allow <port>/<protocol>
  • 拒绝某个端口通过防火墙:sudo ufw deny <port>/<protocol>
  • 允许某个应用程序通过防火墙:sudo ufw allow <app_name>
  • 拒绝某个应用程序通过防火墙:sudo ufw deny <app_name>
  • 显示防火墙规则:sudo ufw show
  • 显示防火墙状态:sudo ufw status
  • 限制某个端口的流量:sudo ufw limit <port>/<protocol>
  • 限制TCP端口22(SSH)的连接速率为每秒最多3个连接请求:sudo ufw limit 22/tcp
  • 将防火墙规则重置为默认状态,从而移除所有已添加的自定义规则,包括限制、允许和拒绝规则: sudo ufw reset 需要注意的是,执行 ufw reset 是一个潜在的风险操作,因为它会清除你可能已经配置的所有规则。在执行此命令之前,请确保你了解自己的当前规则设置,并且备份任何重要的规则,以防需要重新添加它们。

添加规则

add 命令用于向防火墙规则列表中添加自定义规则。ufw add 命令的一般格式:sudo ufw add [rule_definition]。其中 [rule_definition] 是你要添加的规则定义,包括规则的具体设置,如端口、协议、源地址、目标地址等。例子:

  • 允许特定端口的流量:sudo ufw add allow 22/tcp
  • 拒绝特定端口的流量:sudo ufw add deny 80/tcp
  • 允许来自 IP 地址为 192.168.1.100 的流量:sudo ufw add allow 10000:20000/udp

请注意以下几点:

ufw 规则会按照添加的顺序逐一应用。当流量到达系统时,ufw 会按照规则列表的顺序逐个匹配规则。一旦匹配到一个规则,后续的规则将不再被考虑。 规则的添加是持久的,这意味着当防火墙服务重新启动时,规则会被保留。 在添加规则之前,请确保你了解规则的设置,以及它们如何影响你的网络流量。添加不正确的规则可能会导致网络中断或安全漏洞。 可以使用 ufw status 命令来查看当前的规则列表和防火墙状态。 在配置 ufw 规则时,建议先进行测试,确保规则按照预期工作,然后再将其应用到生产系统中。

插入规则

insert 命令用于插入自定义防火墙规则到规则列表的特定位置。与 add 命令不同,insert 允许你将规则插入到列表的指定位置,而不仅仅是添加到列表的末尾。这对于在特定位置插入规则以满足特定需求非常有用。

sudo ufw insert [rule_number] <rule_definition>

rule_number 是规则的编号,表示你希望在规则列表中插入的位置。这个编号应该是当前规则列表中已有规则的编号。如果你不指定编号,规则将被插入到列表的末尾。 是你要插入的规则定义。这可以是完整的规则语法,包括端口、协议、源地址、目标地址等。 以下是一个示例,说明如何使用 ufw insert 命令:

sudo ufw insert 3 allow 8080/tcp

在这个示例中,命令会将一个允许 TCP 8080 端口流量的规则插入到当前规则列表的第 3 个位置。

要注意以下几点:

规则编号是从 1 开始的,表示在列表中的位置。 插入规则可能会导致现有规则的编号发生变化。插入新规则后,之后的规则会被重新编号以保持顺序。 如果你不指定规则编号,规则将被插入到列表的末尾。 在使用 ufw insert 命令之前,建议你了解当前规则列表的情况,并确定要插入规则的确切位置。这可以确保你的规则按预期工作并不会影响其他规则的顺序。

删除规则

delete 命令用于从防火墙规则列表中删除指定的自定义规则。ufw delete 命令的一般格式:sudo ufw delete [rule_number]。其中 rule_number 是要删除的规则在列表中的编号。这个编号对应于规则在规则列表中的位置。例子:

  • 通过规则编号删除规则:sudo ufw delete 3
  • 删除最后一条规则:sudo ufw delete last
  • 删除所有规则:sudo ufw delete all 这将删除规则列表中的所有自定义规则,恢复防火墙到默认状态。

请注意以下几点:

删除规则是一个永久性操作,一旦删除,规则将无法恢复。在执行删除操作之前,请确认你要删除的规则以及它们的影响。 规则的编号是从 1 开始的,表示规则在列表中的位置。 删除规则可能会影响防火墙的配置。确保你了解规则的功能和作用,以免影响正常的网络流量。 在删除规则之前,可以使用 ufw status numbered 命令查看当前的规则列表,以便选择要删除的规则。 总之,ufw delete 命令允许你从防火墙规则列表中删除指定的规则。在删除规则之前,请确认其对网络流量和系统的影响。

其他

ufw(Uncomplicated Firewall)中,insertadddelete 命令立即生效。并且是是持久的,这意味着这些规则将会在防火墙服务重启后保留。