Hello
Je cherche a configurer xen et je commence à en perdre mon latin !
Avant de commencer j'ai un dom0 sous debian 7 et un xen en 4.1.4 (pas xenserver, xen). Je manipule mes VM avec la suite d'outils xen-tools. Je suis dans un mode de configuration vif-route, je ne veux pas de bridge car mon dom0 a une IP statique, donnée par l'hébergeur, et je veux que mes machines virtuelles soient sur un réseau privé (10.0.0.0/24), avec mon dom0 qui fait tampon. En fait ça fait longtemps que je fonctionne comme ça, et tout allait très bien dans le meilleur des monde quand tout à coup, j'ai voulu ajouter une IP à mon dom0 (pour changer de dom0 par la suite, car mon IP statique est liée à mon dom0 et je ne veux pas que mes services soient dépendant du serveur).
J'ai ajouté l'IP tout simplement en modifiant mon /etc/interfaces comme suit (en suivant les instructions de mon hébergeur) :
En dessous de ma première IP. A noter que ma nouvelle IP m'a été attribuée par mon hébergeur et est routée par lui vers mon ancienne IP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14auto eth0 iface eth0 inet static address ANCIENNE.IP netmask 255.255.255.0 network ANCIENNE.0 broadcast ANCIENNE.255 gateway ANCIENNE.254 auto eth0:0 iface eth0:0 inet static address NOUVELLE.IP netmask 255.255.255.255 broadcast NOUVELLE.IP
Tout fonctionne très bien, en adaptant mes règles de routage j'ai pu adresser mes machines virtuelles comme j'adressais avec la première IP etc...
Maintenant je veux aller plus loin et je veux que mes VM parlent avec cette nouvelle IP. C'est là que ça coince. J'ai tenté des trillions de trucs dans tous les sens, rien à faire, mes VM ne veulent pas parler avec cette nouvelle IP. Je ne sais plus quoi faire. Pour illustrer mon problème j'ai deux exemples. Sur un serveur bac à sable j'ajoute un truc du genre
Comme ça je vois les paquets arriver de mon ancienne IP. Ensuite j'ai plus qu'à faire un test de ping vers mon serveur bac à sable pour voir si les paquets qui arrivent ont la bonne ou la mauvaise IP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part iptables -A INPUT -s ANCIENNE.IP -j LOG
Deuxième test, sur mon dom0 je mets un truc du genre :
Ce deuxième test me fait penser que mes VM passent par eth0 pour sortir, le souci c'est que j'ai pas réussi a leur indiquer de faire autrement !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 iptables -t nat -A POSTROUTING -o eth0:0 -s 10.0.0.0/24 -j MASQUERADE -> mes paquets sont jamais maqueradés iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE -> mes paquets sortent maqueradés
Voici les choses que j'ai tenté qui me semblaient avoir le plus de sens :
Ajouter netdev=eth0:0 dans l'appel network-route de xend-config. Ca marche, les vif des VM chopent bien l'IP NOUVELLE.IP, par contre les VM continuent de parler avec l'IP de eth0 : ANCIENNE.IP
Ajouter cette route sur le dom0 : "post-up /sbin/ip route replace default via GATEWAY.IP src NOUVELLE.IP" Et ca marche, le dom0 parle bien avec l'IP NOUVELLE.IP après, par contre tjrs pas les VM...
Pour l'instant je veux éviter un truc un peu bancal de type NAT d'une interface vers une autre, si les VM parlent via eth0, il doit bien y avoir un moyen de les faire parler via eth0:0.
J'en appelle à votre aide car je sèche complètement, quelqu'un aurait une idée (ou remarque une bétise dans ce que j'ai fait) ?
Ci dessous des éléments de configuration supplémentaires :
Sur dom0
Sur une VM
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28dom0 # ifconfig eth0 Link encap:Ethernet HWaddr XXXXXXX inet addr:ANCIENNE.IP Bcast:ANCIENNE.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:84274 errors:0 dropped:0 overruns:0 frame:0 TX packets:23912 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7729871 (7.3 MiB) TX bytes:4916716 (4.6 MiB) Memory:dfa20000-dfa40000 eth0:0 Link encap:Ethernet HWaddr XXXXXXX inet addr:NOUVELLE.IP Bcast:NOUVELLE.IP Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Memory:dfa20000-dfa40000 vif14.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff inet addr:NOUVELLE.IP Bcast:NOUVELLE.IP Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) dom0 # ip route default via ANCIENNE.254 dev eth0 src NOUVELLE.IP 10.0.0.1 dev vif14.0 scope link src NOUVELLE.IP ANCIENNE.0/24 dev eth0 proto kernel scope link src ANCIENNE.IP
Merci beaucoup !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15VM1 # ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3e:c8:43:70 inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fec8:4370/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:158 errors:0 dropped:0 overruns:0 frame:0 TX packets:231 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14729 (14.3 KiB) TX bytes:24064 (23.5 KiB) Interrupt:80 VM1 # ip route default dev eth0 scope link 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1







Répondre avec citation
Partager