无论何时处理网络问题,你可能都需要 IP 地址,进而需要子网。Podman 也不例外,它使用一些默认的子网,你应该了解它们。本文将向你展示这些子网是什么,以及如何在你的网络中已经存在此范围内的子网时如何更改它们。
Podman 网络
默认的桥接网络(称为 podman)使用 10.88.0.0/16 作为子网。当 Podman 以 root 身份运行时,此网络用作默认网络,它与添加 --network bridge
或 --network podman
相同。可以在 containers.conf 中的 [network]
部分更改此子网。将 default_subnet
设置为你环境中可用的任何子网。在那里,你也可以使用 default_network
键将名称从 podman 更改为其他名称。请注意,你应该只在没有容器运行时执行此操作。
Slirp4netns
当 Podman 以无根身份运行时,默认情况下,互联网连接由 slirp4netns 提供。Slirp4netns 使用 10.0.2.0/24 作为其默认网络。这也可以在 containers.conf 中更改,但在 [engine]
部分。使用 network_cmd_options
键,并将 ["cidr=X.X.X.X/24"]
添加为值。请注意,slirp4netns 需要网络前缀大小在 1 到 25 之间。此选项接受数组 ,因此你可以像手册页中所述那样添加更多以逗号分隔的选项。如果你只想为一个容器更改此设置,也可以在命令行中使用 --network slirp4netns:cidr=192.168.1.0/24
指定它。
当以无根身份使用默认网络,即 --network podman/bridge
时,它也会使用与上面描述的相同的子网,以及 slirp4netns 子网。
Podman 网络创建
当使用 podman network create
创建一个新的网络,并且没有使用 --subnet
指定子网时,Podman 将开始从 10.89.0.0/24 到 10.255.255.0/24 中选择一个可用的子网。使用 containers.conf 中 [network]
部分下的 default_subnet_pools
选项来更改默认分配的范围和/或大小。
发表评论