ufw 应用程序配置文件的语法,具体用于定义接口和 IP 地址

ufw 应用程序配置文件的语法,具体用于定义接口和 IP 地址

在 Google 上搜索了几个网站并浏览了 [man page][1] 之后,我仍然无法找到 ufw 规则的应用程序配置文件语法的确切定义。

您在网上找到的所有示例实际上都是简单的,并没有体现出比简单地打开一个端口更复杂的内容。

具体来说,我需要允许我的 ufw 在特定接口上接受各种端口(tcp 和 udp 混合)往返于指定 IP 地址的传入和传出连接。

假设以下示例:

允许从 1.1.1.1:12345 tcp 和 2.2.2.2:54321 udp 传入的连接通过 eth0 允许通过 eth1 到 3.3.3.3:11111 tcp 和 udp 传出的连接

虽然在控制台上定义此类规则的语法非常简单,但我没有找到如何在应用程序配置文件中定义此类规则的示例或规范。

答案1

显然,没有办法在应用程序配置文件中指定 IP 地址和接口。

字段解析函数测试套件应用程序配置文件不包括除以下字段之外的任何其他字段:

  • title
  • description
  • ports

一个很可能的原因是,从应用程序供应商的角度来看,应用程序配置文件应该指定应用程序需要什么才能工作。这可以用端口和协议来表达。然而,IP 地址和接口是依赖于客户端的,并且会因安装相应应用程序的每个系统而异。因此,将其嵌入配置文件是没有意义的。

答案2

作为对广为接受的答案的补充:虽然应用程序配置文件仅限于端口(及其协议),但您可以在以下情况下添加更多过滤器:申请应用程序配置文件到 ufw。

在您的示例中,假设您在中创建了 2 个应用程序配置文件/etc/ufw/applications.d

[First]
Title=eth0 rules
Description=Rules for eth0 interface (1.1.1.1 and 2.2.2.2)
ports=12345/tcp|54321/udp
[Second]
Title=eth1 rules
Description=Rules for eth1 interface (3.3.3.3)
ports=11111

现在,无需仅使用以下方式应用此类“应用程序”:

sudo ufw allow app First
sudo ufw allow app Second

您可以将其应用为:

sudo ufw allow in on eth0 from 1.1.1.1 to any app First
sudo ufw allow in on eth0 from 2.2.2.2 to any app First
sudo ufw allow in on eth1 from 3.3.3.3 to any app Second

相关内容