针对 i2p 的严格/详细 iptables 规则

针对 i2p 的严格/详细 iptables 规则

我认为我已经正确理解了 i2p 常见问题解答,并且这似乎有效(按顺序添加了常见问题解答中的措辞,然后是规则,并将我的唯一端口号更改为 PORT):

# Outbound UDP from the random port noted on the configuration page
# to arbitrary remote UDP ports, allowing replies
-A OUTPUT -p udp --sport PORT -j ACCEPT

# Outbound TCP from random high ports to arbitrary remote TCP ports
-A OUTPUT -p tcp --sport 9000:31000 -j ACCEPT

# Inbound UDP to the port noted on configuration page from arbitrary locations
-A INPUT -p udp --dport PORT -j ACCEPT

# Inbound TCP to the port noted on configuration page from arbitrary locations
-A INPUT -p tcp --dport PORT -j ACCEPT

# Outbound UDP on port 123, allowing replies
-A OUTPUT -p udp --sport 123 -j ACCEPT

但是因为我有一个 i2p 用户,这样会不会更好?

-A INPUT -j ACCEPT -m owner --uid-owner i2p
-A OUTPUT -j ACCEPT -m owner --uid-owner i2p

前者是否更安全,因为它不允许用户随意穿越防火墙?还是后者更安全,因为任何时候都只开放用户使用的端口?

另外,我假设所有内容都处于 NEW、ESTABLISHED、RELATED 状态,但也许有些应该只是 ESTABLISHED 或其他状态,例如端口 9000-31000 范围内的 tcp 出站规则?

相关内容