Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.
Configuración de VLANs.
Correo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2016 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Introducción.
De acuerdo a Wikipedia, «una VLAN (acrónimo de Virtual LAN o Red de Área Local Virtual) es un método para crear redes lógicamente independientes dentro de una misma red física. Varias VLANs pueden coexistir en un único conmutador físico o en una única red física. Son útiles para reducir el tamaño del dominio de difusión y ayudan en la administración de la red, separando segmentos lógicos de una red de área local, impidiendo que puedan intercambiar datos usando la red local.»Su implementación requiere de disponer de conmutadores (switches) con capacidad para VLAN (protocolo 802.1q), los cuales deberán estar previamente configurados para gestionar algunas VLANs (y saber cómo hacerlo) y entender perfectamente IP versión 4.
Equipamiento lógico necesario.
En CentOS, Fedora™ y Red Hat™ Enterprise Linux.
El soporte necesario para configurar VLANs se incluye junto con el paquete iproute, el cual se incluye en la instalación predeterminada, pues se trata de un paquete obligatorio e indispensable para el sistema. De manera alternativa puede gestionar también las VLANS a través del paquete vconfig, ejecutando lo siguiente:
yum -y install vconfig |
Procedimientos.
Editar el archivo /etc/sysconfig/network:
vim /etc/sysconfig/network |
Añadir el siguiente parámetro para activar el soporte para VLAN, mismo que permitirá que posteriormente cargue automáticamente el módulo 8021q del núcleo de Linux:
VLAN=yes |
Asumiendo que se utiliza la interfaz eth1 para acceder a la red local, editar el archivo de configuración:
vim /etc/sysconfig/network-scripts/ifcfg-eth1 |
Quitar todos los parámetros de red que se hayan establecido y dejar el contenido como el del siguiente ejemplo, en el cual se asume que la dirección MAC del dispositivo de red corresponde a 44:87:FC:AA:DD:2D:
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
HWADDR=44:87:FC:AA:DD:2D
NM_CONTROLED=no
|
Reiniciar el servicio de red a fin de que aplique el cambio y para que cargue de manera automática el módulo 8021q del núcleo de Linux.
service network restart |
Pueden crearse manera temporal (se perderán luego de reiniciar el sistema) los dispositivos de VLAN del siguiente modo:
ip link add link DISPOSITIVO name DISPOSITIVO.ID-VLAN type vlan id ID-VLAN
ip addr add IP/CIDR brd BROADCAST dev DISPOSITIVO.ID-VLAN
ip link set dev DISPOSITIVO.ID-VLAN up
|
Ejemplo:
ip link add link eth1 name eth1.2 type vlan id 2 ip addr add 172.16.0.65/26 brd 172.16.0.127 dev eth1.2 ip link set dev eth1.2 up ip link add link eth1 name eth1.3 type vlan id 3 ip addr add 172.16.0.129/26 brd 172.16.0.191 dev eth1.3 ip link set dev eth1.3 up ip link add link eth1 name eth1.4 type vlan id 4 ip addr add 172.16.0.193/26 brd 172.16.0.255 dev eth1.4 ip link set dev eth1.4 up |
De manera alternativa, puede hacer lo mismo utilizando los mandatos vconfig y el mandato ifconfig, del siguiente modo:
vconfig add eth1 2 vconfig add eth1 3 vconfig add eth1 4 ifconfig eth1.2 172.16.0.65 netmask 255.255.255.192 ifconfig eth1.3 172.16.0.129 netmask 255.255.255.192 ifconfig eth1.4 172.16.0.193 netmask 255.255.255.192 |
En caso de que sea necesario, para eliminar los dispositivos de VLAN, puede ejecutar el mandato IP con la siguiente sintaxis:
ip link set dev DISPOSITIVO.ID-VLAN down ip link delete DISPOSITIVO.ID-VLAN |
Ejemplo:
ip link set dev eth1.2 down ip link delete eth1.2 ip link set dev eth1.3 down ip link delete eth1.3 ip link set dev eth1.4 down ip link delete eth1.4 |
De manera alternativa, puede utilizar también el mandato vconfig con la opción rem, seguido del nombre del dispositivo VLAN. Siguiendo el ejemplo utilizado en este documento, sólo habría que ejecutar lo siguiente:
vconfig rem eth1.2 vconfig rem eth1.3 vconfig rem eth1.4 |
Para que los dispositivos de VLANs sean permanentes, es necesario crear, dentro del directorio /etc/sysconfig/network-scripts, los archivos de configuración de interfaz, siguiendo el siguiente formato:
icfg-DISPOSITIVO.ID-VLAN
|
El número de VLAN, preferentemente debe corresponder son el mimos utilizado en el conmutador principal. Se debe evitar usar la VLAN 1 (eth1.1 o eth1.1), 172.16.0.1 como IP para el servidor, así como también evitar utilizar la red 172.16.0.0/26, porque suelen corresponder al número de VLAN, dirección IP y segmento de red que regularmente utilizan los conmutadores.
Ejemplo de contenido de /etc/sysconfig/network-scripts/ifcfg-eth1.2.
DEVICE=eth1.2 TYPE=Ethernet BOOTPROTO=static ONBOOT=yes NM_CONTROLED=no IPADDR=172.16.0.65 PREFIX=26 BROADCAST=172.16.0.127 NETWORK=172.16.0.64 |
Ejemplo de contenido de /etc/sysconfig/network-scripts/ifcfg-eth1.3
DEVICE=eth1.3 TYPE=Ethernet BOOTPROTO=static ONBOOT=yes NM_CONTROLED=no IPADDR=172.16.0.129 PREFIX=26 BROADCAST=172.16.0.191 NETWORK=172.16.0.128 |
Ejemplo de contenido de /etc/sysconfig/network-scripts/ifcfg-eth1.4
DEVICE=eth1.4 TYPE=Ethernet BOOTPROTO=static ONBOOT=yes NM_CONTROLED=no IPADDR=172.16.0.193 PREFIX=26 BROADCAST=172.16.0.255 NETWORK=172.16.0.192 |
Reiniciar nuevamente el servicio de red a fin de que inicien las interfaces de VLAN.
service network restart |
Se puede verificar con el mandato ip que todas las VLAN estén presentes.
ip addr show |
Lo anterior debe devolver una salida similar a la siguiente:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
inet 127.0.0.2/8 brd 127.255.255.255 scope host secondary lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 44:87:FC:AA:DD:2D brd ff:ff:ff:ff:ff:ff
3: eth1.2@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 44:87:FC:AA:DD:2D brd ff:ff:ff:ff:ff:ff
inet 172.16.0.65/26 brd 172.16.0.127 scope global eth1.2
inet6 fe80::a00:27ff:fece:5172/64 scope link
valid_lft forever preferred_lft forever
4: eth1.3@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 44:87:FC:AA:DD:2D brd ff:ff:ff:ff:ff:ff
inet 172.16.0.129/26 brd 172.16.0.191 scope global eth1.3
inet6 fe80::a00:27ff:fece:5172/64 scope link
valid_lft forever preferred_lft forever
5: eth1.4@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 44:87:FC:AA:DD:2D brd ff:ff:ff:ff:ff:ff
inet 172.16.0.193/26 brd 172.16.0.255 scope global eth1.4
inet6 fe80::a00:27ff:fece:5172/64 scope link
valid_lft forever preferred_lft forever
|
De manera alternativa, se puede verificar con el mandato ifconfig que todas las VLAN estén presentes.
ifconfig |
La salida debe ser algo similar a lo siguiente:
eth1 Link encap:Ethernet HWaddr 44:87:FC:AA:DD:2D
inet6 addr: fe80::226:b9ff:fe38:36bc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13512148 errors:0 dropped:0 overruns:0 frame:0
TX packets:15358606 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4445028488 (4.1 GiB) TX bytes:12134964357 (11.3 GiB)
Interrupt:122 Memory:da000000-da012800
eth1.2 Link encap:Ethernet HWaddr 44:87:FC:AA:DD:2D
inet addr:172.16.0.65 Bcast:172.16.0.127 Mask:255.255.255.192
inet6 addr: fe80::4687:fcff:feaa:dd2d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:4333 (4.2 KiB)
eth1.3 Link encap:Ethernet HWaddr 44:87:FC:AA:DD:2D
inet addr:172.16.0.129 Bcast:172.16.0.191 Mask:255.255.255.192
inet6 addr: fe80::4687:fcff:feaa:dd2d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:4235 (4.1 KiB)
eth1.4 Link encap:Ethernet HWaddr 44:87:FC:AA:DD:2D
inet addr:172.16.0.193 Bcast:172.16.0.255 Mask:255.255.255.192
inet6 addr: fe80::4687:fcff:feaa:dd2d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:3405 (3.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:183 errors:0 dropped:0 overruns:0 frame:0
TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21398 (20.8 KiB) TX bytes:21398 (20.8 KiB)
|
Administrando direcciones IP de las VLANs a través de un servidor DHCP.
Para alivio de los administradores de sistemas, es posible utilizar el servicio de DHCP para gestionar la administración de direcciones IP a través de un servidor DHCP.
Editar el archivo /etc/sysconfig/dhcpd y definir las interfaces de VLAN a utilizar junto con el servidor DHCP.
DHCPDARGS="eth1.2 eth1.3 eth1.4"; |
Editar el archivo /etc/dhcpd.conf (CentOS 5 y Red Hat Enterprise Linux 5) o bien /etc/dhcp/dhcpd.conf (CentOS 6 y Red Hat Enterprise Linux 6), definir una sección por cada red:
ddns-update-style interim; ignore client-updates; authoritative; default-lease-time 900; max-lease-time 7200; option ip-forwarding off; option domain-name "red-local.net"; option ntp-servers 200.23.51.205, 132.248.81.29, 148.234.7.30; shared-network vlan2 { subnet 172.16.0.64 netmask 255.255.255.192 { option routers 172.16.0.65; option subnet-mask 255.255.255.192; option broadcast-address 172.16.0.127; option domain-name-servers 172.16.0.65; option netbios-name-servers 172.16.0.65; range 172.16.0.66 172.16.0.126; } } shared-network vlan3 { subnet 172.16.0.128 netmask 255.255.255.192 { option routers 172.16.0.129; option subnet-mask 255.255.255.192; option broadcast-address 172.16.0.191; option domain-name-servers 172.16.0.192; option netbios-name-servers 172.16.0.192; range 172.16.0.130 172.16.0.190; } } shared-network vlan4 { subnet 172.16.0.192 netmask 255.255.255.192 { option routers 172.16.0.193; option subnet-mask 255.255.255.192; option broadcast-address 172.16.0.255; option domain-name-servers 172.16.0.193; option netbios-name-servers 172.16.0.193; range 172.16.0.194 172.16.0.254; } } |
Reiniciar (o iniciar, según sea el caso) el servicio dhcpd y comprobar que funcione correctamente el servicio, conectando algunos equipos a los conmutadores involucrados.
service dhcpd restart |