通过特定路由路由 Docker 外部通信

通过特定路由路由 Docker 外部通信

我的主机有 2 个 IP 地址。一个是主(管理)IP,另一个是用于服务并列入白名单的 IP。服务 IP 没有网关,但通过管理 IP 的网关。

我的网络计划如下所示:

network:
    version: 2
    ethernets:
        enp7s0:
            addresses:
            - 93.XX.XX.44/24
            - 93.XX.XX.33/27
            match:
                macaddress: 00:02:c9:4f:b2:4c
            mtu: 1500
            nameservers:
                addresses:
                - 1.1.1.1
                - 1.0.0.1
            routes:
                - on-link: true
                  to: 0.0.0.0/0
                  via: 93.XX.XX.1
                  from: 93.XX.XX.33
                  metric: 100
            set-name: enp7s0

到目前为止,主机网络工作正常。IP 路由显示以下内容:

default via 93.XX.XX.1 dev enp7s0 proto static src 93.XX.XX.33 metric 100 onlink

因此,正确的 .33 IP 用于网络请求。并且没有管理 IP 的路由(这正是我想要的)。

现在,在 Docker 中,如果我执行此操作curl https://icanhazip.com/,我会看到管理 IP (.44)。

我阅读了一些有关 Docker 网络的内容,但似乎找不到任何专门为 Docker Bridge 网络设置路由的方法。有没有办法全局(或至少每个网络)启用通过特定 IP 的路由?

相关内容