En los entornos de red actuales es necesario que las herramientas tecnologicas que usemos para administrar la red sean flexibles y se adapten a los cambios dinámicos del crecimiento de la red, una de las técnicas más usadas en la administración de redes es la segmentación de grupos de trabajo de red en diferentes dominios de broadcast, normalmente cada grupo de trabajo conectado a un switch físico independiente y para que las redes separadas se puedan comunicar se utilizan routers.
En la actualidad los switches “administrables” permite la separación de múltiples redes LAN de forma lógica, es decir, dentro de un mismo dispositivo físico es posible crear múltiples redes LAN virtuales o VLAN, básicamente los paquetes son separados y distinguidos por una etiqueta en la trama Ethernet, el protocolo IEEE 802.1q es el estandar que permite el etiquetado de tramás, en los switches se asignan las etiquetas de la VLAN a los puertos, hay puertos en modo acceso los cuales permiten conectar un sistema de forma transparente y el switch realiza el etiquetado con el ID de la VLAN asignado, también existen los puertos troncales o port trunks los cuales tienen la capacidad de transportar tráfico de red de diferentes VLANs, normalmente este es un puerto Ethernet con soporte VLAN 802.1q que a través de un driver del SO permite la creación de sub interfaces de red en las cuales se etiqueta el tráfico con el ID de las VLAN configuradas.
Los puertos trunk son normalmente utilizados en routers de VLANs los cuales permiten la comunicación entre las diferentes redes lógicas, el enrutado se realiza en la capa 3 del modelo OSI, en este caso a nivel IP. Hasta hace poco estos routers de VLAN eran dispositivos de red “especializados” de “marca” y con sistemas operativos privativos, aquí les vengo a mostrar como configurar un sistema GNU/Linux con soporte VLAN 802.1q para realizar el enrutado de múltiples redes VLAN.
En este documento se describen los procedimientos para instalar y configurar el soporte VLAN IEEE 802.1a en sistemas GNU/Linux, veremos como configurar un enlace troncal (trunk link) y permitir la multiplexión de varias VLAN a través de un solo enlace, en este caso una interfaz Ethernet. La separación lógica se realiza en un switch Layer 2 con soporte VLAN y la comunicación entre las VLANs se realiza a través de un router con soporte VLAN.
Para leer el documento en formato de multiples paginas HTML ir al siguiente enlace: Configurando una interfaz Ethernet como enlace VLAN trunk 802.1q en sistemas GNU/Linux.
El documento esta en su primer versión y creo que le hacen falta más explicaciones y ejemplos, si te interesa el documento y quieres darme tus comentarios no dudes en contactarme que seguro podremos mejorarlo.
Les traigo una noticia muy importante para aquellos que estan cerca de los entornos de virtualización con Linux, en este caso les hablare de el soporte del kernel Linux para correr en maquinas virtuales Xen DomU y Dom0 sobre el hypervisor Xen.
Desde hace ya algunos años es posible correr un kernel Linux vanila en maquinas virtuales Xen DomU sobre el hypervisor Xen, en un principio con unos parches al kernel Linux (XenLinux), después se integraron los parches en el kernel oficial Linux desde la versión 2.6.27 con PVOPS, el soporte que se incluyo fueron los drivers Xen Bus, network driver además de I/O driver entre otros componentes, esto permite correr el kernel Linux vanilla en hardware fisico como en maquinas virtuales Xen DomU.
El soporte para correr Linux en modo dominio de adminitración o Domain-0 se mantenia por separado, en parches para el ahora algo viejo kernel 2.6.18 o en kernels algo modernos que solo algunas distribuciones lo soportaban no oficialmente, sin embargo, seguian siendo esfuerzos separados.
Ahora todo ha cambiado ya que Linus Torvalds ha aceptado integrar en la rama oficial 2.6.39+ el soporte PVOPS de forma oficial para que Linux corra de forma nativa en entornos fisicos, virtualizados como Xen Domain-0 o DomU y otras alternativas como KVM, estos esfuerzos benefician tanto a la comunidad, equipos de desarrollo y a todos aquellos que estan ya usando Xen para virtualizar sistemas Linux.
Para más información les recomiendo el articulo publicado en los blogs de Oracle: Linux mainline contains all the Xen code bits for Dom0 and DomU, además les recomiendo leer la pagina del wikiXen paravirt_ops for upstream Linux kernel, donde podrán encontrar más información de el progreso de los componentes integrados.
Probablemente esta aqui porque tiene la tarea de crear un archivo de cierto tamaño, probablemente para hacer pruebas de escritura a disco, pruebas de transferencias por red o algo más.
El comando dd(1) es un programa que hace copias de archivos usando como entrada un archivo o algún dispositivo de bloque como /dev/sda1.
El comando dd requiere por lo menos dos argumentos, if (input file) especifica el archivo de entrada, of (output file) especifica la ruta del archivo en el que guardara la salida.
El comando dd hace la copia del archivo por bloques, el tamaño predeterminado de bloque es de 512 bytes.
Para crear un archivo vacio de 512 bytes (tamaño de bloque predeterminado) usamos el comando:
$ dd if=/dev/zero of=/tmp/archivo1 count=1 1+0 records in 1+0 records out 512 bytes (512 B) copied, 0.000190179 s, 2.7 MB/s
Note la la parte de 512 bytes copied, veamos su tamaño:
$ ls -l /tmp/archivo1 -rw-r--r-- 1 jmedina jmedina 512 2009-11-01 15:15 /tmp/archivo1
Creando un archivo de 1 kB (kilobyte) o 1024 bytes
$ dd if=/dev/zero of=/tmp/archivo1 bs=1024 count=1 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 7.1072e-05 s, 14.4 MB/s
Verificamos su tamaño:
$ ls -l /tmp/archivo1 -rw-r--r-- 1 jmedina jmedina 1024 2009-11-01 15:22 /tmp/archivo1
Creando un archivo de 10 MB (10 megabytes)
Usando como base de medida el SI (Sistema Internacional de Unidades), en el cual los prefijos de KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.
En el SI 1 MB == 1 megabyte == 1000000 bytes.
$ dd if=/dev/zero of=/tmp/archivo10MB bs=1MB count=10 10+0 records in 10+0 records out 10000000 bytes (10 MB) copied, 0.0512292 s, 195 MB/s
Verificamos su tamaño:
$ ls -l /tmp/archivo10MB -rw-r--r-- 1 jmedina jmedina 10000000 2009-11-01 16:17 /tmp/archivo10MB
Usando como base de medida el Prefijo Binario en el cual los prefijos KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.
En el Prefijo Binario 1 M == 1 megabyte == 10485760 bytes.
$ dd if=/dev/zero of=/tmp/archivo10M bs=1M count=10 10+0 records in 10+0 records out 10485760 bytes (10 MB) copied, 0.044422 s, 236 MB/s
Verificamos su tamaño:
$ ls -l /tmp/archivo10M -rw-r--r-- 1 jmedina jmedina 10485760 2009-11-01 16:20 /tmp/archivo10M
Espero que les sirvan estos tipos.
Mucha gente me pregunta que comando puede usar para ver el nivel de ejecución (runlevel) en el que se esta ejecutando su sistema GNU/Linux. Aquí les dejo la respuesta a su pregunta.
El comando runlevel nos muestra el número del nivel de ejecución en el que se encuentra un sistema GNU/Linux, por ejemplo en Kubuntu:
$ runlevel N 2
En sistemas basados en Debian, el nivel de ejecución predeterminado es 2 independientemente si se inicia un entorno gráfico o no.
En un servidor (no entorno gráfico) Redhat Enterprise Linux por defecto el runlevel es 3, lo podemos ver aquí:
# runlevel N 3
NOTA: En sistemas basados en redhat como RHEL, CentOS, Fedora el nivel de ejecución predeterminado en instalaciones con entorno gráfico es el 5.
TODO: En un post futuro explicar como cambiar el nivel de ejecución predeterminado en diferentes distribuciones GNU/Linux.
Espero que este tip les sea de ayuda.
En este articulo les mostrare como podemos cambiar o asignar una etiqueta a un sistema de archivos FAT32 o vfat como se le conoce en Linux, bueno pero antes les explico porque le necesidad de cambiar la etiqueta a un sistema de archivos en un dispositivo de almacenamiento USB.
Aquí en la oficina compramos unas memorias USB de marca Kingston, por default ya vienen con una partición FAT32 y traen una etiqueta predeterminada llamada KINGSTON, por default en Kubuntu cuando conectas una memoria USB el sistema trata de montarla en el directorio /media/ en un subdirectorio con el nombre de la etiqueta, por ejemplo /media/KINGSTON, esto simplemente no me gusta, yo quero que tenga el nombre que yo quiera, además que es más comodo cuando tienes varias memorias conectadas, con una etiqueta personalizada podras tener 2 memorias iguales y no tendrás directorios /media/KINGSTON y /media/KINGSTON-1.
IMPORTANTE: Todas las operaciones que realicemos deberán de ser sobre un dispositivo desmontado.
Lo primero que haremos es determinar el nombre de dispositivo asignado a la memoria, el comando dmesg nos muestra los siguiente:
[133274.326945] scsi 12:0:0:0: Direct-Access Kingston DataTraveler G2 PMAP PQ: 0 ANSI: 0 CCS [133274.756914] sd 12:0:0:0: [sdc] 31375360 512-byte hardware sectors (16064 MB)
Bien, aquí podemos ver que es una memoria Kingston DataTraveler G2 que es reconocida como sdc y es de 16GB.
Podemos ver la lista de particiones con fdisk:
$ sudo fdisk -l /dev/sdc [sudo] password for jorge: Disk /dev/sdc: 16.0 GB, 16064184320 bytes 5 heads, 32 sectors/track, 196096 cylinders Units = cylinders of 160 * 512 = 81920 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdc1 51 196096 15683648 c W95 FAT32 (LBA)
Ok, ahi esta nuestra partición /dev/scd1 de tipo FAT32, pero esta salida no nos muestra la etiqueta actual, para eso podemos usar el comando blkid, por ejemplo:
$ sudo blkid /dev/sdc1 /dev/sdc1: LABEL="KINGSTON" UUID="55D4-49BB" TYPE="vfat"
OK, ahora que ya tenemos la información necesaria, cambiaremos la etiqueta a nuestra unidad usb.
$ sudo apt-get install mtools
Para asignar la etiqueta mediante mtools, es necesario mapear el dispositivo /dev/sdc1 a una letra de unidad (tipo windows :S), por ejemplo X: estará mapeado a /dev/scd1, en el home del usuario creamos el archivo .mtoolsrc, con el siguiente contenido:
$ vim ~/.mtoolsrc drive x: file="/dev/sdc1"
Usemos el comando mlabel para verificar que si puede leer el dispositivo y la etiqueta actual:
$ sudo mlabel -s x: Volume label is KINGSTON
OK, ahora es tiempo de cambiar la etiqueta, a mi dispositivo le voy a agregar la etiqueta JMUMDK16G, ahor usamos el comando mlabel para cambiar la etiqueta:
$ sudo mlabel x:"JMUMDK16G"
Y ahora confirmamos que si este:
$ sudo mlabel -s x: Volume label is JMUMDK16G
Y por ultomo también podemos confirmar usando el comando blkid:
$ sudo blkid /dev/sdc1 /dev/sdc1: LABEL="JMUMDK16G" UUID="55D4-49BB" TYPE="vfat"
Bien, ahora si, desconecten su memoria, conectenla y listo, ahora mi memoria se tratará de montar automáticamente en /media/JMUMDK16G

Add comment