Outils pour utilisateurs

Outils du site


linux:proxmox (lu 91423 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
linux:proxmox [03-12-2012 09:31]
edmc73
linux:proxmox [19-04-2017 23:16]
edmc73 [Bug]
Ligne 16: Ligne 16:
  
 ===== Configuration ===== ===== Configuration =====
 +==== Cas de figure : une seule adresse ip + un LAN ====
 On rajouter pour l'instant une petite règle de firewall On rajouter pour l'instant une petite règle de firewall
   iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to 70.70.70.70   iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to 70.70.70.70
Ligne 43: Ligne 44:
 [[linux:pound|Voir plus de détails sur Pound]] [[linux:pound|Voir plus de détails sur Pound]]
      
 +==== Cas de figure : Une adresse ip WAN pour chaque VM ====
  
 +Dans ce cas la, pas besoin de faire du nat, on a une sorte de pont entre le wan et les vm.
 +On ne peut pas faire d'iptables directement dans les VM, je n'ai pas trouvé l'astuce... Donc tout se faire sur le serveur proxmox.
 +
 +L'insterface **vmbr0** correspond à l'interface de proxmox, ensuite, tout ce qui est forwardé sur cette interface fini sur les VM.
 +
 +Brièvement, pour couper le port 80 sur la machine proxmox mais sans couper le port 80 de vos VM
 +  iptables -A INPUT -i vmbr0 -p tcp --dport 80 -j DROP
 +  
 +A l'inverse, couper le port 80 de toutes vos VM sans couper celui de proxmox
 +  iptables -A FORWARD -i vmbr0 -p tcp --dport 80 -j DROP
 +  
 +Pour couper le port 80 d'une seule VM, procurez-vous son adresse ip et ajoutez-la dans la règle  
 +  iptables -A FORWARD -i vmbr0 -p tcp -d 199.199.199.199 --dport 80 -j DROP
 +  
 +Garder à l'esprit que vos VM peuvent communiquer entre elle, je mettrai prochainement une règle permettant de les isoler entre elles.
      
 ===== Backup & restore ===== ===== Backup & restore =====
Ligne 82: Ligne 99:
 Rien n'est prévu toutefois pour faire une restauration... il faudra passer par la ligne de commande.\\ Rien n'est prévu toutefois pour faire une restauration... il faudra passer par la ligne de commande.\\
 Une fois la commande de restauration effectué, vous retrouverez la machine dans votre interface web. Une fois la commande de restauration effectué, vous retrouverez la machine dans votre interface web.
 +
 +===== Partager un répertoire =====
 +
 +Admettons vous voulez un répertoire dans votre VM qui contient plein de données mais vous ne souhaitez pas que ces données soient inclus dans le backup de votre VM.
 +
 +La solution est de créer un répertoire qui sera partagé par le système proxmox dans votre VM.
 +
 +Pour cela on va utiliser un montage **bind** directement sur la machine proxmox.
 +
 +Admettons que votre VM est le numéro 101, tapez cette commande sur la machine proxmox.
 +  mount --bind /var/lib/vz/stockage /var/lib/vz/root/101/mnt/stockage
 +
 +Maintenant tout ce que vous stockerez sur votre VM dans le répertoire /mnt/stockage ne sera pas considérer comme des données de votre VM et ne sera donc pas sauvegardé par votre backup.
 +
 +Pour que ce montage se fasse automatiquement, vous devez créer le fichier suivant
 +<file bash /etc/vz/conf/101.mount>
 +#!/bin/bash
 +source /etc/vz/vz.conf
 +source ${VE_CONFFILE}
 +mount --bind /vz/stockage ${VE_ROOT}/mnt/stockage
 +</file>
 +
 +Assurez-vous qu'il soit exécutable, chez moi il s'est mis automatiquement exécutable.
 +
 +===== Templates supplémentaires =====
 +
 +Par défaut on trouve pas mal de templates disponibles sur proxmox mais par exemple, il n'y a que la version 32bits de Debian.
 +
 +On peut trouver une version 64bits et d'autres distrib ici => http://wiki.openvz.org/Download/template/precreated
 +
 +Il n'y a plus qu'a les télécharger dans le répertoire template prévu par proxmox.
 +====== Proxmox 4 ======
 +
 +===== Bug =====
 +
 +solution => https://www.razva.ro/fixing-apparmordenied-namerunsystemdjournaldev-log/
 +
 +J'ai constaté ça dans **/var/log/syslog**
 +<code>
 +Mar  5 21:37:58 p2pfr kernel: [2587040.014930] audit: type=1400 audit(1488746278.820:13404): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20470 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:38:33 p2pfr kernel: [2587074.565032] audit: type=1400 audit(1488746313.371:13411): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20469 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:38:55 p2pfr kernel: [2587096.733778] audit: type=1400 audit(1488746335.538:13413): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20473 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:39:00 p2pfr kernel: [2587101.993724] audit: type=1400 audit(1488746340.798:13414): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20473 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:39:25 p2pfr kernel: [2587126.367660] audit: type=1400 audit(1488746365.173:13420): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20467 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:39:25 p2pfr kernel: [2587126.624156] audit: type=1400 audit(1488746365.429:13421): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20469 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:40:06 p2pfr kernel: [2587167.443497] audit: type=1400 audit(1488746406.248:13429): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20471 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +Mar  5 21:40:11 p2pfr kernel: [2587172.965146] audit: type=1400 audit(1488746411.768:13431): apparmor="DENIED" operation="sendmsg" profile="/usr/sbin/named" name="/run/systemd/journal/dev-log" pid=20468 comm="named" requested_mask="w" denied_mask="w" fsuid=109 ouid=0
 +</code>
 +
 +Après une recherche, j'ai pu comprendre que proxmox utilise un soft qui s'appelle **AppArmor** qui est une espèce de soft qui controle ce que d'autres soft ont le droit de lire ou écrire sur le serveur.
 +
 +Si on analyse le log, on nous parle du profile **/usr/sbin/named** qui veut accéder à **/run/systemd/journal/dev-log** en écriture ( requested_mask=w )
 +
 +Il faut donc chercher sur proxmox la règle du même nom => **/etc/apparmor.d/usr.sbin.named** et là on ne trouve aucune trace de **/run/systemd/journal/dev-log**
 +
 +Donc pour faire les choses bien, on va ajouter notre règle dans le fichier prévu à cette effet dans **/etc/apparmor.d/local/usr.sbin.named** ce qui doit donner ça
 +<code>
 +# Site-specific additions and overrides for usr.sbin.named.
 +# For more details, please see /etc/apparmor.d/local/README.
 +/run/systemd/journal/dev-log rw,
 +</code>
 +Ensuite on lance la commande qui recharge seulement ça
 +  apparmor_parser -r /etc/apparmor.d/usr.sbin.named
 +
 +et voilà :)
 +
 +
 +===== Commande =====
 +
 +Voir ou sont monté les VM
 +<code>
 +# losetup 
 +NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
 +/dev/loop0              0          0 /var/lib/vz/images/101/vm-101-disk-1.raw
 +/dev/loop1              0          0 /var/lib/vz/images/150/vm-150-disk-1.raw
 +/dev/loop2              0          0 /var/lib/vz/images/201/vm-201-disk-1.raw
 +</code>
 +
 +Ensuite vous pouvez soit les monter pour accéder aux fichiers, soit faire un fsck 
 +  fsck /dev/loop0
 +
 +
 +
linux/proxmox.txt · Dernière modification: 19-06-2024 16:53 de edmc73