在 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
答案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