News !
Un routeur/parefeu ZeroShell sur Proxmox v2

Un routeur/parefeu ZeroShell sur Proxmox v2

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat1

Au final, voici la représentation graphique des VM dans l’interface de PROXMOX.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat2

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat3

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat4

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat5

Voici le détail de la configuration de la carte réseau de la VM103 dans l’interface GNOME de Ubuntu.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat6

Configuration de ZEROSHELL

Vous retrouvez ci-dessous le détail de la configuration des trois cartes réseaux dans le routeur/pare-feu ZEROSHELL

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat7

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat8

Le premier dessert le sous-réseau 192.168.1.0/24.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat9

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat10

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat11

Voici le fichier de configuration en client DHCP de la carte réseau « eth0 » au sein de cette VM.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat12

Il faut relancer le service « networking » pour activer cette configuration réseau.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1125 Exempleprat13

On peut maintenant valider que cette VM accède bien à l’internet au travers du routeur ZEROSHELL.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat14

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.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat15

Voici le fichier de configuration en client DHCP de la carte réseau « eth0 » au sein de cette VM.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat16

Il faut relancer le service « networking » pour activer cette configuration réseau.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat17

On peut maintenant valider que cette VM accède bien à l’internet au travers du routeur ZEROSHELL.

Un routeur/parefeu ZeroShell sur Proxmox v2 091312 1128 Exempleprat18

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

A propos de Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Vous pourriez être intéressé par…

5 commentaires

  1. Merci Olivier de t’être penché sur ce sujet. Et de l’extérieur, qu’est ce que cela donne. Les VM sont elles accessibles ? et comment ?

  2. eu au lieu de relancer ton network tu peut faire un ifup

    ifup “eth0″
    pour deco
    ifdown “eth0″

  3. j’ai trouver plus facile sur le site de proxmox

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.10.2
    netmask 255.255.255.0
    gateway 192.168.10.1
    post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

    auto vmbr0
    iface vmbr0 inet static
    address 10.10.10.1
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s ’10.10.10.0/24′ -o eth0 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s ’10.10.10.0/24′ -o eth0 -j MASQUERADE

    en faite tu fais juste une liaison entre eth0 est vmbr0
    il te suffit quand tu as crée ta vm de mettre une adresse en 10.10.10.X est de mettre en passerelle 10.10.10.1

    voila

  4. Bonjour,

    Je n’arrive pas à connecter mon zeroshell à internet.
    Je suis chez ovh. J’ai installé un proxmox depuis leur interface. j’ai installé un zeroshell en suivant ce tuto.
    Mon problème est que je n’arrive pas depuis zeroshell à accéder à internet. j’ai tenter un ping 8.8.8.8 sur la machine virtuel zeroshell, mais j’ai que des erreur.
    J’ai modifier mon fichier /etc/network/interface comme dans le précédent commentaire (en remplacent les “192…” en “94…” correspondant à l’IP de ma machine), mais ça ne marche pas.

    Est-ce que quelqu’un à le même problème que moi ou peut me donner un coup de main ?
    Je peux fournir plus de détail si nécessaire !

    Merci

  5. Il faudrait nous faire un schema le plus precis possible de l.installation et le fichier de conf reseau. A envoyer a webmaster@synergeek.fr

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*


8 + 4 =

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>