Lxc
Sommaire |
Info en vrac concernant LXC ( Linux Containers )
Sécurité
Droits sur les devices
Les cgroups permettent, en autre, de définir les accès aux devices par "process/class de process" (a revoir). lxc les utilisent directement en définissant les droits dans le fichiers de configuration du container.
Attention, cela ne créer pas les devices dans /dev du container mais permet d'interdire ou autoriser l'accès aux devices.
La syntax ressemble à celle utilisée par mknod.
lxc.cgroup.devices.deny = a # /dev/null and zero lxc.cgroup.devices.allow = c 1:3 rwm lxc.cgroup.devices.allow = c 1:5 rwm # consoles lxc.cgroup.devices.allow = c 5:2 rwm lxc.cgroup.devices.allow = c 5:1 rwm lxc.cgroup.devices.allow = c 5:0 rwm lxc.cgroup.devices.allow = c 4:0 rwm lxc.cgroup.devices.allow = c 4:1 rwm # /dev/{,u}random lxc.cgroup.devices.allow = c 1:9 rwm lxc.cgroup.devices.allow = c 1:8 rwm lxc.cgroup.devices.allow = c 136:* rwm # rtc lxc.cgroup.devices.allow = c 256:0 rwm
Réseau
Les interfaces réseau sont créé directement par lxc pour le conteneur. Sur le hote, sont créé automatiquement, si il y a une nécessité, ( voir Différentes interfaces ), les interfaces virtuel servant a effectuer le pont entre le conteneur et le réseau.
Différentes interfaces
empty
Permet de créer uniquement l'interface loopback
lxc.network.type = empty
veth
#lxc.network.type = veth #lxc.network.veth.pair = veth0
vlan
A priori. Il n'est pas possible de relier plusieurs conteneur sur le même vlan. Il ne peut pas y avoir le même vlan sur des interfaces physique différentes. De même, je n'ai pas réussi à lancer un conteneur avec lxc.network.link = br0 ou autre interface que l'interface physique eth0.
En plus, je ne sais pas si c'est un bug, mais je n'ai pas d'interface vlan de crée et visible. Mais un ip link add link eth0 type vlan 100 ne fonctionne pas en indiquant que le vlan existe déjà.
lxc.network.type = vlan
lxc.network.vlan.id = 100
lxc.network.link = eth0macvlan
lxc.network.link = br0 #lxc.network.link = dummy0 #lxc.network.link = eth0 lxc.network.hwaddr = 4a:59:43:49:79:bf # ip local du conteneur lxc.network.ipv4 = 192.168.100.100
Configuration de base
lxc.utsname = gentoo_tpl_dev lxc.tty = 2 lxc.pts = 1024 #lxc.network.type = empty #lxc.network.type = vlan #lxc.network.vlan.id = 100 lxc.network.type = veth lxc.network.veth.pair = veth0 #lxc.network.link = br0 #lxc.network.link = dummy0 #lxc.network.link = eth0 #lxc.network.hwaddr = 4a:59:43:49:79:bf # ip local du conteneur lxc.network.ipv4 = 192.168.100.100 lxc.network.flags = up lxc.rootfs = /home/vps/tpl_gentoo/gentoo_tpl_dev/rootfs #lxc.mount = /home/vps/tpl_gentoo/gentoo_tpl_dev/fstab lxc.cgroup.devices.deny = a # /dev/null and zero lxc.cgroup.devices.allow = c 1:3 rwm lxc.cgroup.devices.allow = c 1:5 rwm # consoles lxc.cgroup.devices.allow = c 5:2 rwm lxc.cgroup.devices.allow = c 5:1 rwm lxc.cgroup.devices.allow = c 5:0 rwm lxc.cgroup.devices.allow = c 4:0 rwm lxc.cgroup.devices.allow = c 4:1 rwm # /dev/{,u}random lxc.cgroup.devices.allow = c 1:9 rwm lxc.cgroup.devices.allow = c 1:8 rwm lxc.cgroup.devices.allow = c 136:* rwm # rtc lxc.cgroup.devices.allow = c 256:0 rwm