Maniatux's Blog

Welcome to the internet

Serveur virtualisé

Rédigé par Xavier - -

Mon serveur perso a subit quelques désagréments récemment. Cela a commencé par des "clic clic" audibles indiquant que le disque dur arrivait en fin de vie suivi par quelques plantages (en conséquence). Sur ce coup je ne peux que m'en vouloir à moi-même, le disque dur en question étant une pièce récupérée d'un vieux PC portable d'occasion (on ne fait pas du neuf avec du vieux).

Puis des problèmes avec les câblages sont survenus. En effet, comme je le montrais sur les photos, il est branché directement sur la Livebox, mais cela coince au niveau des prises de courant à cause d'un boitier CPL utilisé pour la télé qui a tendance à englober plusieurs prises à la fois du fait de sa taille imposante. J'avais donc du revoir les branchements et utiliser un système de multiprises mais il a récemment montré ses limites quand tout à coup la Livebox a refusé de se synchroniser en PPP... Le débranchement du serveur et le retour à des câblages propres ont résolu le problème.

Virtualisation

En attendant une vraie solution, j'ai lancé mon backup de serveur en machine virtuelle. Il suffit de modifier les redirections de port sur la Livebox, et ça roule. Au début c'était sur Virtualbox, puis étant donné que la situation est amenée à durer je l'ai refait au propre sur KVM.

Mon ancien serveur s’appelait Flemeth, le nouveau s'appelle donc Morrigan, logique... Je lui ai assigné 1 CPU, 256Mo de ram et 10Go de stockage (qcow2 avec cache désactivé), largement suffisants pour l'usage. Le système est toujours Debian, mais en version amd64 cette fois. Ensuite il m'a fallu trouver une solution pour le réseau. Si la Livebox avait été un routeur "classique et sérieux", il m'aurait suffit de rediriger les ports des différents services sur l'IP de ma machine virtuelle. Sauf que la Livebox n'est pas un routeur classique, il y a des choses bien mais aussi des mauvaises. Notamment la redirection de ports ne se fait que sur les machines connues de la box, et les machines virtuelles n'apparaissent pas même si on a fait un pont réseau... donc ma solution est simple et détaillée un peu plus loin.

Création de la machine sur KVM

Voici grosso-modo les points essentiels:

  • Stockage 10 Go sous forme d'un fichier image (~/KVM/Morrigan.img), en qcow2. La désactivation du cache semble donner les meilleures performances.
  • Un réseau "isolé" en 172.16.32.0/26, DHCP désactivé. C'est le parefeu de l'hôte (Fedora) qui fera le lien avec le réseau physique et donc internet.
  • A l'install de la machine je spécifie l'adresse IP manuellement. Comme passerelle je mets l'IP de l'hôte (172.16.32.1) et comme DNS celui de Google (8.8.8.8).
  • Une partition / de 4GB sachant qu'avec tous les services je n'utilise même pas 900Mo (mais les logs vont venir), une swap de 256MB et le reste (6GB) en /srv (je mets tout ici).

Réseau & Accès internet

Nous allons utiliser du NAT+PAT, et oui encore... notre architecture présente trois réseaux nous allons donc utiliser deux fois le NAT. Pour faire plus simple on peut parler de "redirections"...


Un schema est plus parlant!
(1) La Livebox redirige vers mon PC portable.
(2) Le parefeu de Fedora redirige vers l'IP de la machine virtuelle.

Donc voici concrètement la configuration de la Livebox:

Voici celle du parefeu de l'hôte (outil de configuration graphique de Fedora):

Et enfin, pour que le serveur (virtuel) ait accès à internet, il faut activer la translation d'adresse (NAT) toujours dans le parefeu de Fedora:


Cochez l'interface réseau qui a accès à internet

Vérifications

Pour voir si la machine virtuelle a bien accès à internet, vous pouvez lancer un ping sur 8.8.8.8 (DNS de Google, facile à mémoriser). Un nslookup google.fr vous permet de savoir si les requêtes DNS fonctionnent bien. Cela devrait être bon.

Sur la machine hôte, que vous utilisez également pour surfer quotidiennement, vous pouvez ajouter une entrée dans le fichier hosts:

# nano /etc/hosts
172.16.32.10    maniatux.no-ip.org

Lorsque vous taperez votre FQDN (ici c'est maniatux.no-ip.org) il sera redirigé vers l'IP de votre serveur virtuel.

Notes

Il faut bien sûr que l'ordinateur portable soit allumé 24h/24 et reste sur le réseau de la Livebox... Si la Livebox avait été un vrai routeur, le NAT (1) aurait redirigé les ports vers l'adresse directe de la machine virtuelle (172.16.32.10) et on aurait également ajouté une route statique: Réseau 172.16.32.0 / 255.255.255.192 joignable par la passerelle 192.168.1.75 (l'IP de l'ordinateur hôte). Le NAT+PAT (2) aurait été inutile. Il aurait cependant fallu activer le routage (ou faire un "réseau routé" dans virt-manager).