Je continue l'exploitation des usages du petit routeur/pare-feu ZeroShell. Toutefois, cette distribution est utilisée à titre d'exemple et l'implémentation présentée dans le cadre de cet article n'est en en aucun cas limité à ce produit. L'objectif est de faire tourner 2 VM avec des adresses IP non publiques en leur donnant accès à Internet.
Dans le cadre de cet article, nous allons poser le contexte suivant :
- Je dispose d'un serveur physique équipé d'une seule carte réseau Eth0. Cette carte réseau est reliée à l'internet.
- Ce serveur physique est équipé de la distribution PROXMOX V2.
- Je souhaite héberger deux serveurs distincts qui seront des machines virtuelles gérés par PROXMOX.
Les machines virtuelles VM101 et VM102 appartiennent à des réseaux distincts (192.168.0.0/24 & 192.168.1.0/24) et le routeur/pare-feu ZEROSHELL installé dans la VM100 va gérer l'accès à l'internet de ces deux VM. Le filtrage des échanges entre VM101 & VM102 ne sera pas abordé car il a déjà été détaillé dans un précédent article.
La VM103 fait tourner un LIVECD Ubuntu dont je me sers uniquement pour accéder à l'interface graphique de ZEROSHELL.
La VM100 est impérativement une VM utilisant la technologie KVM. Pour rappel, PROXMOX propose des VM KVM et OpenVZ. KVM supporte un éventail de distribution plus large et simplifie grandement le travail de gestion de la partie réseau que nous allons utiliser dans cet article. KVM nécessite un processeur intégrant les options de virtualisation. Si vous souhaitez utiliser exclusivement OpenVZ, je vous invite à lire cet article.
Vous trouverez ci-dessous le résumé graphique de cette configuration.
Au final, voici la représentation graphique des VM dans l'interface de PROXMOX.
Configuration de PROXMOX
La configuration des réseaux PROXMOX va comporter 3 cartes réseau :
- Une carte réseau de production nommée « vmbr0 » qui sera utilisée pour administrer PROXMOX
et assurera le lien vers l'internet . Ce sont là des réglages par défaut qu'il convient de modifier pour des raisons de sécurité évidentes. Dans ma maquette, cette carte réseau récupère une IP dynamique – 192.168.254.131 – fournie par mon routeur à la carte réseau Eth0 de mon serveur PROXMOX
. - Deux carte réseaux virtuelles « vmbr1 » et « vmbr2 » qui sont rattachée au périphérique réseau virtuel « lo »). Chacune de ces cartes possède une IP statique que j'ai choisi aléatoirement : 192.168.0.131 & 192.168.1.131.
Au final, voici la représentation graphique des réseaux dans l'interface de PROXMOX.
Configuration de la VM ZEROSHELL
La Vm « 100 » faisant tourner l'OS ZEROSHELL est une VM utilisant la technologie de virtualisation KVM et ayant 3 cartes réseaux :
- « Net0 » – il s'agit du sous-réseau d'administration de ZEROSHELL
(« vmbr1 ») auquel sont également raccordée les VM 101 & 103. - « Net1 » – il s'agit du sous-réseau vers l'internet (« vmbr0 »)
- « Net2 » – il s'agit du sous-réseau privé auquel est la VM 102
Au final, voici la représentation graphique de la configuration de VM100 dans l'interface de PROXMOX.
Configuration de la VM de gestion de ZEROSHELL
La VM103 est utilisée pour configurer au travers de l'interface WEB ZEROSHELL. Cette VM utilise la technologie de virtualisation KVM et fait tourner une LiveCD Ubuntu. Elle est raccordée au réseau « vmrb1 ».
Au final, voici la représentation graphique de la configuration de VM103 dans l'interface de PROXMOX.
Voici le détail de la configuration de la carte réseau de la VM103 dans l'interface GNOME de Ubuntu.
Configuration de ZEROSHELL
Vous retrouvez ci-dessous le détail de la configuration des trois cartes réseaux dans le routeur/pare-feu ZEROSHELL
Pour des raisons de simplicité, j'ai configuré deux serveurs DHCP dans ZEROSHELL.
Le premier dessert le sous-réseau 192.168.0.0/24.
Le premier dessert le sous-réseau 192.168.1.0/24.
ZEROSHELL est uniquement configuré pour autoriser le trafic des 2 sous-réseaux vers internet. Pour un paramétrage plus complexe, je vous invite à lire cet article.
Configuration de la première VM de test
La VM101 est utilisée pour tester l'accès à l'internet au travers de ZEROSHELL. Cette VM utilise la technologie de virtualisation OpenVZet fait tourner une distribution Ubuntu. Elle est raccordée au réseau « vmrb1 ».
Au final, voici la représentation graphique de la configuration de VM101 dans l'interface de PROXMOX.
Voici le fichier de configuration en client DHCP de la carte réseau « eth0 » au sein de cette VM.
Il faut relancer le service « networking » pour activer cette configuration réseau.
On peut maintenant valider que cette VM accède bien à l'internet au travers du routeur ZEROSHELL.
Configuration de la seconde VM de test
La VM102 est utilisée pour tester l'accès à l'internet au travers de ZEROSHELL. Cette VM utilise la technologie de virtualisation OpenVZet fait tourner une distribution Ubuntu. Elle est raccordée au réseau « vmrb2 ».
Au final, voici la représentation graphique de la configuration de VM101 dans l'interface de PROXMOX.
Voici le fichier de configuration en client DHCP de la carte réseau « eth0 » au sein de cette VM.
Il faut relancer le service « networking » pour activer cette configuration réseau.
On peut maintenant valider que cette VM accède bien à l'internet au travers du routeur ZEROSHELL.
Conclusion
Cette solution permet bien d'héberger deux serveurs virtuels dans un serveur physique au sein d'un hyperviseur simple à gérer grâce à la distribution PROXMOX. Toutefois, si cette approche est assez simple à mettre en œuvre, elle reste assez basique en terme de sécurité notamment parce que tous les trafics réseaux de VM circule sur une même carte réseau virtuelle « lo ».
Néanmoins, cet article a été une approche intéressante et n'hésitez pas à me faire part de vos remarques car je ne suis pas un spécialiste des réseaux. Il y a peut-être une façon plus intelligente d'utiliser ZEROSHELL
SynerGeek.fr Informatique & Veille Technologique


















