J'essaie d'expérimenter une interface VLAN sur ma machine Ubuntu de bureau. Le bureau n'a qu'une seule interface (ETH0) connectée à la société LAN. Après avoir utilisé VCONFIG pour créer l'interface VLAN, exécutez WireShark sur l'interface ne figure pas de paquets sortants comme étiqueté VLAN. Voici ce que j'ai fait:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 84:2b:2b:87:2c:87
inet addr:192.168.0.126 Bcast:192.168.0.255 Mask:255.255.255.0
etc...
Ensuite, j'ajoute l'interface VLAN:
$ Sudo vconfig add eth0 55
$ Sudo ifconfig eth0.55 192.168.10.100 netmask 255.255.255.0 up
$ Sudo ifconfig eth0.55 mtu 1412
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 84:2b:2b:87:2c:87
inet addr:192.168.0.126 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::862b:2bff:fe87:2c87/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12195 errors:0 dropped:0 overruns:0 frame:0
TX packets:7435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6831057 (6.8 MB) TX bytes:1138706 (1.1 MB)
Interrupt:18
eth0.55 Link encap:Ethernet HWaddr 84:2b:2b:87:2c:87
inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::862b:2bff:fe87:2c87/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1412 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:23515 (23.5 KB)
Jusqu'ici, si bon .. voici les informations supplémentaires connexes:
$ Sudo cat /proc/net/vlan/eth0.55
eth0.55 VID: 55 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 170
total bytes transmitted 23697
Device: eth0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
$ Sudo iptables -L -v
Chain INPUT (policy ACCEPT 3317 packets, 2230K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1528 packets, 189K bytes)
pkts bytes target prot opt in out source destination
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.55
Maintenant, j'essaie de ping une machine inexistante dans la gamme 192.168.10.xx:
$ ping -I eth0.55 192.168.10.101
Cependant, lors de la capture de cette interface avec Wireshark ou TCPDump, je vois des messages d'ARP normaux en cours d'envoi. Ils ne sont pas marqués par VLAN. (Mon intérêt ici est de voir d'abord si je peux obtenir des paquets VLAN hors de ma machine. Travailler avec les VLAN réels viendra plus tard). Je suis également capable de ping l'interface ETH0.55 à partir d'une Vbox VM sur la même machine.
$ Sudo /usr/sbin/tcpdump -vv -i eth0.55
tcpdump: listening on eth0.55, link-type EN10MB (Ethernet), capture size 65535 bytes
11:55:52.625984 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.101 tell 192.168.10.100, length 28
11:55:53.625983 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.10.101 tell 192.168.10.100, length 28
J'ai même essayé la commande set_flag, mais toujours un non-Go:
$ Sudo vconfig set_flag eth0.55 0
Qu'est-ce que je rate?
Voici une question similaire: Tags VLAN non affichés dans Paquet Capture (Linux) via TCPDump
En fait, ce que vous avez vu sont des paquets filtrés par le noyau lors de l'utilisation de TCPDump, où la couche VLAN est supprimée, il semble donc toujours rien à ressentir.
Vous avez déjà vu qu'il y a des cadres transférés via /proc/net/vlan/eth0.55
Cela fonctionne très bien.
Selon votre cas, utilisez cette commande pour voir le VLAN TAG:
tcpdump -Uw - | tcpdump -i eth0 -en -r - vlan 55
Pour voir le réel 802.1q
Tags, essayez de capturer sur l'interface physique sous-jacente, c'est-à-dire eth0
, qui est où les paquets sont entrés/sortis.
Vous ne manquez probablement rien.
[.____] Lorsque vous n'avez pas de VLAN sur l'interface, vous pouvez voir des balises 802.1Q avec TCPDump.
[.____] Lorsque vous ajoutez VLAN à l'interface, alors 8021Q Module Activer l'accélération matérielle et ... vous arrêtez de voir les balises. Vous verrez un trafic séparé sur les sous-interfaces mais TCPDump sur l'interface principale montre Trafic de -tous sous-interintriguets avec des balises dénudées.
Si vous avez moderne ethtool
alors vous pouvez regarder ethtool -k eth0
Sortie et vous pouvez essayer de désactiver l'accélération avec ethtool -K eth0 rxvlan off; ethtool -K eth0 txvlan off;
(Pour être honnête - je ne teste jamais si cela aide à voir des balises et ne pas avoir accès à un bon hôte laboratoire pour vérifier).
[.