ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, Environnement IT, Howto Proxmox VE : OpenVZ, KVM

Proxmox Virtual Environment d'OVH (par ex), détails sur une configuration réseau et installation des KVMs avec des Linux-Vservers.

Author : O.Romain.Jaillet-ramey

Proxmox Virtual Environment est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle. Nous allons étudier vulgairement ses fonctionnalités et différentes configurations.

Nous disposons d'1 adresse publique + 3 adresses publique en IP_FAIL_OVER.

Nous souhaitons virtualiser un parc de machines serveurs, afin d'héberger un service Mail, un service Web* ainsi qu'un service d'Active Directory.

Dans cette configuration :

Pour cela, nous installons 3 KVM via l'interface Web Proxmox, pour y héberger les services Mails, Web et de l'AD. Sur chacun des KVMs nous installerons Linux-Vservers pour y faire tourner les services nécessaires bien séparément.

Chez OVH, pour optenir des adresses IP_FAIL_OVER rendez-vous dans votre OVH-Manager-V3 à l'heure d'aujourdh'ui. Elles seront actives quelques minutes après les avoir créés et assosiés donc à votre serveur/MAC Address.

Configuration de l'hôte PVE

Ici on detail la configuration de certains fichiers de la machine hôte. Laquelle va recevoir tous les paquets, elle jouera le rôle de passerelle.

on vérifie déjà que le noyeau est le bon (PVE):

Script avec 3 lignes

001uname -a
002Linux zw3b.ovh.net 2.6.32-4-pve
003  
Retirer les numéros de lignes

okay... le noyeau est bien celui de proxmox, nous sommes sur l'hôte.

Dans un premier temps, on vérifie, configure le fichier vim /etc/network/interfaces qui correspond au fichier de configuration réseaux.

Je met ici le fichier actuel, je détaillerai au cours de la rédaction du papier.

Script avec 46 lignes

001# /etc/network/interfaces
002
003# network interface settings
004auto lo
005iface lo inet loopback
006
007iface eth0 inet manual
008
009# vmbr0: Bridging. Make sure to use only MAC adresses that were assigned to you.
010auto vmbr0
011iface vmbr0 inet static
012        address  46.105.127.65
013        netmask  255.255.255.0
014        gateway  46.105.127.254
015        broadcast  46.105.127.255
016        bridge_ports eth0
017        bridge_stp off
018        bridge_fd 0
019        network 46.105.127.0
020
021        post-up echo 1 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp
022        post-up ip route add 46.105.40.188 dev vmbr0 # ici on ajoute une route pour notre adresse IP_FAILOVER (un des "futur" KVM)
023        post-up ip route add 46.105.40.189 dev vmbr0 # ici aussi.
024        post-up ip route add 10.59.100.187 dev vmbr0 # ici vous remarquez que c'est une adresse privée.. mais c presque pareil.. en vrai :/
025        post-down ip route del 46.105.40.188 dev vmbr0
026        post-down ip route del 46.105.40.189 dev vmbr0
027        post-down ip route del 10.59.100.187 dev vmbr0
028        post-down echo 0 > /proc/sys/net/ipv4/conf/vmbr0/proxy_arp
029
030# for Routing - Pour les OpenVZ.. par exemple (172.16.0.XXX/24).. nous n'en utilisons pas
031auto vmbr1
032iface vmbr1 inet manual
033    bridge_ports dummy0
034    bridge_stp off
035    bridge_fd 0
036#    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
037#    post-up iptables -t nat -A POSTROUTING -s '172.16.0.0/24' -o vmbr1 -j MASQUERADE
038#    post-down iptables -t nat -D POSTROUTING -s '172.16.0.0/24' -o vmbr1 -j MASQUERADE
039
040auto eth0:0
041iface eth0:0 inet static
042        address 10.59.100.254
043        netmask 255.255.255.0
044        network 10.59.100.0
045        broadcast 10.59.100.255
046  
Retirer les numéros de lignes

On redémare le réseau /etc/init.d/networking restart pour que la configuration soit prise en compte.

On peut vérifier que nos routes soient bien appliquées au systeme

Script avec 9 lignes

001route -n
002Table de routage IP du noyau
003Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
00446.105.40.188   0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
00546.105.40.189   0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
00610.59.100.187   0.0.0.0         255.255.255.255 UH    0      0        0 vmbr0
00746.105.127.0    0.0.0.0         255.255.255.0   U     0      0        0 vmbr0
00810.59.100.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0090.0.0.0         46.105.127.254  0.0.0.0         UG    0      0        0 vmbr0
Retirer les numéros de lignes

En plus d'ajouter les routes à l'hôte, pour les KVM en IP privées, il faut logiquement NATer les paquets. (c'est comme si l'hôte était une passerelle Linux et qu'un KVM était une machine sur le réseau ; et que l'on souhaitait avoir InterNet sur cette machine)

En français ;) çà donne :

Script avec 3 lignes

001  NET_IF=vmbr0
002  KVM3_IP=10.59.100.187
003  
Retirer les numéros de lignes

Script avec 5 lignes

001  # régle iptables à ajouter seulement si vous disposer d'un KVM en IP privée 
002  iptables -t nat -A POSTROUTING -o $NET_IF -s $KVM3_IP -j MASQUERADE
003  #  pour l'enlever... :/
004  iptables -t nat -D POSTROUTING -o $NET_IF -s $KVM3_IP -j MASQUERADE
005  
Retirer les numéros de lignes

A partir de ce moment, notre hôte est prêt à accueillir et envoyer des requêtes aux serveurs virtuels.

Configuration d'un KVM n'ayant pas la même classe d'IP que son hôte

?€ partir de cet instant, sur le KVM il faut bien entendu configurer /etc/resolv.conf avec 1 DNS ou 2 ou 3 :) pour la résolution des noms/IP, ainsi que son fichier réseaux vim /etc/network/interfaces en ajoutant la gateway.

Ici, on s'occupe de la configuration suivante :

Script avec 5 lignes

001  # /etc/resolv.conf
002  nameserver 213.186.33.99
003  nameserver 8.8.8.8
004  nameserver 8.4.8.4
005  
Retirer les numéros de lignes

Script avec 21 lignes

001  # /etc/network/interfaces
002auto lo
003iface lo inet loopback
004
005# The primary network interface
006#allow-hotplug eth0
007auto eth0
008iface eth0 inet static
009        address 46.105.40.188
010        netmask 255.255.255.255
011        broadcast 46.105.40.188
012
013        post-up route add -host 46.105.127.254 dev eth0
014        post-up route add default gw 46.105.127.254
015        post-down route del -host 46.105.127.254 dev eth0
016        post-down route del default gw 46.105.127.254
017         
018        # dns-* options are implemented by the resolvconf package, if installed
019       dns-nameservers 213.186.33.99 8.8.8.8 8.4.8.4
020       dns-search ovh.net
021  
Retirer les numéros de lignes

Il faut bien préciser le broadcast 46.105.40.188 vers la même machine et mettre le netmask 255.255.255.255.

Puis pour que le systeme accepte une machine (IP) externe à son réseau, il faut l'indiquer explicitement au système, On va donc ajouter l'IP en question (celle de la gateway), puis, ensuite appliquer notre route pour la passerelle :

Script avec 4 lignes

001# la ligne supplementaire
002  route add -host 46.105.127.254 dev eth0
003  # puis comme d'habitude
004  route add default gw 46.105.127.254 
Retirer les numéros de lignes

On vérifie nos routes après avoir redémarer le réseau /etc/init.d/networking restart

Script avec 5 lignes

001route -n
002Table de routage IP du noyau
003Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
00446.105.127.254  0.0.0.0         255.255.255.255 UH    0      0        0 eth0
0050.0.0.0         46.105.127.254  0.0.0.0         UG    0      0        0 eth0
Retirer les numéros de lignes

Configuration d'un KVM ayant la même classe d'IP que son hôte

Ce n'est pas forcement la bonne solution (ou interdit) d'avoir la même classe d'IP sur des réseaux différents. Vu que techniquement, nous avons un réseau réel et un réseau virtuel.


Voilà, on ping l'InterNet... :) depuis notre KVM

Vulgairement comme je vous ai dis plus haut, c'est ce qu'il faut pour comprendre Proxmox. Ensuite sur chaqu'un de nos KVMs, on installe un noyeau linux-vserver et on crée nos différents linux-vservers...

IPv6 Configuration


<< Comment-faire un réseau IPv6 ? Introduction

Configurer un poste Linux pour naviguer sur InterNet >>