Archives par mot-clé : tun

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.