Erreur interfaces réseaux

Salut, j’ai une erreur lorsque j’essaie de monter mes interfaces réseau.
C’est sur une machine Debian héberger sur ESXI, j’ai 3 interfaces, une virtuelle, connectée à un switch virtuel et 2 physiques.
L’erreur survient sur eth1 qui est une de mes 2 interfaces physique :
RTNETLINK answers: File exists
Failed to bring up eth1.

Voici mon fichier /etc/networking/interfaces :

The loopback network interface

auto lo
iface lo inet loopback

#Interface vlan sortie
auto eth1
iface eth1 inet static
address 172.18.0.2
netmask 255.255.255.252
broadcast 172.18.0.4

#Interface numericable
auto eth0
iface eth0 inet dhcp

#DMZ
auto eth2
iface eth2 inet static
address 192.168.111.1
netmask 255.255.255.0

L’adresse de broadcast 172.18.0.4 est manifestement erronée (il y a des bits à 0 à la fin) et surtout en dehors du sous-réseau défini par l’adresse 172.18.0.2 et le masque 255.255.255.252 :
adresse de sous-réseau 172.18.0.0
adresses d’hôtes : 172.18.0.1 à 172.18.0.2
adresse de broadcast 172.18.0.3
En règle générale on n’a pas besoin de spécifier l’adresse de broadcast, elle est calculée automatiquement à partir de l’adresse et du masque.

Note : [mono]ipcalc[/mono] est pratique pour calculer automatiquement ce genre de choses.

Ah oui merci pour l’astuce.
J’ai mit l’adresse de broadcast indiquée avec la commande ipcalc, qui est donc bien la 172.18.0.3 mais toujours le même problème avec cette interface …

Rectification, je n’ai plus le même soucis, j’arrive dorénavant à faire un ifup et un ifdown sur l’interface sans qu’il n’y est d’erreur. Cependant lorsque j’essaie de faire un ping entre ces 2 interfaces grâce à la commande : ping -I eth1 192.168.0.64, je reçois un “destination Host unreachable”…

Ok j’ai réglé mon problème. C’était une route qui s’adressait à la mauvaise passerelle voilà tout.
En revanche il n’est pas possible d’inter-pinger mes 2 interfaces du routeur, ça semble normal (puisquetoutle reste fonctionne) mais je ne sais pas pourquoi. Merci !

Qu’entends-tu exactement par “inter-pinger mes 2 interfaces du routeur” ?

Et bien, envoyer un ping entre eth0 et eth1 de mon routeur, où eth0 est en 192.168.0.X/24 et eth1 en 172.18.0.X/30

Avec quelle commande ?
Les communications entre adresses locales d’une machine doivent passer par l’interface de loopback “lo”, pas par les interfaces reliées à l’extérieur.

Grâce à cette commande : ping -I eth1 192.168.0.64

où eth1 est en 172.18.0.2/24

Puré j’ai nouveau le même problème avec ma 3 eme interface sur cette machine (eth2) elle connecte la DMZ au reste du réseau, je dois filtrer l’accès avec Squid.

Pourtant les paramètres de l’interface dans /etc/network/interfaces semblent correcte, ipcalc me le confirme.

auto eth2
iface eth2 inet static
address 192.168.111.1
netmask 255.255.255.0
broadcast 192.168.111.255

Tu ne peux pas faire communiquer les deux interfaces pour deux raisons :

  • Les deux interfaces sont connectées à des réseaux distincts, et 192.168.0.64 n’est pas sur le réseau connecté à eth1.
  • Même dans le cas contraire, comme le paquet reviendrait avec une adresse source appartenant à la machine, il serait considéré comme une usurpation d’adresse (spoofing) et écarté.

Tu n’as pas besoin de mettre l’adresse de broadcast, elle est calculée automatiquement. Dans ton premier message tu ne l’avais pas mise pour cette interface, et ça fonctionnait.

Oui elles sont connectés à des réseau distinct mais je fais du routage pourtant …!

J’ai rajouté l’adresse de broadcast justement parce que j’avais cette erreur. Je viens de la ré-enlever mais c’est toujours pareil…

A l’origine tu n’avais pas cette erreur sur cette interface. Tu as bien dû changer quelque chose pour qu’elle se produise, non ?

A quel moment se produit-elle ? Au démarrage de la machine ? L’interface est-elle néanmoins active et configurée (voir [mono]ifconfig[/mono] ou [mono]ip addr[/mono]) ?