Welcome to the Linux Foundation Forum!

Lab 16.1 - LXC - no network in containers, cgroup controller missing

AlessandroAffinito
edited October 2021 in LFS211 Class Forum

Hi,
I'm trying to follow the LXC lab but after some trials and google searching I'm still with no networking containers.

Here my configs:

root@alex-kvm:~# hostnamectl status
 Static hostname: alex-kvm
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 842c7ef66a9c4d7b88ec23e7c342ce7c
         Boot ID: 11ef0d3089fa49f9b8b6dd474f04c73e
  Virtualization: kvm
Operating System: Ubuntu 21.10                    
          Kernel: Linux 5.13.0-20-generic
    Architecture: x86-64
 Hardware Vendor: QEMU
  Hardware Model: Standard PC _Q35 + ICH9, 2009_

root@alex-kvm:~# lxc-checkconfig 
LXC version 4.0.10
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-5.13.0-20-generic
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled

--- Control groups ---
Cgroups: enabled
Cgroup namespace: enabled

Cgroup v1 mount points: 


Cgroup v2 mount points: 
/sys/fs/cgroup

Cgroup v1 systemd controller: missing
Cgroup v1 freezer controller: missing
Cgroup ns_cgroup: required
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled, loaded
Macvlan: enabled, not loaded
Vlan: enabled, not loaded
Bridges: enabled, loaded
Advanced netfilter: enabled, loaded
CONFIG_NF_NAT_IPV4: missing
CONFIG_NF_NAT_IPV6: missing
CONFIG_IP_NF_TARGET_MASQUERADE: enabled, not loaded
CONFIG_IP6_NF_TARGET_MASQUERADE: enabled, not loaded
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled, loaded
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled, not loaded
FUSE (for use with lxcfs): enabled, not loaded

--- Checkpoint/Restore ---
checkpoint restore: enabled
CONFIG_FHANDLE: enabled
CONFIG_EVENTFD: enabled
CONFIG_EPOLL: enabled
CONFIG_UNIX_DIAG: enabled
CONFIG_INET_DIAG: enabled
CONFIG_PACKET_DIAG: enabled
CONFIG_NETLINK_DIAG: enabled
File capabilities: 

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

# lxc-create -n ubby -t ubuntu -o /var/log/lxc/lxc-ubby.log

lxc-start --version => 4.0.10

# lxc-start -n ubby -F /bin/bash

root@ubby:/# ping google.com
ping: google.com: Temporary failure in name resolution

root@ubby:/# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:e9:a6:0c brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::216:3eff:fee9:a60c/64 scope link 
       valid_lft forever preferred_lft forever

root@ubby:/# ip route
root@ubby:/# 
root@ubby:/# cat /etc/hosts
127.0.0.1   localhost
127.0.1.1   ubby

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# cat /proc/1/mounts |grep cgroup
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime 0 0

Following this issue I have also tried to run the lxc-start inside a systemd-run command, but being in a kvm machine it doesn't work

# systemd-run --user --scope -p "Delegate=yes" lxc-start -n ubby -F /bin/bash
Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=<user>@.host --user to connect to bus of other user)

Any help?

Comments

  • lee42x
    lee42x Posts: 380

    Not sure which cgroup you are looking at,
    I see Ubuntu 21.10 and lxc 4.10.
    We use long term releases for labs, so there may be some surprises with 21.10.

    Depending on which machine or VM you are running on, connect the network in /etc/lxc/default then re-create the lxc machine.

    Let me know. Lee

  • lee42x
    lee42x Posts: 380

    Please show us your "/etc/lxc/default.conf" file.
    I'm using the bridge set up by libvirt and connecting the lxc-container to it; my file is below, notice the lxc.net.0.link value.

    root@ubuntu:~# cat /etc/lxc/default.conf
    lxc.net.0.type = veth
    lxc.net.0.link = virbr0
    lxc.net.0.flags = up
    lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
    root@ubuntu:~#

    And my containers have ip addresses in the same domain as KVM.
    root@ubuntu:~# lxc-ls -f
    NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED
    bucket RUNNING 0 - 192.168.122.37 - false
    test01 RUNNING 0 - 192.168.122.143 - false
    test02 RUNNING 0 - 192.168.122.93 - false
    root@ubuntu:~#

    Lee

Categories

Upcoming Training