Pourquoi avons-nous besoin d'une adresse IP pour un pont?

27

Un pont est un périphérique réseau de couche 2. Sur les ponts physiques, nous n'avons qu'une adresse IP pour le fonctionnement et la maintenance. Je suis un peu confus pourquoi nous avons besoin dans KVM d'une adresse IP pour le pont. Je comprends que l'interface de la machine virtuelle obtient une adresse IP et que l'interface physique attachée au pont n'a pas d'adresse IP. Cela garantit que l'adresse IP de la machine virtuelle est visible de l'extérieur. Dans un environnement de serveur, je n'utiliserais que l'adressage IP statique pour les machines virtuelles.

Supposons que j'utilise l'adressage IP statique pour les machines virtuelles, pourquoi ai-je besoin d'une adresse IP sur le pont?

fgeld
la source

Réponses:

14

Vous n'avez pas besoin d'avoir une IP configurée pour un pont, de la même manière que vous n'avez pas besoin d'avoir une IP configurée pour un périphérique Ethernet, sur n'importe quelle machine (que ce soit hôte / invité ou autre).

Cependant, si vous avez un périphérique / pont qui n'a pas d'adresse IP, vous ne pouvez pas vous attendre à ce qu'il soit utilisable par la partie qui ne l'a pas correctement configuré (qu'il soit hôte ou invité).

Ainsi, par exemple, si j'ai un hôte KVM avec un pont appelé "br_vm" que j'attribue à tous les invités KVM comme seule interface (les invités l'appelleront très probablement "eth0"), et si br_vm n'est pas configuré sur l'hôte , vous ne pouvez pas vous attendre à ce que les invités puissent parler à l'hôte via leur interface eth0.

Vous demandez pourquoi vous avez besoin d'une adresse IP pour un pont et la réponse est non. Cependant, si vous voulez savoir dans quels scénarios vous souhaiteriez avoir une IP pour le pont sur l'hôte, je peux penser à quelques-uns:

  1. Vous souhaitez que vos machines virtuelles communiquent avec l'hôte, même pour DHCP ou DNS uniquement;
  2. Vous souhaiterez peut-être désactiver le trafic de machine virtuelle à machine virtuelle. Si vous partagez ce pont avec de nombreuses machines virtuelles, cela vaut la peine d'être considéré;
  3. Vous voudrez peut-être avoir un pare-feu au niveau de l'hôte en plus de tout pare-feu que vous pourriez avoir configuré pour vos machines virtuelles. Concentrer toutes les règles de pare-feu sur l'hôte peut être judicieux si les politiques, les zones, etc. pour toutes vos machines virtuelles sont à peu près les mêmes. C'est plus facile si toutes les règles, adresses IP, politiques, etc. sont conservées au même endroit (même si je mettrais en place un pare-feu de base sur chaque machine virtuelle au cas où)

Et, en passant, vous pouvez avoir un adressage IP dynamique sur vos machines virtuelles invitées, cela n'a rien à voir avec le fait que l'hôte ait ou non une IP sur le pont (à moins, bien sûr, que l'hôte soit le serveur DHCP du réseau) .

mbello
la source
7

C'est plus une bizarrerie dans la documentation que je trouve. Je suppose que votre hôte utilise le /etc/network/interfacesfichier pour la configuration du réseau.

Si, dans la strophe de l'interface de pont (br0 pour cet exemple), vous spécifiez une adresse de 0.0.0.0, vous obtenez exactement ce que vous recherchez: les VM connectées au pont sont toujours connectées au réseau et conservent leurs propres IP.

Cependant, vous perdez ensuite le "port" de l'hôte sur ce pont. Si (dans le interfacesfichier) vous spécifiez une adresse IP, celle-ci devient effectivement l'IP de votre hôte sur ce pont, tout comme une interface de gestion sur un commutateur traditionnel.

N'oubliez pas qu'un pont est comme un commutateur autonome, mais que l'hôte le "gère" toujours, l'ajout d'une adresse IP ajoute simplement une interface de gestion adressée (si cela a du sens)


Si, comme moi, votre hôte possède deux cartes réseau: une pour les machines virtuelles et une pour lui-même, vous pouvez mettre une adresse de 0.0.0.0 sur le "pont VM" et compter sur l'autre carte réseau physique pour la gestion afin d'obtenir une configuration similaire.


Si ce n'est pas ce que vous demandez, faites-le moi savoir et je modifierai en conséquence.

agc93
la source
3

Vous n'avez pas besoin d'attribuer une adresse IP à un pont Linux.

Voici un exemple de ce à quoi il ressemble /etc/network/interfaces. br0est le pont, qui est connecté à l' eth0interface:

auto br0
iface br0 inet manual
    bridge_ports eth0
Anders Trier
la source