Création de machine virtuelle dans ipfire

Cette page explique la procédure pour créer une machine virtuelle dans ipfire. Ne pas oublier d’installer le paquet qemu avec pakfire.

Mise à jour le 23 aout 2016.

Je déplace mes fichiers de configuration sur github.com.

Mise à jour le 29 octobre 2016.

Avec l’aide d’un plugin faisant le liens entre SynthaxHighLighter et pastacode, je réaffiche les scripts.

Ajout du drivers virtio pour le disque dur virtuel.

1/ Création de la carte réseau virtuelle tuntap en orange0

Copier le script dans le repertoire /etc/init.d, il sert à créer la carte réseau pour notre machine virtuelle

Le script est téléchargeable ici.

Donner les droits d’exécution, établir les liens symboliques pour le boot, lancer le script et setup pour attribuer la carte virtuelle à la zone orange.

chmod +x /etc/init.d/tap
ln -s /etc/init.d/tap /etc/rc.d/rc3.d/S17tap
ln -s /etc/init.d/tap /etc/rc.d/rc0.d/K84tap
ln -s /etc/init.d/tap /etc/rc.d/rc6.d/K84tap
/etc/init.d/tap start
setup

2/ Création de(s) bridge(s) en vue du raccordement d’une machine virtuelle

Copier le script dans le répertoire /etc/init.d, il sert à créer un pont réseau. Le script lit les lignes d’un fichier et créée le pont si la variable portant le nom de la carte est à yes.

Le script est téléchargeable ici.

Créer le fichier de configuration des bridges, donner le droits d’exécution du script, établir les liens symboliques pour le boot et lancer le script pour créer le bridge.

cat << EOF > /etc/default/bridge
orange=yes
EOF
chmod +x /etc/init.d/bridge
ln -s /etc/init.d/bridge /etc/rc.d/rc3.d/S21bridge
ln -s /etc/init.d/bridge /etc/rc.d/rc0.d/K83bridge
ln -s /etc/init.d/bridge /etc/rc.d/rc6.d/K83bridge
/etc/init.d/bridge start

3/ Création d’une machine virtuelle

Copier le script dans le répertoire /etc/init.d, il sert à créer si besoin le disque dur virtuel et boot dans la foulé sur une iso (à spécifier dans le script), si l’image disque existe déjà, la machine y boot.

Le script est téléchargeable ici.

Créer le fichier d’attribution des bridges, donner le droits d’exécution du script, établir les liens symboliques pour le boot et lancer le script pour créer le bridge.

chmod +x /etc/init.d/vhost
ln -s /etc/init.d/vhost /etc/rc.d/rc3.d/S99vhost
ln -s /etc/init.d/vhost /etc/rc.d/rc0.d/K01vhost
ln -s /etc/init.d/vhost /etc/rc.d/rc6.d/K01vhost

Il est nécessaire de créer un fichier .vhost par machine virtuelle dans le répertoire /etc/vhost/ pour que le script lance une nouvelle virtualisation.

mkdir /etc/vhost
cat << EOF > /etc/vhost/une_machine.vhost
INDEX=1
RAM=512M
DISK=/PATH/TO/IMG/XXX.img
SIZE=10G
MAC_TAP="01:AA:01:AA:01:AB"
MAC_NET="01:AA:01:AA:01:AA"
ISO=/PATH/TO/ISO
EOF

/etc/init.d/vhost start une_machine

Pour que la machine virtuelle puisse communiquer, il ne reste plus qu’à lui attribuer une adresses IP de même réseau.

Pour que la machine virtuelle s’éteigne correctement, il manque un script perl  (grand merci à hadfl du forum d’Ipfire).
Le script est téléchargeable ici.

4/ Redirection des ports de red0 vers orange0

Surtout, ne pas ajouter d’autres règles comme ACCEPT en entrée sur red, seul une redirection NAT est nécessaire pour accéder à la machine virtuelle dans la DMZ orange. Remplir le formulaire comme ci-dessous.

3 réflexions sur « Création de machine virtuelle dans ipfire »

  1. Bonjour,

    Je trouve que ton site est tres instructif et bien monter

    Dans la vm j’ai installer ubuntu server 32bit et un plex server (qui fontionne bien). Pour ajouter des fichiers facilement, dans IPfire j’ai installer le addons SMB pour partager un disque dur sur le GREEN.
    Dans le script vhost de la vm j’ai ajouter la commande -smb pour avoir acces au meme disque, par contre je n’arrive pas a le mounter. Avez-vous des suggestion?
    Merci

    J’ai trouver quelques petites erreurs probablement causer par des copie/coller

    Dans le script bridge a la ligne 38 et 69 et dans le script dessous (creation de /root/ipfire/bridge), il y a des < et > qui devrai etre

    Dans le script vhost:
    a la ligne 47, il faut enlever les && a la fin de la ligne
    a la ligne 90, dans le site web il manque la fin de la commande, mais quand on la copie elle est sur une autre ligne ce qui fait bugger le script

    Quand on creer le fichier une_machine.vhost, le mac pour la carte reseau dans la vm ne peut pas etre configurer. Suggerer d’aller sur http://www.miniwebtool.com/mac-address-generator/ pour avoir un autre mac adresse

    1. Bonjour

      Merci (en retard), pour votre commentaire, je viens de mettre à jour les script.

      Pour partager un répertoire, comme la racine /, entre deux linux, le mieux reste nfs.

      Les adresses MAC sont à fixer avant et s’assurer que les ponts réseaux sont bien mis en place avant la création de la machine virtuelle.


      # [root@ipfire ~] cat /root/ipfire/bridge
      green=yes
      # [root@ipfire ~] cat /root/ipfire/vhost/jessie.vhost
      # VNC access, use with TightVNC
      INDEX=3
      DISK=64G
      PATH_IMAGE=/home/qemu/jessie.vhost.img
      BRIDGE=green
      RAM=512M
      TAP=tap${INDEX}
      MAC_TAP="72:A3:C3:F7:67:04"
      MAC_NET="72:A3:C3:F7:67:06"

    2. Je voudrais mentionner un outil pour MAC Lookup.
      https://dnschecker.org/mac-lookup.php
      Accédez à cet outil et entrez le nom de n’importe quel fournisseur de matériel réseau, comme Cisco. Vous obtiendrez la liste de toutes les adresses MAC liées à ce fournisseur. Obtenez leur OUI et insérez le générateur d’adresses MAC.
      https://dnschecker.org/mac-address-generator.php
      Il générera l’adresse MAC avec cet OUI. L’outil est libre d’utilisation.

Les commentaires sont fermés.