配置 UFW 以仅允许建立和相关的连接(在 IPv4 上)

mar*_*ttt 6 iptables firewall networking ufw

我想配置 ufw 以拒绝除相关和已建立的连接之外的所有内容。在 iptables 上我通常这样做:

  -P INPUT DROP
  -P FORWARD DROP
  -P OUTPUT ACCEPT
  -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我读到 ufw 上的下一个代码密切相关:

 ufw default deny incoming
 ufw default deny forwarding
 ufw default allow outgoing
 ufw allow 443/tcp
 ufw allow 53/tcp
 ................
Run Code Online (Sandbox Code Playgroud)

问题是,使用 ufw 代码,我允许所有来自该端口的流量。使用 iptables,只允许建立的连接。如何在 ufw 上配置相同的规则?

F1L*_*nux 6

看起来您不需要执行任何操作即可允许相关/已建立的连接。

版本中。我正在Ubuntu Core 16.04上查看UFW 0.36,默认情况下存在允许相关/已建立连接的规则。

破解before.rules规则,您会看到工作已经为您完成:

# quickly process packets for which we already have a connection
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)


hee*_*ayl 1

ufw被认为是一个简单的前端iptables。它不支持 提供的所有功能,iptables并且还不支持基于匹配连接状态的过滤。

ufw基本上是为了让任何用户都可以理解或编辑基本的防火墙规则而无需经历复杂的iptables. 您可以查看此ubuntu wiki以了解有关尚支持哪些功能的更多信息。请注意,如果您知道iptables,则无需ufw.


小智 1

尝试添加到 /etc/ufw/before.rules

*filter
:INPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
Run Code Online (Sandbox Code Playgroud)