vLan en CentOS, Fedora™ y Red Hat™ Enterprise Linux.

Intro: 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.


Manos a la obra.

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 (en combinación con el mandato ifconfig), 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:  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:  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:  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:  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:  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.


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

Con eso terminamos. Saludos.

Posted on 7:47 p.m. by ...kCh3t... and filed under , | 0 Comments »

0 comentarios: