我是网络方面的新手。我有一个包含 16 个 IP(例如:1.2.3.0 到 1.2.3.15)的子网。我将 lxc 用于每个 IP 的不同用途,但目前 IP 为 1.2.3.0 和 1.2.3.15 的容器无法与我的子网中的其他容器通信,尽管它可以与互联网上的任何其他容器通信。其他容器(从 1.2.3.1 到 1.2.3.14)也无法与 1.2.3.0 和 1.2.3.15 通信。如何解决这个问题?容器使用 ubuntu 18.04,主机也使用 ubuntu 18.04。
这是 lxc 配置:
lxc.include = /usr/share/lxc/config/common.conf
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0
lxc.arch = linux64
lxc.rootfs.path = dir:/var/lib/lxc/con0/rootfs
lxc.uts.name = con0
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.ipv4.address = ...
lxc.net.0.ipv4.gateway = ...
lxc.net.0.hwaddr = ...
答案1
听起来您使用的是 /28 子网,网络掩码为 255.255.255.240。在这种情况下:
.0 是网络地址 .15 是广播地址
这些不能用作主机 IP,因为您发现同一子网上的其他主机将难以通信。
如果需要更多主机,则需要增加网络规模。
下一个大小是 /27,网络掩码为 255.255.255.224,这将为您提供 30 个可用的主机 IP,其中 .0 仍然是网络地址,.31 是广播。