2 votes

Création et pontage d'interfaces réseau virtuelles sous Linux

Je dispose d'un outil qui reproduit le trafic d'un fichier .pcap et d'un autre outil qui interprète ce trafic. À des fins de test, j'ai besoin de faire sortir le trafic d'une interface et de le faire entrer dans une autre. Évidemment, je pourrais simplement attacher un câble croisé entre deux de mes cartes réseau, mais il y a sûrement une meilleure façon de le faire à partir de Linux ? J'ai essayé d'utiliser une interface de bouclage (lecture du trafic sortant de lo, interprétation du trafic entrant de lo), mais cela n'a pas fonctionné.

Existe-t-il un moyen de créer des interfaces virtuelles, puis d'établir un pont entre les deux interfaces virtuelles ? L'idéal serait de pouvoir diffuser du trafic sur 'virt-eth1' et que mon autre outil écoute sur 'virt-eth2'. Lorsque le trafic est envoyé à virt-eth1, il devrait être ponté et entrer sur virt-eth2. Ce qui se passe ensuite n'a pas d'importance.

3voto

Louis Gerbarg Points 33025

Je pense que ce dont vous avez besoin ici, ce sont des interfaces TUN/TAP. Installez tunctl (paquet pour CentOS) et vous pourrez alors commencer à créer des interfaces réseau virtuelles :

tunctl -t tap0
ifconfig tap0 up

Plus d'informations ici : http://backreference.org/2010/03/26/tuntap-interface-tutorial/

Les interfaces tun/tap sont une fonctionnalité offerte par Linux (et probablement par d'autres systèmes d'exploitation de type UNIX) qui peuvent faire du réseautage en espace utilisateur, c'est-à-dire, permettre aux programmes en userspace de voir le trafic réseau brut (au niveau niveau Ethernet ou IP) et d'en faire ce qu'ils veulent. Ce document Ce document tente d'expliquer comment les interfaces tun/tap fonctionnent sous Linux, avec quelques exemples de code pour démontrer leur utilisation. exemples de code pour démontrer leur utilisation.

Si je me souviens bien, lorsque l'on utilise l'interface loopback, cela ne fonctionne pas correctement avec les bibliothèques PCAP parce qu'il ne s'agit pas d'une interface "réelle" (ou certainement pas vue comme telle par le système). Elle n'a même pas d'adresse MAC si vous exécutez ifconfig sur elle. En revanche, les interfaces TUN/TAP en ont une, et pour ce que vous essayez de faire, c'est peut-être la solution que vous recherchez (pas de création de machines virtuelles supplémentaires, etc.)

Je pense également que vous serez en mesure d'accomplir votre tâche avec une seule interface de robinetterie (pas de pontage entre 2 requis). Il suffit que votre premier processus se lie à l'interface virtuelle et écrive le trafic, puis que le second processus se lie à elle et lise le trafic.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X