Un routeur/parefeu ZeroShell sur Proxmox v2 1

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 2

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

Un routeur/parefeu ZeroShell sur Proxmox v2 3

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 4

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 5

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 6

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 7

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 8

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 9

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

Un routeur/parefeu ZeroShell sur Proxmox v2 10

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 11

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 12

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 13

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

Un routeur/parefeu ZeroShell sur Proxmox v2 14

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

Un routeur/parefeu ZeroShell sur Proxmox v2 15

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 16

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 17

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

Un routeur/parefeu ZeroShell sur Proxmox v2 18

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

Un routeur/parefeu ZeroShell sur Proxmox v2 19

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 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!

Je vous propose également...

Memento convertir les VM .OVA sur Proxmox 20

Memento convertir les VM .OVA sur Proxmox

Quand on veut tester un serveur (hébergement, messagerie, CRM ….) open-source, les éditeurs proposent en …

Zeroshell 3.0.0 est sorti 21

Zeroshell 3.0.0 est sorti

La nouvelle version de Zeroshell est sortie le 2 janvier dernier. A priori, peu de …

8 commentaires

  1. Merci pour cet article, par contre je suis confronté à un problème lors de la création de la vmbr2, il manque le package openswitch-switch, j’ai tenté de l’installer avec un apt-get install sans succès, sûrement un problème de repository ?

  2. Je pense que ce n’est pas possible (ou pas souhaitable) avec 1 seule adresse IP… En tout cas, pour ma part je n’ai pas réussi et j’ai 1 adresse IP supplémentaire…

  3. bonjour
    Pourriez vous m’aiser s’il vous plait
    j’ai un serveur Kimsufi avec une seule Ip publique et je veux l’installer sous proxmox et créer ensuite des vms qui peuvent causer avec l’exterieur et securisés par un routeur zeroshell.
    comment créer ou activer les interfaces virtuelles lo ou bridger les interfaces vmbr1 et vmbr2 .
    merci

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

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

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

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

    ifup “eth0”
    pour deco
    ifdown “eth0”

  8. 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 ?