Table des matières
Une réseau pour xen
Architecture réseau
+----------------------------------+ +---------------| | [dom0] +------------+ | | [domU] | | | | | | | | lan0-+ +-vif1-+---+-eth0/eth0.0 | | | | | | | | | [bridge] | | | | | | | | +---------------+ internet---+-eth0 | | | | | | | +---------------+ | | | | | [domU] | | | | | | | | dummy0-+ +-vif2-+---+-eth0 | | | | | | | | +------------+ | | | +----------------------------------+ +---------------+
L’architecture est basée sur un bridge interne (lanbr0) associé à une interface fictive (dummy0).
Les domU pourront dialoguer entre elles et avec la domO via un réseau privé géré par le bridge.
Pour les domU qui seront accessible depuis internet, les flux entrant par l'interface eth0 de la dom0 seront routés vers le bridge qui prendra en charge automatiquement le transfert vers la domU dont l'interface eth0.0 est associé à la bonne adresse IP public.
Pour les domU qui ne seront pas accessible depuis internet, la dom0 servira de passerelle via du masquerading.
Interface fictive dummy0
Vérifier que le module dummy est activé
# lsmod | grep dummy dummy 12717 0 #
Activer le module dummy
# modprobe dummy #
Activer le module dummy au boot
Dans le fichier /etc/modules mettre :
dummy
Créer l'interface
Fichier /etc/network/interfaces.d/07-dummy
# Interfaces fictives pour le bridge iface dummy0 inet manual
L'interface dummy0 n'a pas besoin d'être montée pour que le bridge fonctionne, d'ou le paramètre “manual”
Bridge lan0
Créer l'interface
Fichier /etc/network/interfaces.d/07-dummy.conf
# Démarrage automatique du bridge auto lan0 # Interface/pont pour le réseau interne iface lan0 inet static address 10.1.1.254 netmask 255.255.255.0 network 10.1.0.0 broadcast 10.1.1.255 bridge_ports dummy0 bridge_maxwait 5 bridge_stp off bridge_fd 0 post-up /sbin/ip route add 1.2.3.4 via 10.1.1.254 pre-down /sbin/ip route del 1.2.3.4 via 10.1.1.254
Lancer le bridge
Le bridge démarre automatiquement, mais pour éviter de rebooter :
# ifup lan0 Waiting for lan0 to get ready (MAXWAIT is 5 seconds). #
Contrôler le fonctionnement
# ifconfig lan0 lan0 Link encap:Ethernet HWaddr 8e:78:68:db:ca:df inet adr:10.1.1.254 Bcast:10.1.1.255 Masque:255.255.255.0 adr inet6: fe80::8c78:68ff:fedb:cadf/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:45 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:6808 (6.6 KiB) #
# ping 10.1.1.254 PING 10.1.1.254 (10.1.1.254) 56(84) bytes of data. 64 bytes from 10.1.1.254: icmp_seq=1 ttl=64 time=0.026 ms 64 bytes from 10.1.1.254: icmp_seq=2 ttl=64 time=0.028 ms 64 bytes from 10.1.1.254: icmp_seq=3 ttl=64 time=0.027 ms 64 bytes from 10.1.1.254: icmp_seq=4 ttl=64 time=0.031 ms ^C --- 10.1.1.254 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2997ms rtt min/avg/max/mdev = 0.026/0.028/0.031/0.002 ms #
Déclarer le bridge pour xen
Dans le fichier /etc/xen/xl.conf :
... # default bridge device to use with vif-bridge hotplug scripts vif.default.bridge="lan0" ...
Remarques
Le paquet bridge-utils est installé en même temps que le paquet xen-system