Modifications entre les versions 1 et 2
Version 1 à la date du 2007-05-31 00:27:02
Taille: 2001
Commentaire: premier jet...
Version 2 à la date du 2007-05-31 00:34:33
Taille: 2663
Commentaire: autres exemples NAT
Texte supprimé. Texte ajouté.
Ligne 46: Ligne 46:
IP_VZ_WWW="192.168.127.10" IP_VZ_DNS="192.168.127.9"
IP_VZ_MYSQL="192.168.127.10"
IP_VZ_SMTP="192.168.127.11"
IP_VZ_IMAP="192.168.127.11"
IP_VZ_WWW="192.168.127.12"
Ligne 52: Ligne 56:
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp --dport 80 -j DNAT --to-destination "$IP_VZ_WWW" $IPTN -A PREROUTING -d "$IP_PUBLIC" -p udp -m udp --dport 53 -j DNAT --to-destination "$IP_VZ_DNS"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m tcp --dport 53 -j DNAT --to-destination "$IP_VZ_DNS"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m tcp --dport 3306 -j DNAT --to-destination "$IP_VZ_MYSQL"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 25,465 -j DNAT --to-destination "$IP_VZ_SMTP"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 143,993 -j DNAT --to-destination "$IP_VZ_IMAP"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 80,443 -j DNAT --to-destination "$IP_VZ_WWW"

Ce document présente quelques possibilités d'organisation réseau pour des serveurs virtuels OpenVZ sur un serveur [:Debian:].

La méthode « ProgFou »

Principes

  • les serveurs virtuels sont une segmentation sécuritaire des services offerts
  • cette segmentation ne devrait pas être visible ou gênante pour les utilisateurs
  • l'organisation réseau doit être la plus « naturelle » possible (pas de bidouillage infâme)
  • mise en réseau autonome (une sorte de DMZ) des serveurs virtuels

Implémentation

  • utilisation du bloc d'adresses 192.168.127.0/24, choix arbitraire en référence au réseau 127.0.0.0/8

  • utilisation d'une interface dummy pour la « connexion » du serveur hôte :

    sudo sh -c 'echo dummy >> /etc/modules'
    sudo modprobe dummy
    sudo sh -c 'cat >> /etc/network/interfaces' << __EOF__
    
    auto dummy0
    iface dummy0 inet static
        address 192.168.127.254
        netmask 255.255.255.0
        network 192.168.127.0
        broadcast 192.168.127.255
    
    __EOF__
    sudo ifup dummy0
  • deux méthodes possibles d'interaction avec les serveurs virtuels :
    • masquage à l'aide de la traduction d'adresses
    • utilisation d'un frontal se positionnant en intermédiaire

Masquage des serveurs virtuels via traduction d'adresse

À mettre dans un script lancé au démarrage du serveur hôte :

IPT="/sbin/iptables"
IPTN="$IPT -t nat"

IF_PUBLIC="eth0"
IP_PUBLIC="207.46.232.182"

NET_VZ="192.168.127.0/24"
IF_VZ="dummy0"
IP_VZ="192.168.127.254"
IP_VZ_DNS="192.168.127.9"
IP_VZ_MYSQL="192.168.127.10"
IP_VZ_SMTP="192.168.127.11"
IP_VZ_IMAP="192.168.127.11"
IP_VZ_WWW="192.168.127.12"

# masquage en sortie :
$IPTN -A POSTROUTING -s "$NET_VZ" -o "$IF_PUBLIC" -j SNAT --to-source "$IP_PUBLIC"

# masquage en entrée :
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p udp -m udp --dport 53 -j DNAT --to-destination "$IP_VZ_DNS"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m tcp --dport 53 -j DNAT --to-destination "$IP_VZ_DNS"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m tcp --dport 3306 -j DNAT --to-destination "$IP_VZ_MYSQL"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 25,465 -j DNAT --to-destination "$IP_VZ_SMTP"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 143,993 -j DNAT --to-destination "$IP_VZ_IMAP"
$IPTN -A PREROUTING -d "$IP_PUBLIC" -p tcp -m multiport --dports 80,443 -j DNAT --to-destination "$IP_VZ_WWW"

Installation d'un frontal

...(à compléter)...

La méthode « Tini »

...(Tini, tu mets quelques mots sur le bridge ?)...


CatégorieVirtualisation

OpenVZ/OrganisationRéseau (dernière édition le 2018-01-19 17:16:04 par MoussaNombre)