Mettre en place un VLAN sur une interface DHCP

Bonsoir,

je refais le post avec un truc plus simple :slight_smile:

Je voudrais qu’un PC sans tag vlan, puisse ping un pc avec tag vlan (comme un PC le ferais avec un switch).

En clair:

PC N°1
eth0 rien
eth0.vlanid => IP du réseau, ex. 192.168.0.20/24.

PC N°2
eth0 => IP du réseau, ex: 192.168.0.30/24

PC N°2 ping PC N°1

Les deux sont des VMs virtualbox Debian Buster dont les deux interfaces sont dans un reseau interne.

Tu veux faire un pont ?

Ça ne rime à rien de tagger les interfaces si elles sont reliées à des interfaces non taggées.

Quel est le plan d’adressage IP du réseau ? Quels sont les domaines de broadcast ethernet ?

j’ai refait le message compltement :slight_smile:

Deux PC l’un sert de routeur avec une interface tagguée VLAN (les autres interfaces n’ont pas d’interet), l’autre est un simple PC comme n’importe quel PC lui n’est pas taggué . ils sont dans le même réseau donc normalement le PC doit pouvoir ping le routeur.

j’ai rectifié, le broadcast est celui par defaut, donc ici 192.168.0.255.

Marchera pas. Les deux ports doivent être taggés de la même façon.

Non, ça ne marche pas non plus. Tu confonds peut-être un port de switch dans un VLAN mais non taggé avec un port taggé.

Si par « réseau » tu veux dire le même réseau IP, ça ne suffit pas. Les interfaces doivent aussi être dans le même domaine de broadcast ethernet.

Je ne parle pas de l’adresse IP de broadcast dirigé mais du domaine de broadcast ethernet, l’étendue du segment ethernet sur lequel se diffuse une trame émise en broadcast.

Tout comme relier deux PCs entre eux par un switch, on relie des VMs entre elles ou à un réseau physique par ce que l’on appelle un bridge.

Concrètement, ce bridge n’est rien d’autre qu’un switch logiciel, un switch virtuel. Et, tout comme un switch, un bridge peut savoir gérer les VLANs ou il peut ne pas savoir le faire.

Donc, si la machine sur laquelle tu fais tourner virtualbox est un Linux, c’est possible. Mais si c’est du Windows, tu peux oublier.


AnonymousCoward

je fais communiquer deux VMs entre elles sans problèmes sous windows via un réseau dit interne.
Quand je regarde les trames qui transitent sur les interfaces. Apparemment il y a un problème ARP. Le « PC » cherche à savoir où est l’interface taguée du routeur et il n’obtient pas la réponse.
Quand je ping PC1 eth.833 avec eth0 du PC2, sur l’interface eth0 de PC1 je vois les trames ARP.
Serait-ce lié avec le proxy_arp (i.e. /proc/sys/net/ipv4/conf/interface/proxy_arp) ?

(Sinon je peux aussi passer par GNS3).

GNS3, fonctionnant sous Linux, sera bien plus adapté à mettre en réseau tes deux VMs, oui.
Et, plus globalement, les solutions de virtualisation utilisant QEMU/KVM, comme Proxmox VE par exemple.


AnonymousCoward

Ben justement Virtualbox, y compris sous windows utilise KVM et c’est justement ce que j’utilise

Tu as des documents qui indiquent cela ? A ma connaissance, VirtualBox n’utilise pas QEMU/KVM.


AnonymousCoward

Tu n’as pas l’impression d’avoir écrit deux grosses conneries dans une même phrase ?
KVM est spécifique à Linux, donc pas sous Windows.
VirtualBox est indépendant de KVM.

Sous windows tu peux choisir dans l’onglet acceleration la paravitualisation KVM avec ou sans pagination imbriquée.
https://s1.qwant.com/thumbr/0x0/0/9/a64cea484d20a41e8d2d4ef76eb5ff2132c2bbf13445f7ef3c50376d3bef89/paravirtualization-interface-setting-in-virtualbox-09022020.png?u=https%3A%2F%2Fwww.easytechguides.com%2Fimages%2Fparavirtualization-interface-setting-in-virtualbox-09022020.png&q=0&b=1&p=0&a=1

et mes VMs sous linux fonctionnent très bien depuis des années avec virtualbox sous windows et avec de bonnes performances.

ceci dit, cela n’est pas la question où seul Pascalhambourg a répondu avec des infos utiles.
D’ailleurs, @PascalHambourg , les deux interface « physiques » des deux machines son sur le même « réseau physique », donc un broadcast FF:FF:FF:FF:FF:FF est vue par les deux machines. On le voit dans le cadre des requêtes ARP par exemple visibles des deux cotés.
Par contre, l’interface PC1:eth0.833 ne voit pas ces requêtes.

Sous windows tu peux choisir dans l’onglet acceleration la paravitualisation KVM avec ou sans pagination imbriquée.

Se sont des modes de compatibilité, en gros VirtualBox va simuler le fonctionnement de KVM, mais ça ne correspond pas à du vrai KVM qui lui est spécifique Linux.

J’ai essayé de comprendre un peu ce que tu cherches à faire mais j’ai peur que tu ne comprenne pas bien la notion de VLAN. Les VLAN permettent d’isoler complètement et virtuellement deux réseaux qui pourtant empruntent les mêmes chemins (matériels/physiques). Tu ne peux pas faire communiquer deux machines qui sont dans deux VLAN différents sans avoir un routeur entre les deux. Attention, cela sous-entend aussi que les deux sous-réseaux (avec et sans VLAN) soient différents.

Personnellement, pour isoler mon auto-hébergement du reste de ma maison j’ai créé un VLAN qui ne sert qu’a ça. Pour que ce VLAN ait accès à internet, j’ai une passerelle qui a une interface dans le VLAN et une autre dans mon LAN. Pour bien cloisonner tout ça, la passerelle dispose également d’un pare-feu. En plus, pour facilité la conf’ réseau des conteneurs, la passerelle dispose également d’un serveur DHCP et DNS. En gros, voilà ce qu’il y a dessus : IPforwarding + nftables + dnsmasq.

Normal, l’interface eth0.833 ne voit que les trames taggées avec l’identifiant de VLAN 833. Et elle émet sur l’interface physique des trames taggées avec cet identifiant dont l’autre interface physique qui les reçoit n’a rien à faire s’il n’y a pas d’interface VLAN avec cet identifiant.

Dans ce cas comment font des PC reliés à un équipement réseau dont les ports sont dans un VLAN?
j’ai déjà eu le cas de switches dont les ports sont tous dans des vlans différents, les PC ne sont pas configurés/taggués avec une interface dans un vlan. Pourtant ils communiquent à travers le VLAN de l’équipement. Donc un port interface.vlanid voit les trames des PC sans vlans.

Sur le PC1, le port est un port d’accès. Le PC2 lui ne sait pas dans quel VLAN il se trouve; PAr contre le PC1 recevant les paquets de PC2 va tagguer les trames comme faisant parti du vlanid auquel il appartient. Et inversement les paquet qui sortent du port d’accès ne devraient pas être tagué.

Un peu comme ce qui est expliqué dans le document suivant dans la partie Access Ports and End-Host Devices: https://www.practicalnetworking.net/stand-alone/vlans/

Ou est-ce simplement une infaisabilité de Debian?

je ne devrais pas utiliser PC1 et PC2, mais plutot RT1 et PC2.

Comme je l’ai écrit, tu sembles confondre VLAN et tag. Tag implique VLAN, mais l’inverse n’est pas vrai. Un VLAN peut être interne à un switch sans aucun port taggé. Les ports des switches auxquels les PC sont connectés ne sont généralement pas taggés. Ce sont plutôt les ports reliant les swiches ou les routeurs (et éventuellement des serveurs) entre eux qui sont taggés.

non je ne confonds pas. on est d’accord (désolé me suis mal exprimé).
Mon problème c’est comment faire un vlan sur une inteface sous debian qui ne soit pas taggué coté PC?
Car taggué sinon j’ai trouvé c’est plutot assez simple:
/etc/network/interfaces

auto eth0.vlanid
iface eth0.vlanid inet static
             address wip>/<mask>
             vlan-raw-device eth0

Pourquoi veux-tu absolument tagger ? Tu n’as pas besoin de tagger si le port en face n’est pas taggé.

Ben c’est ça que je ne sais pas faire: comment je met l’interface dans un VLAN sans pour autant le tagguer sur la machine routeur? Si on admet par exemple, que je voudrais eth0 et eth3 dans le même VLAN?

Mettre deux interface d’une machine dans le même VLAN implique de les ponter, et le VLAN sera implicitement défini par le pont.

je créé un bridge ou un bond pour ca?