Serveur passerelle virtualisé et iptables

Bonjours à tous.

Je ne sais pas trop comment expliquer mon problème mais je vais essayer d’être le plus précis possible.

Voila,

J’ai virtualisé un serveur physique (la passerelle du réseau) avec QEMU
Mes interfaces marchent , j’ai redirigé les adresses ip du serveur physique vers les adresses ip des interfaces virtuel grâce aux iptables.

La ou se complique l’affaire (et pour laquelle je fais appelle à vous). C’est pour le serveur DHCP.

Alors j’ai mon serveur physique qui à l’adresse 192.168.1.250 sur eth1 et par iptable je renvoi les packets sur le 192.168.1.252 [ qui correspond a eth2 de ma passerelle virtualisé]
Bien entendu pour le DHCP (qui se trouve sur eth2 de la passerelle virtualisé) j’ai du faire d’autre manipulation :

iptables -t nat -A PREROUTING -i eth1 -p udp --dport 67 -j DNAT
–to-destination 192.168.1.252:67

Si j’ai bien compris , je lui dis tout les pacquet de type DHCP qui arrive sur l’interface eth1 tu les renvoi sur le eth2 du virtuel.

Pourtant avec wireshark j’ai regarder les packets reste bloqué sur mon serveur physique qui ne redirige pas vers la passrelle virtuel.

Voila , j’espère avoir été le plus précis possible si vous avez des idées je suis preneur :stuck_out_tongue:

Si des informations ne sont pas clair n’hésitez pas à me demander.

Merci d’avance.

Je pense que c’est le “DNAT” qui pose problème à iptables.

Une requête DHCP est envoyée par le client en “broadcast”, il ne sait absolument pas où se trouve le serveur DHCP.

Et “DNAT” sert à changer l’adresse de destination du paquet. Vérifie si le problème ne vient pas de là:
tu demandes à iptables de changer l’adresse de destination d’un paquet envoyé en broadcast.

Tu devrais mettre l’interface en bridge, elle recevrait les paquets en broadcast et tout se passerait bien.

Merci à vous deux

GRUNT : Tu me conseil donc d’enlever DNAT , au profit de quoi ? Car la je suis quelque peux perdu

Fran.B : Je suis en bridge j’ai mes interfaces tap 0/1/2 mais vu que c’est un système existant je dois redirigé les packet de l’interface physique via l’iptable dans le virtuel , j’ai pas trouvé de meilleur solution :confused: Ce qui me permettra de virtualisé plusieurs serveurs et de pouvoir lancé mon script lors d’un plantage d’une machine physique.

En tout cas encore merci à vous d’avoir prêté votre attention à mon problème.

Cordialement,

On peut voir le résultat des commandes suivantes sur la machine hôte ?

ip addr
# ou
ifconfig -a

ip route
# ou
route -n

brctl show

et sur la machine virtuelle

ip addr
# ou
ifconfig -a

ip route
# ou
route -n

oui , la voila :

[size=150]Sur la machine hôte:[/size]
ifconfig -a

[code]eth0 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:194.146.14.176 Bcast:194.146.14.255 Masque:255.255.255.0
adr inet6: fe80::214:5eff:fe30:66b4/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:86691 errors:0 dropped:0 overruns:0 frame:0
TX packets:112257 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:6508869 (6.2 MiB) TX bytes:134181218 (127.9 MiB)
Interruption:16

eth0:0 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:194.146.14.249 Bcast:194.146.14.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:1 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:192.168.96.219 Bcast:192.168.96.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:2 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:194.146.14.38 Bcast:194.146.14.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:3 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:192.168.128.1 Bcast:192.168.128.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:4 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:192.168.32.1 Bcast:192.168.32.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:5 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:194.5.174.252 Bcast:194.5.174.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:6 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:192.168.150.1 Bcast:192.168.150.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:7 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:192.168.64.253 Bcast:192.168.64.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth0:8 Link encap:Ethernet HWaddr 00:14:5E:30:66:B4
inet adr:10.8.3.1 Bcast:10.8.3.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interruption:16

eth1 Link encap:Ethernet HWaddr 00:14:5E:30:66:B5
inet adr:192.168.1.250 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::214:5eff:fe30:66b5/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:193 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:31983 (31.2 KiB) TX bytes:11925 (11.6 KiB)

eth1:1 Link encap:Ethernet HWaddr 00:14:5E:30:66:B5
inet adr:192.168.3.250 Bcast:192.168.3.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1895 errors:0 dropped:0 overruns:0 frame:0
TX packets:1895 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:2718996 (2.5 MiB) TX bytes:2718996 (2.5 MiB)

pan0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
adr inet6: fe80::200:ff:fe00:0/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:0 (0.0 b) TX bytes:468 (468.0 b)

peth1 Link encap:Ethernet HWaddr 00:14:5E:30:66:B5
adr inet6: fe80::214:5eff:fe30:66b5/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:193 errors:0 dropped:0 overruns:0 frame:0
TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:35457 (34.6 KiB) TX bytes:12689 (12.3 KiB)
Interruption:16

tap0 Link encap:Ethernet HWaddr 76:D0:36:7B:02:C1
inet adr:192.168.201.1 Bcast:192.168.201.255 Masque:255.255.255.0
adr inet6: fe80::74d0:36ff:fe7b:2c1/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:500
RX bytes:14889 (14.5 KiB) TX bytes:6491 (6.3 KiB)

tap1 Link encap:Ethernet HWaddr 96:28:EF:AA:E8:AE
inet adr:192.168.202.1 Bcast:192.168.201.255 Masque:255.255.255.0
adr inet6: fe80::9428:efff:feaa:e8ae/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:111 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:500
RX bytes:15663 (15.2 KiB) TX bytes:5717 (5.5 KiB)

tap2 Link encap:Ethernet HWaddr 52:E1:B3:58:B7:88
inet adr:192.168.1.248 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::50e1:b3ff:fe58:b788/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:108 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:500
RX bytes:15322 (14.9 KiB) TX bytes:6058 (5.9 KiB)

virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet adr:192.168.122.1 Bcast:192.168.122.255 Masque:255.255.255.0
adr inet6: fe80::200:ff:fe00:0/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:0 (0.0 b) TX bytes:6511 (6.3 KiB)
[/code]
route -n

Destination Passerelle Genmask Indic Metric Ref Use Iface xxxxxxxxxxxxxx 194.146.14.47 255.255.255.255 UGH 0 0 0 eth0 xxxxxxxxxxxxxx 194.146.14.47 255.255.255.255 UGH 0 0 0 eth0 192.168.1.252 0.0.0.0 255.255.255.255 UH 0 0 0 tap2 192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 194.146.14.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.151.0 192.168.64.254 255.255.255.0 UG 0 0 0 eth0 192.168.96.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.8.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.64.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 192.168.32.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.201.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0 194.5.174.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.202.0 0.0.0.0 255.255.255.0 U 0 0 0 tap1 192.168.152.0 192.168.64.254 255.255.255.0 UG 0 0 0 eth0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 0.0.0.0 194.146.14.47 0.0.0.0 UG 0 0 0 eth0
brtcl show

bridge name bridge id STP enabled interfaces eth1 8000.00145e3066b5 no peth1 pan0 8000.000000000000 no virbr0 8000.000000000000 yes

[size=150]Machine virtuelle[/size]

ifconfig -a

eth0      Lien encap:Ethernet  HWaddr 52:54:00:12:34:56
          inet adr:192.168.201.249  Bcast:192.168.201.255  Masque:255.255.255.0
          adr inet6: fe80::5054:ff:fe12:3456/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:644 (644.0 b)  TX bytes:714 (714.0 b)
          Interruption:9 Adresse de base:0x4000

eth1      Lien encap:Ethernet  HWaddr 52:54:00:12:34:57
          inet adr:192.168.202.2  Bcast:192.168.202.255  Masque:255.255.255.0
          adr inet6: fe80::5054:ff:fe12:3457/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:9477 (9.2 KiB)  TX bytes:13181 (12.8 KiB)
          Interruption:9 Adresse de base:0x6000

eth2      Lien encap:Ethernet  HWaddr 52:54:00:12:34:58
          inet adr:192.168.1.252  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: fe80::5054:ff:fe12:3458/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:790 (790.0 b)  TX bytes:714 (714.0 b)
          Interruption:10 Adresse de base:0x8000

lo        Lien encap:Boucle locale
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:624 (624.0 b)  TX bytes:624 (624.0 b)

sit0      Lien encap:IPv6-dans-IPv4
          NOARP  MTU:1480  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 lg file transmission:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

route -n

Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 192.168.201.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.202.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 lo 0.0.0.0 192.168.202.1 0.0.0.0 UG 0 0 0 eth1

Voila , PascalHambourg , j’espère avoir répondu à ta demande.
S’il te faut plus d’information n’hésite pas , encore merci.

Houla ! il y a du monde là-dedans. A quoi correspondent les différentes interfaces ?

Il n’y a pas d’interfaces dans tes bridges sauf peth1 (qui est?), ils sont mis en place (tu as fait des addif?)

Bonjour à tous,

alors pour répondre à vos questions :

peth1 je ne sais pas ce que c’est , j’ai tellement bidouillé que … (oui … :confused: )

concernant tout les eth0:1 , :2 …etc ce sont les interfaces de la vrai passerelle.

Pour les TAP 1 2 3 c’est ce qui me permet de communiqué mes différentes interfaces virtuel.

En gros pour faire un peu plus simple

Tous les eth0 correspondent à un tap0 & tap1 ce qui fait que dans la machine virtuelle je retrouve ma structure du serveur que j’ai virtualisé soit eth0 et eth1

Pour eth1 de mon hôte il correspond a tap2 soit eth2 de la machine virtuelle (pour information c’est la que se retrouve mon dhcp , sur un vlan spécifique )

Je n’ai pas fais de addif si je comprend bien ça me permet de vraiment bridgé et de pas faire la manipulation qui est en place?

Car en faite pour permettre de communiqué du physique vers le virtuel je fais de la translation d’adresse via iptable -t nat.

Merci à vous.

edit: Correction pour le peth1 c’est a cause de xen a priori (je tourne sur un noyaux XEN)

J’ai trouvé!!!

Avec les informations que vous m’avez c’est à dire brctl , j’ai fais des recherches je suis tombé sur un tutoriel que je vous laisse voir : http://www.qth.fr/tag/brctl

Pour ma configuration j’ai fais :

brctl addbr br0 brctl stp br0 on brctl addif br0 eth1 brctl addif br0 tap2 ifconfig br0 192.168.1.250

Merci de votre aide , je crois que je vais rester un bon moment sur ce forum :smt007

Merci à tous!! :smt006