When I restart my LXC environment, the container does not re-bind to the IP address

5,606

You're writing about Linux containers (LXC). You have the ability to assign a static IP address in the container's configuration file. Here's an example from my environment:

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

You seem to be missing the lxc.network.ipv4 directive in your setup.

Unfortunately, you will need to use a script to inject your default and static routes. This isn't controllable from the LXC configuration file (yet).

Share:
5,606

Related videos on Youtube

RoboTamer
Author by

RoboTamer

Updated on September 18, 2022

Comments

  • RoboTamer
    RoboTamer over 1 year

    The IP does no longer respond to a remote ping

    With restart I mean:

    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