Outils pour utilisateurs

Outils du site


Panneau latéral

Traductions de cette page:

Avez-vous remarqué ?

Il n'y a aucune publicités ou scripts de profilage (tracker) sur ce site.

Ce n'est que grâce à votre aide que l'auteur peut financer l'hébergement et le temps consacré à cet ouvrage.

Si vous voulez l'encourager, vous pouvez faire un don ♥. (même un tout petit ;-))

À propos

Cet ouvrage est publié sous licence CC-BY-SA à l'aide de dokuwiki. Il a été écrit par un libriste curieux (et des contributeurs) qui s'est dit “si moi j'y arrive, pourquoi pas les autres?”. Merci de prévenir si vous partager ce texte ailleurs, juste pour information ;).

Si vous trouvez une erreur, souhaitez contribuer ou avez besoin d'aide, n'hésitez pas à contacter l'auteur.

Créer un livre

 N'hésitez pas à vous servir du bouton “Ajouter au livre” à droite afin de préparer une version imprimable de cette documentation.

7-vm:networkbridge

Dédier une machine virtuelle à une tâche

Vous voudrez certainement attribuer à chacune de vos machines virtuelles un rôle bien précis : l'une pour servir les sites web, une autre pour les mails… C'est bien entendu tout à fait possible, mais nécessite une configuration réseau différente de celle présentée jusqu'ici.

Ajout d'une interface virtuelle côté hôte

Sur votre serveur, créez une nouvelle interface de type “vether” (ethernet virtuel…)

# echo 'inet 10.0.0.1 255.255.255.0' > /etc/hostname.vether0
# sh /etc/netstart vether0

Ensuite, créez une interface de type bridge (qui fait le “pont” entre l'hôte et les machines virtuelles).

# echo 'add vether0' > /etc/hostname.bridge0
# sh /etc/netstart bridge0

Désormais, la redirection dans le parefeu se fait ainsi :

# match out on egress from 100.64.0.0/10 to any nat-to (egress) # ancienne ligne
match out on egress from vether0:network to any nat-to (egress)

# necessaire pour resolutions DNS
pass in quick proto { udp tcp } from vether0:network to any port domain \
    rdr-to 9.9.9.9 port domain

#pass on tap0 from 127.0.0.1 to any
#pass on tap0 from 100.64.0.0/10 to any
pass on vether0 from 127.0.0.1 to any
pass on vether0 from 10.0.0.0/24 to any
# ou pour ne pas s'embeter :
# pass on vether0

Afin de lancer une machine virtuelle, nous n'utiliserons plus l'option -L avec vmctl ni l'option local interface dans /etc/vm.conf. À la place, on configure une adresse bien précise pour chaque machine virtuelle dans le fichier /etc/vm.conf :

switch "my_switch" {
    interface bridge0
}

vm "openbsdvm" {
    memory 1G
    enable
    disk /var/vm/obsdvm.qcow2
    owner batman 
    interface { switch "my_switch" }
}

Configuration du réseau côté machine virtuelle

Sur la machine virtuelle, vous pouvez configurer une IP dans la plage 10.0.0.0/24 : c'est ce qu'on a mis dans le fichier /etc/hostname.vether0. Par exemple : “10.0.0.2”, “10.0.0.3”…

La route par défaut à indiquer est 10.0.0.1. Cela donnera :

# cat /etc/hostname.vio0
inet 10.0.0.2 255.255.255.0 10.0.0.255
# cat /etc/mygate
10.0.0.1
# cat /etc/resolv.conf
nameserver 10.0.0.1

Redirection du trafic vers les machines virtuelles

Selon la nature de la demande, vous enverrez le flux sur la machine virtuelle concernée. Prenons l'exemple suivant :

  • La machine virtuelle dont l'adresse est 10.0.0.2 sert un site web (ports 80 et 443).
  • La machine virtuelle 10.0.0.3 doit être accessible en SSH (port 22).

Sur le serveur hôte, vous configurerez le parefeu de cette façon :

pass in on egress proto tcp from any to (egress) port { 80 443 } rdr-to 10.0.0.2
pass in on egress proto tcp from any to (egress) port 22 rdr-to 10.0.0.3

Remarquez que pour plusieurs sites web, vous voudrez plutôt utiliser relayd afin de répartir la charge.

Contribu(trices|teurs) :

prx
7-vm/networkbridge.txt · Dernière modification: 2019/11/29 11:22 de prx