当我重新启动 LXC 环境时,容器不会重新绑定到 IP 地址

当我重新启动 LXC 环境时,容器不会重新绑定到 IP 地址

该 IP 不再响应远程 ping

重新启动的意思是:

lxc-stop -n vm3
lxc-start -n vm3 -f /etc/lxc/vm3.conf -d 

--

/etc/网络/接口

auto lo
iface lo inet loopback
up route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
down route add -net 127.0.0.0 netmask 255.0.0.0 dev lo

# device: eth0
auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
       address 192.22.189.58
       netmask 255.255.255.248
       gateway 192.22.189.57
       broadcast 192.22.189.63
       bridge_ports eth0
       bridge_fd 0
       bridge_hello 2
       bridge_maxage 12
       bridge_stp off
    post-up ip route add 192.22.189.59 dev br0
    post-up ip route add 192.22.189.60 dev br0
    post-up ip route add 192.22.189.61 dev br0
    post-up ip route add 192.22.189.62 dev br0

--

/etc/lxc/vm3.conf

lxc.utsname = vm3
lxc.rootfs = /var/lib/lxc/vm3/rootfs

lxc.tty = 4
#lxc.pts = 1024  # pseudo  tty  instance for strict isolation
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500

#lxc.cgroup.cpuset.cpus = 0
# security parameter
lxc.cgroup.devices.deny = a # Deny all access to devices
lxc.cgroup.devices.allow = c 1:3 rwm   # dev/null
lxc.cgroup.devices.allow = c 1:5 rwm   # dev/zero
lxc.cgroup.devices.allow = c 5:1 rwm   # dev/console
lxc.cgroup.devices.allow = c 5:0 rwm   # dev/tty
lxc.cgroup.devices.allow = c 4:0 rwm   # dev/tty0
lxc.cgroup.devices.allow = c 4:1 rwm   # dev/tty1
lxc.cgroup.devices.allow = c 4:2 rwm   # dev/tty2
lxc.cgroup.devices.allow = c 1:9 rwm   # dev/urandon
lxc.cgroup.devices.allow = c 1:8 rwm   # dev/random
lxc.cgroup.devices.allow = c 136:* rwm # dev/pts/*
lxc.cgroup.devices.allow = c 5:2 rwm   # dev/pts/ptmx
lxc.cgroup.devices.allow = c 254:0 rwm # rtc

# mounts point
lxc.mount.entry=proc   /var/lib/lxc/vm3/rootfs/proc proc nodev,noexec,nosuid 0 0
lxc.mount.entry=devpts /var/lib/lxc/vm3/rootfs/dev/pts devpts defaults 0 0
lxc.mount.entry=sysfs  /var/lib/lxc/vm3/rootfs/sys sysfs defaults  0 0

答案1

你正在写Linux 容器(LXC)您可以在容器的配置文件中分配静态 IP 地址。以下是我的环境中的一个示例:

lxc.utsname = MPG_Web
lxc.tty = 4
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500
lxc.network.ipv4 = 172.16.16.110
lxc.network.hwaddr = 00:30:6E:08:EC:80
lxc.rootfs = /srv/lxc/MPG_Web
lxc.mount = /etc/lxc/MPG_Web.fstab

lxc.network.ipv4您的设置中似乎缺少该指令。

不幸的是,您需要使用脚本来注入默认和静态路由。目前还无法通过 LXC 配置文件进行控制

答案2

由于您没有在 lxc 配置文件中指定 mac 地址,因此每次重新启动容器时都会随机分配一个 mac 地址。

因此,如果您的容器依赖于 DHCP,则每次启动时它都会被分配一个不同的 IP 地址 - 这可能会导致您的问题。

解决方案-指定一个mac地址(参见其他答案)。

相关内容