Outils pour utilisateurs

Outils du site


migration_fe_box_2022

Migration du serveur futuretic.fr vers une autre box

Installation de containers LXC sous Debian 11

apt install lxc apparmor

Réseau : configuration mode Independent bridge setup

Installation et configuration du réseau : édition du fichier /etc/default/lxc-net

nano /etc/default/lxc-net
USE_LXC_BRIDGE="true"
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.200,10.0.3.254"
LXC_DHCP_MAX="253"
LXC_DHCP_CONFILE=""
LXC_DOMAIN=""

Pour créer un template pour la configuration de nouveau containers :

nano /etc/lxc/default.conf
lxc.net.0.type = veth
lxc.net.0.link = lxcbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1

Redémarrer la couche réseau

 sudo service lxc-net restart
 

Copie des containers LXC sauvegardés

Par exemple

cp -ardv /home/adminbox/restore/var/lib/lxc/dokos /var/lib/lxc/dokos
* a pour --preserve=all
* r pour recursif
* d pour identique à --no-dereference --preserve=liens
* v pour verbose

Pour modifier le nom d'un container (de tlcvl à mm) lors de la copie : changer le répertoire de destination et le répertoire correspondant au rootfs dans le fichier de config

cp -ardv /home/adminbox/restore/var/lib/lxc/tlcvl /var/lib/lxc/mm
nano /var/lib/lxc/mm/config
lxc.rootfs.path = dir:/var/lib/lxc/mm/rootfs

Test du démarrage d'un container

lxc-start dokos
lxc-ls -f  

Copie vhost et certificats

Copie des vhost depuis le backup

cp /home/adminbox/restore/etc/apache2/sites-available/*.conf /etc/apache2/sites-available/
cd /etc/apache2/sites-available 
a2ensite *.conf
a2dissite default-ssl.conf

Dans le vhost, Dokos, Thingsboard (io) et Mattermost (mm) utilisent les adresses ip des containers (qui n'ont pas changées), les autres utilisent les DNS, il faut informer /etc/hosts (à uniformiser ?)

nano /etc/hosts
10.0.3.243 ynh.futuretic.fr cpad.futuretic.fr md.futuretic.fr pad.futuretic.fr pass.futuretic.fr
10.0.3.211 visio.futuretic.fr
10.0.3.250 dokos.futuretic.fr
10.0.3.244 io.futuretic.fr
10.0.3.235 mm.futuretic.fr

Copie des certificats

On replatre les certificats

cp -ard /home/adminbox/restore/etc/letsencrypt/archive/ /etc/letsencrypt/archive/
cp -ard /home/adminbox/restore/etc/letsencrypt/csr/ /etc/letsencrypt/csr/
cp -ard /home/adminbox/restore/etc/letsencrypt/keys/ /etc/letsencrypt/keys/
cp -ard /home/adminbox/restore/etc/letsencrypt/live/ /etc/letsencrypt/live/
cp -ard /home/adminbox/restore/etc/letsencrypt/renewal/ /etc/letsencrypt/renewal/

Relance apache2

systemctl restart apache2.service

Test en changeant son propre /etc/hosts

Ajout de règles au firewall via ufw

Ouvrir les ports nécessaires au fonctionnement de jitsi avec ufw :

sudo ufw allow 10000/udp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp

Si on ajoute les règles pour minecraft (ds le ynh) et que jp puisse y accéder depuis le lycée via le port 30 …

sudo ufw allow 30000/udp
sudo ufw allow 30/udp

Il faut transférer certains de ces ports au container jitsi (pour 80 et 443, c'est l'apache du host qui fait le proxy vers le container) et d'autres vers le container ynh pour minecraft : ajouter en début de fichier

nano /etc/ufw/before.rules
## b01 additions

*nat
:PREROUTING ACCEPT [0:0]
# minetest
-A PREROUTING -i enp35s0 -p udp --dport 30000 -j DNAT --to 10.0.3.243:30000
-A PREROUTING -i enp35s0 -p udp --dport 30 -j DNAT --to 10.0.3.243:30000
# jitsi specific rules
-A PREROUTING -i enp35s0 -p udp --dport 10000 -j DNAT --to 10.0.3.211:10000
-A PREROUTING -i enp35s0 -p tcp --dport 3478 -j DNAT --to 10.0.3.211:3478
-A PREROUTING -i enp35s0 -p tcp --dport 5349 -j DNAT --to 10.0.3.211:5349
COMMIT

10.0.3.211 étant l'ip du container jitsi, 243 le ynh

Redémarrer ufw avec

sudo ufw disable && sudo ufw enable

ou

systemctl restart ufw.service

Check du firewall status

sudo ufw status verbose

Modifier un fichier de config de jitsi avec l'ip du serveur

lxc-attach meet

Configurer le videobridge

nano /etc/jitsi/videobridge/sip-communicator.properties
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
###org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
# from forum 
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
# add to make it work inside the container
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=10.0.3.211
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=65.21.94.60

Redémarrer videobridge

 systemctl restart jitsi-videobridge2
migration_fe_box_2022.txt · Dernière modification : 2022/05/12 00:19 de Labomedia