podman 无根虚拟子网,其中容器可通过 IP 进行外部访问,这可能吗?

podman 无根虚拟子网,其中容器可通过 IP 进行外部访问,这可能吗?

目标

  • 设置启动多个容器的虚拟网络
  • 每个容器都应该可以通过其 IP 从主机网络访问
  • 容器无根运行(旨在从 CI 运行器运行测试网络)
  • 可以运行特定iptables命令,sudo允许对虚拟网络进行必要的转发

我避免使用已发布端口的原因是,我希望虚拟网络类似于“现实”,其中大量服务将在单独的硬件上运行,并且它们将使用不同的 IP 这一事实对协调服务很重要。

我的方法

$ podman network create --subnet 10.10.10.0/24 virtnet1
$ ( export DBUS_SESSION_BUS_ADDRESS=; podman run --rm -d --name nmt --network virtnet1 praqma/network-multitool )

(此DBUShack 是针对这个问题

如果我现在看看,iptables -L我看到了锁链CNI-FORWARD,我天真地以为一个简单的

sudo iptables -A CNI-FORWARD -d 10.10.10.0/24 -j ACCEPT

能够从主机网络访问容器。但它们仍然看起来严格分开且无法访问。(链默认FORWARD有策略,因此没有问题。)ACCEPT

这从根本上来说是不可能的吗(我还没有找到任何这样的例子),还是我做错了什么?

这些CNI-*链是否与任何先前的有根容器有关,因为从逻辑上讲无根容器无法影响任何iptables相关的东西?

相关内容