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.
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
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"
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.