A5. Enrutament entre VLAN's
Contingut
Concepte
Enrutar dues VLANs consisteix en intercomunicar (de manera controlada) dues VLANs diferents. Amb quins objectius?
- Centralitzar comunicacions a través d'un únic router (o un firewall amb dues interfaces o un servidor).
- Comunicar VLANs amb l'exterior (per exemple, Internet).
Podem enrutar directament dues VLANs utilitzant cables però, de manera anàloga a altres aspectes estudiats en aquest mòdul, podem utilitzar un protocol per comunicar diverses VLANs de manera lògica a sobre d'una única interfaç física.
Protocols
L’enrutament es fa a través d’un protocol específic implementat a la capa 3 del model OSI. N’hi ha dos:
- El que és propietat de CISCO, anomenat ISL (Inter-Switch Link)
- El definit per l’estàndard IEEE 802.1q
Tant ISL com IEEE 802.1Q marquen el paquet de dates amb un sistema que s’anomena en anglès explicit tagging, és a dir, el paquet es marca explícitament amb l’etiqueta de la VLAN on pertany.
Per tant
- En mode access, les trames no van etiquetades (no es modifiquen), només passa una única VLAN.
- En mode trunking,les trames va etiquetades (tagged) i per tant es modifiquen depenent del protocol (ISL o 802.1Q)
ISL
ISL fa servir un procés que no modifica la capçalera Ethernet:
IEEE 802.1Q
Aquest protocol, en canvi fa servir un camp intern per etiquetar el paquet i, per tant, modifica la capçalera Ethernet. Això té un gran avantatge: fa que el paquet pugui anar per qualsevol tipus d’enllaç, incloent els més antics.
16 bits | 3 bits | 1 bit | 12 bits |
---|---|---|---|
(0x8100) |
|
||
(Prioritat) |
(Ind. format canònic) |
(Id. Vlan) |
- Tag Protocol Identifier (TPID): 16-bits amb el valor 0x8100 els quals identifiquen el paquet com a subjecte a l’estàndard IEEE 802.1Q.
- Tag Control Identifier (TCI): El que identifica la VLAN
- Priority Code Point (PCP): 3 bits per indicar-ne la prioritat, des de 0 a 7 (0 “millor intent, 1 de més baix a 7 més alt). S’utilitza per prioritzar diferents classes de tràfic (CoS)
- Canonical Format Indicator (CFI): Normalment val 0 (format canònic). El valor 1 és per compatibilitat amb xarxes Token Ring.
- VLAN Identifier (VID): 12 bits que identifiquen la VLAN en sí. No s’hi poden utilitzar els valors 0x000 ni 0xFFF. Això dóna un total de 4094 xarxes disponibles (2^12 -2). 0x000 marca que el paquet no pertany a cap VLAN.
Esquema
Configuració amb protocol 802.1Q (Router)
Router(config)#interface FAstEthernet 0/0.1
Router(config-subif)#encapsulation dot1q 20
// Encapsulament i VLAN 20
Router(config-subif)#ip address ...
//IP del rang de una VLAN
Configuració amb protocol 802.1Q (Linux)
Configurar interface amb accés VLAN troncal a linux.
Associar una interface física a una o vàries vlan.
El tràfic sense tag entrarà per la interface física, en canvi el que arribi tagged entrarà per la vlan corresponent
Verificar que el kernel suporti el protocol 802.1q (VLAN)
grep 8021Q /boot/config-`uname -r`
CONFIG_VLAN_8021Q=m
Si apareix com a mòdul, cal carregar-lo manualment
- modprobe 8021q
Per carregar-lo a l'inici
- echo 8021q >> /etc/modules
Verificació
- dmesg | grep -i 802.1q
- lsmod | grep 8021q
Instal·lar les eines
- apt-get update
- apt-get install vlan
O desde /etc/network/interfaces
Opció 1 - Subinterfaces + configuració vlan manual
auto eth0
iface eth0 inet static
address 192.168.0.X
netmask 255.255.255.0
auto eth0.2
iface eth0.2 inet static
address 192.168.1.X
netmask 255.255.255.0
I després, eina "vconfig"
vconfig add eth0.10 2
Opció 2 - totalment automàtic
- Interfaz VLAN 802.1q (Trunk). Opcional, podem no indicar res
auto eth1 iface eth1 inet manual
iface vlan10 inet static vlan-raw-device eth0
address 192.168.110.2 netmask 255.255.255.0 broadcast 192.168.110.255
iface vlan2 inet static vlan-raw-device eth0
address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
iface vlan2:eth02 inet static // Subinterface dins la mateixa vlan vlan-raw-device eth0
address 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255
iface vlan2:eth22 inet static // Subinterface dins la mateixa vlan vlan-raw-device eth0
address 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
Verificació
- cat /proc/net/vlan/config
VLAN Dev name | VLAN ID Name-Type: VLAN_NAME_TYPE_PLUS_VID_NO_PAD vlan10 | 10 | eth0 vlan2 | 2 | eth0 vlan3 | 3 | eth0
- cat /proc/net/vlan/vlan10
vlan10 VID: 10 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 1479564 total bytes received 173568547 Broadcast/Multicast Rcvd 557
total frames transmitted 2392974 total bytes transmitted 3060405907 total headroom inc 0 total encap on xmit 0
Device: eth0t INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
tcpcump -ne -i eth0 Comprovar que el tipus és 0x8100 i mostra la vlan
20:13:25.033294 00:21:85:10:fa:0b > 00:26:b6:df:ff:51, ethertype 802.1Q (0x8100), length 102: ethertype IPv4, 192.168.130.2 > 192.168.130.10: ICMP echo reply, id 47648, seq 40, length 64
tcpcump -ne -i vlan3 Mostra normal (sense tag)
20:14:24.221359 00:21:85:10:fa:0b > 00:26:b6:df:ff:51, ethertype IPv4 (0x0800), length 98: 192.168.130.2 > 192.168.130.10: ICMP echo reply, id 47648, seq 99, length 64