iptables中的Docker链会覆盖INPUT规则

时间:2018-11-29 14:29:37

标签: docker iptables

我有一台服务器,并且正在运行一些docker容器。这些容器有一些未打开的端口。我添加了INPUT规则,仅允许从1 ip访问这些端口,此后,我有了DROP规则。

这应该阻止除我的家庭IP以外的所有对端口的访问。现在事实证明,泊坞窗仅允许所有操作,并且泊坞窗能够以某种方式覆盖输入规则,因为输入规则不起作用。

我认为这与如下所示的FORWARDING规则有关:

$escapedName

我已经清除了所有规则,然后从docker这样的错误中得到了非常奇怪的错误:

James\2A \28Jimmy\29 Smith\5CSmyth\00

如何确保输入规则覆盖所有内容,以使INPUT链上的端口过滤停止除我以外的所有用户的访问?

1 个答案:

答案 0 :(得分:0)

我找到了答案。事实证明,将跳过INPUT链,而将F​​ORWARDING链用于docker。 FORWARDING链的第一条规则是读取DOCKER-USER链。该链将包含未被Docker覆盖的Docker规则。

比方说,您想让您的家庭IP访问某些端口并为其他所有人阻止它们。使用以下2条规则:

(?<=\| *)(?! +)[^|]+(?= *\||$)

另外,您还需要使用ctorigdstport参数,因为正在进行某种形式的nat转换,而dport参数将不起作用。