Cloudmin LXC Host on 16.04.5 LTS

Anyone managed to do this, please take the time and see if you can help..

On the LTS I started with a clean install from the mini.iso, and followed the instructions on the linux containers web site. Cloudmin is licensed, my physical network is 10.0.0.0/23. All my clients and hosts are setup with ssh key-based authentication (root and mysudouser).

sudo apt-get install lxc

Most of the instructions there worked: /etc/subuid and /etc/subgid had to be updated to mysudouser:100000:165536

/etc/lxc/lxc-usernet had no entries, added mysudouser veth lxcbr0 10

I created the /home/mysudouser/.config/lxc directory and cp /etc/lxc/default.conf /home/mysudouser/.config/lxc/default.conf

Appended the following two lines to it (the limits are the same as in subgid and subuid)

lxc.id_map = u 0 100000 165536
lxc.id_map = g 0 100000 165536

Thi is where the guide was different - on the web it says the lines should be lxc.idmap = u 100000 65536 - which does not work for me.

At this point I reboot and then lcx is up, although issuing lxc profile edit default is going to trigger some script to pull in lxd stuff and create the lxdbr0 bridge (besides the lxcbr0 which is what I need).

The problem is - Cloudmin does not find any container (on locahost, as at this point I work with only one box) I create and run in the background, and I have no idea what to try. I am able to install webmin into the container, visit the LXC DHCP address at 10.0.2.57:10000 and log into webmin just fine - both root and mysudouser works as expected. I also noticed the 10.0.2.57/24 network created by lxc - but this should not be an issue, as my 10.0.0.0/23 network is physical and those connecting to lxcbr0 are not...

Webmin works, but when I install virtualmin into this container - nothing created on this host is going to be part of cloudmin.myintranet.local, and I cannot even start thinking about SQL, LDAP, email and other integration.

Up to this point I re-installed LTS and configured lxc so many times I write this down from memory, boring as it is at least I am now able to configure an lxc host with my eyes closed - but I cannot create, connect or even find any container (runing or not running) from Cloudmin.

I might be missing something - like "configure the IP ranges in Cloudmin first" or "You need to switch to static IPs cause Cloudmin does not do DHCP" sort of stuff..

Thanks for reading!

Status: 
Active

Comments

I did make some progress: - I enabled a second NIC and added br0 bridge to /etc/network/interfaces, then I basically adopted what's listed at https://github.com/lxc/lxd/issues/1343 for my purposes, interfacing br0 with the physical network. In /etc/default/lxc-net I replaced lxcbr0 with br0, and added the DHCP range of 10.0.0.12 - 10.0.0.44 on the physical 255.255.254.0 subnet. I had to update /etc/lxc/default.conf and the ~/.config/lxc/default.conf file for mysudouser. Then I ran lxc profile create bridged, then lxc profile edit bridged and I updated the yaml following the example in the file header.

At this point I installed webmin into the container - and behold!

Finding LXC containers ..
.. found 1 containers
Processing LXC container with context ID xenial-a ..
.. could not work out IP address

The network is the same for hosts and guest - I build for the intranet so I have unlimited IP addresses so I put everything into a subnet with 510 address pool 10.0.0.0/23.

I made sure there is root password for the xenial-a container, and I can log in fine - but webmin shows its default to 127.0.0.1 - any way to change that?

Nevermind.. I just had to add it to the DNS server on the Cloudmin box. Creating containers work, but when I ssh into the container I get "nappropriate ioctl for device" and the shell does not quiet work, also there is no functioning network so i cannot apt.

But at least I can create them outside of Cloudmin then attach fully functional containers! This is the first time I got anything related to the cloud working, thanks Cloudmin :D