Utilisation de DHCP pour obtenir deux adresses IP différentes pour deux NIC sur une machine

J'utilise Debian 7.0.

J'ai une machine avec deux NIC connectées et je souhaite assigner deux adresses IP statiques à cette machine.

Voici ma configuration dans /etc/network/interfaces :

 # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp 

Voici le résultat de /sbin/ifconfig :

Entrez la description de l'image ici

Comme vous pouvez le voir, les NIC ont reçu une adresse IP statique.

Le problème étrange est que vous pouvez faire un ping / accéder uniquement à l'IP depuis eth1 . De même, même si j'ai deux NIC, j'ai une seule IP pour cette machine.

Où est ma faute, pourquoi je ne peux pas accéder / accéder / faire un ping à l'IP depuis eth0 d'une autre machine?

Vous pouvez également essayer le ping et vous verrez.

J'espère que vous pouvez m'aider!

2 Solutions collect form web for “Utilisation de DHCP pour obtenir deux adresses IP différentes pour deux NIC sur une machine”

Probablement parce que le système avec deux NIC essaie d'envoyer la réponse ICMP message ping de eth0 hors de eth1 .

Lorsque votre système envoie du trafic vers le réseau, il consulte sa Base de renseignements de transfert locale (FIB) ou la table de routage.

La table de routage contiendra une liste de sous-réseaux et d'interfaces où ce sous-réseau peut être atteint. Chaque paquet sortant est comparé à chaque entrée de ce tableau, et celui avec le numéro CIDR de sous-réseau le plus élevé "gagnera" et sera utilisé pour envoyer le trafic. S'il n'y a pas de gagnants, la passerelle par défaut est utilisée.

Vous avez 2 entrées avec le même sous-réseau CIDR allant au même sous-réseau. Essentiellement, en ce qui concerne votre système, ceux-ci vont au même endroit, donc peu importe ce qui est utilisé. Votre pile de réseau va utiliser la première qu'elle rencontre, envoyer la circulation hors de celle-ci, et ensuite se faire avec elle. Probablement, la NIC avec le numéro IP le plus bas apparaît en premier dans votre table de routage.

Vous devez examiner les fonctionnalités de routage des politiques de Linux (Google "policy routing" et la bonne chance parce que je l'étudie moi-même), ou envisager de rediriger le trafic avec iptables si vous voulez vraiment le faire.

La manière simple

À votre niveau de connaissance, il est préférable d'ignorer la deuxième NIC (c.-à-d. La déconnecter) et avoir 2 adresses IP liées à la première NIC. Les inconvénients sont le manque de redondance et vous êtes limité à la vitesse de 1 NIC.

Pour ce faire (pour eth0), modifiez votre fichier / etc / network / interfaces pour lire:

 # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address AAAA netmask 255.255.252.0 gateway XXXX auto eth0:1 iface eth0:1 inet static address BBBB netmask 255.255.252.0 

Notez que vous devrez mettre l'adresse de passerelle correcte pour XXXX Vous devrez également vous assurer que les adresses IP (AAAA et BBBB) ne figurent pas dans la plage DHCP.

À la dure

L'idée ici est de faire en sorte que les 2 interfaces agissent comme 1 interface à double vitesse (avec la possibilité de continuer à travailler si une interface est débranchée), puis d'afficher les adresses IP semblables à celles ci-dessus.

La première difficulté à résoudre est de déterminer quel mode utiliser. Il n'y a pas de solution unique, c'est la question de choisir la plus appropriée pour vous et votre matériel. Jetez un oeil ici pour une description des différents modes. En cas de doute, utilisez le mode 0 – cela ne nécessite pas de matériel de fantaisie, mais vous ne pouvez obtenir l'effet total de la liaison par canal que pour le trafic sortant, mais vous obtenez toujours une redondance. Si vous avez du trafic pour beaucoup d'adresses différentes sur le réseau local, le mode 2 n'est pas un mauvais choix non plus.

Vous devez créer un fichier comme /etc/modprobe.d/bonding.conf pour indiquer au système comment vous souhaitez faire le lien

 alias bond0 bonding options bond0 mode=0 miimon=100 

(Ce qui précède suppose que vous utilisez le mode 0).

La façon la plus simple de faire entrer cette modification est de redémarrer votre ordinateur.

Vous aurez maintenant une nouvelle interface disponible sur votre système "bond0". À l'aide de / etc / networks / interfaces, vous asservissez maintenant les 2 interfaces ethernet, puis faites apparaître les interfaces virtuelles selon l'exemple 1 ci-dessus.

Donc le fichier ressemblera

 # The loopback network interface auto lo iface lo inet loopback # Enslave the ethernet drivers auto eth0 iface eth0 inet manual bond-master bond0 bond-primary eth0 auto eth1 iface eth1 inet manual bond-master bond0 bond-primary eth1 # The primary network interface auto bond0 iface bond0 inet static address AAAA netmask 255.255.252.0 gateway XXXX auto bond0:1 iface bond0:1 inet static address BBBB netmask 255.255.252.0 
  • Réseaux compatibles avec l'emplacement OS X
  • Impossible de résoudre le nom d'hôte sur ip
  • Problème de réseautage étrange (Linksys, Windows 7)
  • Impossible d'accéder à mon serveur ssh linux lorsqu'un réseau externe
  • Comment Mac OSX donne-t-il priorité aux interfaces réseau lors du routage?
  • Pourquoi la vitesse du réseau sur mon Mac Pro (début 2009) est-elle si lente?
  • Impossible de parcourir Internet sur Mac OS X
  • Pourquoi l'invité de VirtualBox ne peut-il pas se connecter au réseau?
  • Mappage permanent d'un lecteur réseau sur Mac OS X Leopard
  • Dans OS X, comment puis-je préciser 127.0.0.1 sur la liste des serveurs DNS obtenus via DHCP?
  • Désactiver le sans fil lorsque la connexion Ethernet est détectée sur un HP EliteBook
  • Soyons le génie de l'ordinateur et du réseau.