Diferència entre revisions de la pàgina «A5. Enrutament entre VLAN's»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
(Configuració amb protocol 802.1Q)
 
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 +
torna [[ M7 - Planificació i administració de xarxes ]]
 +
 +
 
== Concepte ==
 
== Concepte ==
  
Línia 7: Línia 10:
 
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'''.
 
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.
+
Es poden fer servir dues aproximacions per l'enrutament entre VLANs
  
Per tant
+
* '''Router-on-a-Stick''': Consisteix a convertir l'enllaç amb l'encaminador en un port troncal
 +
* '''Port enrutat. Commutadors multicapa''': consisteix en convertir el port que connecta amb l'encaminador en un port de capa 3. S'anomena ports enrutats o Switch Virtual Interface (SVI)
  
* 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:
+
== Router-on-a-Stick. Configuració amb protocol 802.1Q ==
  
[[Image:Islprotocol.jpg]]
+
Es tracta de dividir el port físic de l'encaminador en subinterfícies que puguin entendre les trames etiquetades (802.1q).
  
== IEEE 802.1Q ==
+
A més cada subinterfície actua com a porta d'enllaç d'una de les VLAN.  
  
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.
+
<html><pre><code>Router(config)#interface FastEthernet 0/0.XX
 +
Router(config-subif)#encapsulation dot1q XX  // Encapsulament i VLAN XX
 +
Router(config-subif)#ip address A.B.C.D A.B.C.D    //IP del rang de una VLAN
 +
Router(config-subif)#no shutdown
 +
</code></pre></html>
  
{| class="wikitable" border="1"
 
|+ Format de la capçalera IEEE 802.1Q (4 bytes)
 
! 16 bits!! 3 bits !! 1 bit !! 12 bits
 
|-
 
| <center>TPID <br />(0x8100)</center>|| <center>TCI</center> || ||
 
|-
 
| || <center>PCP<br />(Prioritat)</center>||<center>CFI<br /> (Ind. format canònic)</center>||<center>VID <br />(Id. Vlan)</center>
 
|}
 
  
* '''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.
+
Per indicar que la VLAN encapsulada és la nativa
* '''Tag Control Identifier (TCI)''': El que identifica la VLAN
 
** <u>Priority Code Point (PCP)</u>: 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)
 
** <u>Canonical Format Indicator (CFI)</u>: Normalment val 0 (format canònic). El valor 1 és per compatibilitat amb xarxes Token Ring.
 
** <u>VLAN Identifier (VID)</u>: 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.
 
  
 +
<html><pre><code>
 +
Router(config-subif)#encapsulation dot1q XX nativa  // VLAN nativa XX
 +
</code></pre></html>
  
'''Esquema'''
 
  
[[Fitxer:TCPIP_802.1Q.jpg||1000px]]
 
  
 +
== Port enrutat. Switch Virtual Interface (SVI) ==
  
== Configuració amb protocol 802.1Q (Router) ==
+
Només els commutadors anomenats multicapa disposen de les funcionalitats de la capa 3 necessàries.
  
<code>Router(config)#interface FAstEthernet 0/0.1 </code>
+
El commutador s'apropia del rol de porta d'enllaç dels dispositius de la xarxa local
  
<code>Router(config-subif)#encapsulation dot1q 20  </code> // Encapsulament i VLAN 20
+
Al commutador multicapa:
 +
* Primerament cal activar l'encaminament amb la comanda ip routing.
 +
* A continuació també al commutador multicapa s'ha de definir una ruta per defecte que surti per la interfície de capa 3 del commutador, dirigida a l'adreça IP de l'encaminador.
 +
A l'encaminador:
 +
* Afegir les rutes per accedir a les xarxes IP de les diferents VLAN existents a la
 +
xarxa local.
  
<code>Router(config-subif)#ip address    ...    </code> //IP del rang de una VLAN
 
  
  
Línia 71: Línia 65:
 
Verificar que el kernel suporti el protocol 802.1q (VLAN)
 
Verificar que el kernel suporti el protocol 802.1q (VLAN)
  
<code>
+
 
# grep 8021Q /boot/config-`uname -r`
+
<code># grep 8021Q /boot/config-`uname -r`</code>
CONFIG_VLAN_8021Q=m
+
 
</code>
+
<code># CONFIG_VLAN_8021Q=m</code>
 +
 
  
 
Si apareix com a mòdul, cal carregar-lo manualment
 
Si apareix com a mòdul, cal carregar-lo manualment
  
<code>
+
<code># modprobe 8021q</code>
# modprobe 8021q
 
</code>
 
  
 
Per carregar-lo a l'inici
 
Per carregar-lo a l'inici
  
<code>
+
<code># echo 8021q >> /etc/modules</code>
# echo 8021q >> /etc/modules
 
</code>
 
  
  
 
Verificació
 
Verificació
  
<code>
+
<code># dmesg | grep -i 802.1q</code>
# dmesg | grep -i 802.1q
 
  
# lsmod | grep 8021q
+
<code># lsmod | grep 8021q</code>
</code>
 
  
  
 
Instal·lar les eines
 
Instal·lar les eines
  
<code>
+
<code># apt-get update</code>
# apt-get update
+
 
# apt-get install vlan
+
<code># apt-get install vlan</code>
</code>
 
  
  
Línia 111: Línia 99:
 
'''Opció 1 - Subinterfaces + configuració vlan manual'''
 
'''Opció 1 - Subinterfaces + configuració vlan manual'''
  
<code>
+
<pre>
 
auto eth0
 
auto eth0
 
iface eth0 inet static
 
iface eth0 inet static
Línia 122: Línia 110:
 
address 192.168.1.X
 
address 192.168.1.X
 
netmask 255.255.255.0
 
netmask 255.255.255.0
</code>
+
</pre>
  
  
Línia 134: Línia 122:
 
'''Opció 2 - totalment automàtic'''
 
'''Opció 2 - totalment automàtic'''
  
<code>
+
<pre>
 
# Interfaz VLAN 802.1q (Trunk). Opcional, podem no indicar res
 
# Interfaz VLAN 802.1q (Trunk). Opcional, podem no indicar res
 
auto eth1
 
auto eth1
Línia 162: Línia 150:
 
     netmask 255.255.255.0
 
     netmask 255.255.255.0
 
     broadcast 192.168.2.255
 
     broadcast 192.168.2.255
</code>
+
</pre>
  
  
 
Verificació
 
Verificació
  
<code>
+
<pre>
 
# cat /proc/net/vlan/config
 
# cat /proc/net/vlan/config
  
Línia 175: Línia 163:
 
vlan2          | 2  | eth0
 
vlan2          | 2  | eth0
 
vlan3          | 3  | eth0
 
vlan3          | 3  | eth0
</code>
+
</pre>
  
<code>
+
<pre>
 
# cat /proc/net/vlan/vlan10
 
# cat /proc/net/vlan/vlan10
  
Línia 192: Línia 180:
 
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 
  EGRESS priority mappings:
 
  EGRESS priority mappings:
</code>
+
</pre>
  
  

Revisió de 19:01, 12 feb 2025

torna M7 - Planificació i administració de xarxes


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.


Es poden fer servir dues aproximacions per l'enrutament entre VLANs

  • Router-on-a-Stick: Consisteix a convertir l'enllaç amb l'encaminador en un port troncal
  • Port enrutat. Commutadors multicapa: consisteix en convertir el port que connecta amb l'encaminador en un port de capa 3. S'anomena ports enrutats o Switch Virtual Interface (SVI)


Router-on-a-Stick. Configuració amb protocol 802.1Q

Es tracta de dividir el port físic de l'encaminador en subinterfícies que puguin entendre les trames etiquetades (802.1q).

A més cada subinterfície actua com a porta d'enllaç d'una de les VLAN.

Router(config)#interface FastEthernet 0/0.XX 
Router(config-subif)#encapsulation dot1q XX  // Encapsulament i VLAN XX
Router(config-subif)#ip address A.B.C.D A.B.C.D     //IP del rang de una VLAN
Router(config-subif)#no shutdown


Per indicar que la VLAN encapsulada és la nativa


Router(config-subif)#encapsulation dot1q XX nativa  // VLAN nativa XX


Port enrutat. Switch Virtual Interface (SVI)

Només els commutadors anomenats multicapa disposen de les funcionalitats de la capa 3 necessàries.

El commutador s'apropia del rol de porta d'enllaç dels dispositius de la xarxa local

Al commutador multicapa:

  • Primerament cal activar l'encaminament amb la comanda ip routing.
  • A continuació també al commutador multicapa s'ha de definir una ruta per defecte que surti per la interfície de capa 3 del commutador, dirigida a l'adreça IP de l'encaminador.

A l'encaminador:

  • Afegir les rutes per accedir a les xarxes IP de les diferents VLAN existents a la

xarxa local.


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