web-dev-qa-db-ja.com

LXC環境を再起動すると、コンテナーがIPアドレスに再バインドされません

IPがリモートpingに応答しなくなりました

再起動とは、次のことを意味します。

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

-

/ etc/network/interfaces

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
2
RoboTamer

あなたは 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構成ファイルから制御できません

6
ewwhite

Lxc設定ファイルでMACアドレスを指定していないため、コンテナを再起動するたびにランダムに割り当てられます。

したがって、コンテナがDHCPに依存している場合は、起動するたびに異なるIPアドレスが割り当てられます。これが問題の原因である可能性があります。

解決策-Macアドレスを指定します(他の回答を参照)。

0
David Goodwin