【问题标题】:Controlling (firewall) trafic to docker/docker-compose network控制(防火墙)到 docker/docker-compose 网络的流量
【发布时间】:2016-10-22 18:45:06
【问题描述】:

我正在运行 docker 一台为各种服务提供服务的机器。我想使用 iptables 或最好使用 ufw 来控制这些服务(因为我对 iptables 本身并不熟练)。

在我之前的设置中,我使用了“vanilla”docker,它使用名为“docker0”的虚拟接口通过容器路由网络流量。我成功地“google”了一个解决方案,使本文描述的防火墙工作:https://svenv.nl/unixandlinux/dockerufw(注意:即使我写了这篇文章,它只是互联网知识的总和)。

我发现的东西之一就是这件作品:

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
COMMIT

哪个(我假设)确保一切都正确进入 docker0。

现在我已经更改了设置并开始使用“docker-compose”,它会在隔离的网络中自动启动 docker 容器。再次,docker 为此使用了一个以网络 ID 命名的虚拟设备:

$ docker network ls
NETWORK ID          NAME                            DRIVER              SCOPE
(...)             
207a57fc0080        dockeropenvpndata_network-vpn   bridge              local               
(...)

还有……

$ ifconfig | grep 207a57fc0080
br-207a57fc0080 Link encap:Ethernet  HWaddr 02:42:ce:c5:81:04 

假设将上面发布的 iptables 配置更改为新的网络设备可能解决问题:

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING ! -o br-207a57fc0080 -s 172.17.0.0/16 -j MASQUERADE
COMMIT

但是我不知道如何测试这个。

  • 接口的名称(网络 ID)似乎是(伪)随机的
  • 接口名称(网络ID)只有在docker-compose up之后才知道
  • 据我所知,该规则在引导时应用,此时 id 仍然未知。

简而言之,我正在寻找一种方法来再次为我的 docker 机器设置防火墙。有谁知道如何做到这一点?

【问题讨论】:

  • 否,上述后路由规则不控制流向 docker 的流量。它只是伪装到主机网络(或互联网)的流量,这意味着您的容器可以访问互联网/主机网络。
  • 你的问题不够清楚!你说你做了什么,但我不明白你到底要做什么。
  • 感谢信息,基本上,我只想能够使用防火墙。 Docker 不听我的防火墙并绕过它:(
  • 如果有什么我可以进一步清除的,请告诉我。

标签: networking docker docker-compose


【解决方案1】:

原来使用systemd时没有考虑/etc/default/docker中的配置,导致--iptables=false没有被设置。

systemd 的 docker 选项在/lib/systemd/system/docker.service 的服务文件中指定。此文件中的条目可以通过添加/调整cat /etc/systemd/system/docker.service.d/docker.conf中的插入文件来覆盖

我添加了包含这些内容的插入文件:

[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/dockerd --iptables=false -H fd://

(实际需要第一个空的ExecStart=)

这会在没有 iptables 配置的情况下启动 docker,并使原始步骤(参见原始问题中的链接)再次起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 2020-11-05
    • 2020-10-24
    • 1970-01-01
    • 2018-01-19
    • 2020-08-09
    相关资源
    最近更新 更多