Поднимаем LXC (без LXD) на CentOS 9
Нужно было развернуть на сервере под CentOS 9 контейнеризацию LXC так, чтобы контейнеры получали свой собственный IP адрес из локальной сети и были доступны извне
Возникшие трудности: хост машина была развернута на VMWare с запрещенным "promiscuous mode" и контейнеры получали IP, но не имели доступа в локальную сеть и интернет. Пришлось выставить "Promiscuous Mode" = Accept и "Forged Transmits" = Accept
Ну, а дальше всё просто:
# install lxc
dnf update -y
dnf install -y epel-release
dnf install -y lxc lxc-templates container-selinux
# set up bridge network (dhcp container)
systemctl restart NetworkManager
nmcli connection add type bridge con-name br0 ifname br0
nmcli connection modify ens160 master br0
nmcli connection up ens160
nmcli connection up br0
# change default config
vi /etc/lxc/default.conf
lxc.net.0.link = lxcbr0
to
lxc.net.0.link = br0
# move lxc to another folder
mkdir /home/lxc/large_files/lxc-files
mkdir /home/lxc/large_files/lxc-files/{var_cache_lxc,var_lib_lxc}
mv /var/cache/lxc/* /home/lxc/large_files/lxc-files/var_cache_lxc/
rmdir /var/cache/lxc
ln -s /home/lxc/large_files/lxc-files/var_cache_lxc/ /var/cache/lxc
mv /var/lib/lxc/* /home/lxc/large_files/lxc-files/var_lib_lxc/
rmdir /var/lib/lxc
ln -s /home/lxc/large_files/lxc-files/var_lib_lxc/ /var/lib/lxc
# enable lxc service
systemctl start lxc
systemctl enable lxc
# use
DOWNLOAD_KEYSERVER="keyserver.ubuntu.com" lxc-create -n mycontainer -t download -- -d ubuntu -r jammy -a amd64
lxc-start -n mycontainer
# console dont worked - need attach
lxc-attach -n mycontainer
# change password and install openssh
passwd ubuntu
apt install openssh-server
# and exit
ctrl+d
Использованные источники
Нет обратных ссылок на эту запись.
Leave a comment