ZeroShell : un routeur/parefeu léger pour Hyper-V 1

ZeroShell : un routeur/parefeu léger pour Hyper-V

Je réalise beaucoup de maquettes d’environnement Windows. Pour cela, j’utilise généralement mon portable sous Windows 2008 R2 et le moteur de virtualisation HyperV.

Toutefois, afin d’être libre de créer des contrôleurs de domaines, serveur DHCP, serveur PXE… sans polluer le réseau de mon entreprise et mes autres maquettes, je cherchais un petit routeur/pare-feu compatible avec HyperV. Dans l’absolu, n’importe quelle distribution linux spécialisée fait l’affaire. Néanmoins, ce fût l’opportunité pour moi de tester la très légère ZeroShell (Merci à reynald). ZeroShell : un routeur/parefeu léger pour Hyper-V 2

ZeroShell offre un nombre impressionnant de fonctionnalités pour seulement moins de 1 Go d’espace disque et 128Mo de RAM:

  • Equilibrage et basculement des connexions multiples à Internet;
  • Modem UMTS / HSDPA 3G connexions;
  • Serveur RADIUS pour l’authentification et la gestion automatique des clés de chiffrement pour réseaux sans fil 802.11b, 802.11g et 802.11a supportant le protocole 802.1x sous la forme d’EAP-TLS, EAP-TTLS et PEAP, les modes sont pris en charge avec TKIP WPA et WPA2 Conforme à la norme 802.11i CCMP, le serveur RADIUS peut aussi, selon le nom d’utilisateur, groupe ou MAC Adresse du suppliant, permettre l’accès sur un VLAN 802.1Q attribué à un SSID;
  • Captive Portal pour soutenir la connexion Internet sur les réseaux câblés et sans fil. Zeroshell agit comme une passerelle pour le réseau sur lequel le portail captif est actif et sur lequel les adresses IP (généralement appartenant à des particuliers) sont alloués dynamiquement par DHCP. Un client qui accède à ce réseau privé doit s’authentifier à l’aide d’un navigateur Web en utilisant Kerberos 5 nom d’utilisateur et mot de passe avant le pare-feu Zeroshell lui permet d’accéder au réseau public. Captive Portal passerelles sont souvent utilisés pour fournir un accès Internet dans les HotSpots dans le protocole d’authentification 802.1X alternative trop compliqué à configurer pour les utilisateurs. Zeroshell implémente les fonctionnalités de portail captif de manière native, sans utiliser d’autres logiciels spécifiques ou NoCat Chillispot;
  • Gestion de la QoS (Quality of Service) et le lissage du trafic pour contrôler le trafic sur les réseaux congestionnés. Il peut imposer des contraintes sur la bande passante minimale garantie, la bande passante maximale et la priorité d’un paquet (utile pour les connexions en temps réel comme la VoIP). Ces contraintes peuvent être appliquées sur des interfaces Ethernet sur le VPN, PPPoE sur le point à point, sur le pont et de liaison (agrégation) de VPN. La classification du trafic peut aussi être fait par les 7 couches de filtres qui permettent de Deep Packet Inspection (DPI) et ensuite ajuster la bande passante et la priorité à donner à des flux d’applications comme la VoIP et le P2P;
  • proxy HTTP avec Open source ClamAV anti-virus peut bloquer sur une pages web centralisée contenant des virus. La procuration, fait havp, peut fonctionner en mode proxy transparent, ce qui signifie qu’il n’est pas nécessaire de configurer votre navigateur Web pour les utilisateurs d’utiliser le serveur proxy, mais les requêtes http sera automatiquement redirigé vers elle. Il est évident que dans ce cas, la machine qui agit comme un proxy doit également être une passerelle (routeur IP ou un bridge);
  • Soutien à la fonctionnalité de la borne d’accès sans fil avec plusieurs SSID à l’aide des cartes réseau Wi-Fi à base de chipset Atheros. En d’autres termes, une boîte de Zeroshell avec une de ces cartes peuvent fonctionner comme WI-FI Point d’accès IEEE 802.11 pour les réseaux de soutien au 802.1x, WPA pour l’authentification et la génération de clés dynamiques. De toute évidence, l’authentification se fait via EAP-TLS ou PEAP utilisant les serveur RADIUS intégré;
  • VPN LAN-to-host protocole dans lequel L2TP/IPsec L2TP (Layer 2 Tunneling Protocol) authentifié avec Kerberos v5 nom d’utilisateur et mot de passe est encapsulé dans IPsec authentifiée avec IKE avec des certificats X.509;
  • VPN LAN-to-LAN avec encapsulation d’Ethernet dans SSL / TLS tunnel, avec le soutien de VLAN 802.1Q et des agrégats dans l’équilibrage de charge (bande augmenter) ou la tolérance aux pannes (augmentation de la fiabilité);
  • Routeur avec routes statiques et dynamiques (RIPv2 avec MD5 ou l’authentification en texte clair et Split Horizon et Poisoned inverse algorithmes);
  • Bridge 802.1d avec le protocole Spanning Tree pour éviter les boucles, même en présence de chemins d’accès redondants;
  • Firewall Stateful Packet Filter et Packet Inspection (SPI) avec des filtres applicables dans les deux routage et de pontage sur tous les types d’interfaces, y compris VPN et VLAN;
  • Firewall par pare-feu et de classification QoS du trafic de type partage de fichiers P2P;
  • NAT pour utiliser le réseau local de classe privée adresses cachées sur le WAN avec des adresses publiques;
  • retransmission TCP / UDP port (PAT) pour créer un serveur virtuel ou un cluster de serveurs réels ayant une adresse IP unique (l’adresse du serveur virtuel). Demande au serveur virtuel seront triés sur le serveur en temps réel de Round-Robin (cyclique) de maintenir les liens existants et les sessions. Vous pouvez vous procurer la ferme Web d’équilibrage de charge, et la ferme de calcul cluster SQL;
  • Multizone serveur DNS avec gestion automatique de la résolution inverse d’in-addr.arpa;
  • sous-réseau multi serveur DHCP avec la possibilité d’assigner des adresses IP basé sur l’adresse MAC;
  • 802.1Q LAN virtuel (VLAN tagué) applicable sur les interfaces Ethernet sur le LAN-to-LAN VPN, VPN, et la liaison du pont constitué d’Ethernet, de VPN et VPN bond;
  • client PPPoE pour vous connecter au WAN via ADSL, DSL et le câble (nécessite appropriées MODEM);
  • client DNS dynamique utilisé pour rejoindre facilement même lorsque l’IP WAN est dynamique. Une gestion dynamique des enregistrements MX DNS pour acheminer des e-mails sur le serveur mail SMTP avec IP variable;
  • Server et le client NTP (Network Time Protocol) pour maintenir l’accueil des horloges synchronisées;
  • Syslog serveur pour la réception et le système de catalogage journaux produits par les hôtes distants, y compris les systèmes Unix, routeurs, commutateurs, points d’accès WI-FI, les imprimantes réseau et d’autres compatibles avec le protocole syslog;
  • authentification Kerberos 5 en utilisant un KDC intégrée et l’authentification entre domaines;
  • autorisation LDAP, NIS et RADIUS;
  • autorité de certification X509 pour la délivrance et la gestion des certificats électroniques;
  • l’intégration entre Unix et Windows Active Directory sur un seul système d’authentification et d’autorisation en utilisant LDAP et Kerberos 5 d’authentification de domaine croix.

A la base, il s’agit d’une distribution Live CD, ce qui signifie qu’il n’y a pas besoin de l’installer sur le disque car elle peut fonctionner directement à partir du CD-ROM sur lequel il est distribué. De toute évidence, la base de données contenant toutes les données et les configurations peuvent être stockées sur ATA, SATA, SCSI et USB. Toutes les corrections de sécurité peuvent être téléchargées à partir du système de mise à jour automatique via Internet et installé dans la base de données.

Toutefois ; il est plus pratique dans le cas qui m’intéresse de disposer d’une machine virtuelle où l’OS démarrerait depuis un disque attaché à la VM. Ainsi, je peux sauvegarder, restaurer, cloner, partager la VM routeur sans avoir aussi à partager le LiveCD.

Je vais vous expliquer comment créer une Vm Hyper-V contenant 1 disque IDE et 2 cartes réseau afin de faire tourner le routeur ZeroShell.

Tout d’abord, il vous faut télécharger la dernière version de l’image de boot USB de ZeroShell.

ZeroShell : un routeur/parefeu léger pour Hyper-V 3

Décompressez-la avec 7-Zip.

Téléchargez ensuite l’utilitaire physdiskwrite-0.5.2-PhysGUI-bundle depuis http://m0n0.ch/wall/physdiskwrite.php.

Cet outil graphique permet de recopier l’image USB vers un disque IDE.

ZeroShell : un routeur/parefeu léger pour Hyper-V 4

Décompressez cette archive.

Rendez-vous ensuite dans la console d’administration de votre serveur afin de créer un nouveau disque virtuel VHD.

ZeroShell : un routeur/parefeu léger pour Hyper-V 5

Pour faire bonne mesure, je crée un disque dynamique de 2Go qui me permettra de stocker l’OS et les fichiers de configuration. Il faut savoir que ZeroShell permet de créer plusieurs configuration type (par exemple, routeur avec ou sans DHCP) que l’on peut activer à la demande.ZeroShell : un routeur/parefeu léger pour Hyper-V 6

Une fois ce disque créé, il faut l’initialiser.    ZeroShell : un routeur/parefeu léger pour Hyper-V 7

Maintenant, lancer l’utilitaire PhysHui.exe en tant qu’administrateur du poste local.

ZeroShell : un routeur/parefeu léger pour Hyper-V 8

Sélectionner le disque virtuel que vous avez créé plus tôt ! Attention, à ne pas vous tromper !

Cliquez avec le bouton droit de la souris et sélectionnez l’image USB de ZeroShell que vous avez décompressée plus tôt (le fichier .img, pas le fichier img.tgz !).

ZeroShell : un routeur/parefeu léger pour Hyper-V 9

Vous pouvez cocher « remove… » et valider.ZeroShell : un routeur/parefeu léger pour Hyper-V 10

Le contenu de l’image USB sera copié vers le disque virtuel. Cette opération prend une minute environ.ZeroShell : un routeur/parefeu léger pour Hyper-V 11

Comme vous pouvez le constater, le disque virtuel a été partitionné et contient un peu moins de 1 Go pour l’OS.ZeroShell : un routeur/parefeu léger pour Hyper-V 12

Vous pouvez maintenant détacher ce disque virtuel.ZeroShell : un routeur/parefeu léger pour Hyper-V 13

Vous allez maintenant créer une machine virtuelle HyperV pour ZeroShell. Attention, à mettre en disque IDE l’image que vous avez créée en première partie de ce tutoriel. La machine virtuelle doit comporter au moins deux cartes réseaux virtuelles héritées (c.a.d. compatible avec toute distribution Linux). La première sera raccordée à votre LAN virtuel. La seconde à votre WAN virtuel (.c.a.d le réseau local de mon PC). ZeroShell : un routeur/parefeu léger pour Hyper-V 14

Le réseau LAN virtuel est symbolisé par un vSwitch sur lequel viendront se connecter toutes les VMs de ma maquette.

ZeroShell : un routeur/parefeu léger pour Hyper-V 15

Vous pouvez maintenant lancer la VM.

ZeroShell : un routeur/parefeu léger pour Hyper-V 16

Après quelques secondes, le routeur est prêt. ZeroShell peut être administré partiellement depuis la console. Néamoins, l’essentiel des paramétrages sont accessibles depuis une interface web en https://192.168.0.75 (par defaut). L’identifiant de connexion est « admin » avec pour mot de passe « zeroshell ». Vous noterez que ces informations sont affichées dans la console (au premier démarrage seulement).

Pour accéder à l’interface d’administration de ZeroShell, je vais utiliser une machine virtuelle XP ayant une carte réseau raccordée à « vSwitch ». Je vais donner à cette VM une adresse IP statique (par défaut, le serveur DHCP de ZeroShelln’est pas activé).

ZeroShell : un routeur/parefeu léger pour Hyper-V 17

Tapez https://192.168.0.75 dans le navigateur internet puis saisissez les identifiants d’administration de ZeroShell !.

ZeroShell : un routeur/parefeu léger pour Hyper-V 18

Dans le menu « Setup », « Network », je retrouve mes deux cartes réseaux :

  • ETH10 pour le LAN virtuel
  • ETH01 pour le WAN virtuel

Vous pouvez changer les valeurs par défaut. J’ai choisi d’activer le client DHCP pour ETH01. Les changements sont sauvegardés et appliqués dès validation des valeurs saisies.

ZeroShell : un routeur/parefeu léger pour Hyper-V 19

Il ne nous reste plus qu’à activer le NAT du LAN vers le WAN. Cliquez sur le menu « routeur », « NAT » puis déplacez « ETH01 » vers la droite. Sauvegardez la modification.

ZeroShell : un routeur/parefeu léger pour Hyper-V 20

Ouvrez une page internet depuis la VM raccordée au LAN virtuel. Vous avez accès à l’internet au travers de votre routeur ZeroShell.

ZeroShell : un routeur/parefeu léger pour Hyper-V 21

 

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

Signature HTML dans Mail Mac OS X Mavericks 22

Signature HTML dans Mail Mac OS X Mavericks

Les méthodes changent entre les différentes version d’OS Apple pour intégrer une signature html dans …

Comment accélérer démarrage de Windows 7 ou 8 23

Comment accélérer démarrage de Windows 7 ou 8

Voici un tutoriel en vidéo pour apprendre comment accélérer le boot de Windows 7. La même démarche peut-être utilisée pour Vista ou Windows 8. Ce tuto est réservé à des utilisateurs avertis. Il est toujours bon de se faire une petite image disque avant ces manip'.

8 commentaires

  1. Bravo pour ce tuto pour un super produit.

    Une alternative “virtualisable” à PfSense !

  2. oui bien sûr

  3. Sympa comme projet, mais est-ce que fonctionne aussi sur le réseau ADSL?

  4. Merci pour ce sujet, je fais régulièrement la même chose avec pfSense pour mes maquettes, mais ça ma permis de voir que ZeroShell avait pas mal avancé depuis mes derniers tests (qui doivent remonter à 2 ou 3 ans).

  5. Merci, très utile.

  6. Tuto sympa, avec la découverte de Zeroshell, malgré que je ne soit pas Fan de Hyper-V.

    @+

  7. Super sujet ! merci beaucoup je recherchais une solution pour faire routeur en VM sous Windows !