我的主机有 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 的路由?