2008-09-24

Balanceo de carga por 2 canales

En algunas ocasiones se tiene que poseas 2 conexiones a internet independientes, con Linux puedes balancear tu salida de internet por ambos canales convirtiendolos en unos solo y dadote el mayor ancho de banda posible, además si se cae un canal el detecta que no se puede ir por ese canal. La estrutura de red que vamos a hacer es así, pero ojo que esta es inventada y tiene los gateway mal, es solo para que nos guiemos como ejemplo




Lo primero a realizar es añadir a las tablas de sistema tus dos nuevas tablas de navegación, que denominaremos Canal_0 y Canal_1, para esto editaremos el archivo de la siguiente forma

root@localhost:~# vi /etc/iproute2/rt-filter

El cual debe quedar así

#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

5 Canal_0
10 Canal_1

Los números que coloque hay son aleatorios, solo debes tenerlos en cuenta como referencia, bueno ya con las dos tablas permitidas ahora debes configurar los parámetros para las mismas, iniciaremos con Canal_0 que es el de la tarjeta eth0, bueno debes generar las características básicas de esa red, como es identificación de la red y el gateway o pasarela de la misma esto lo haces con estos dos comandos

root@localhost:~#ip route add 190.144.155.124/30 dev eth0 src 190.144.155.127 table Canal_0
root@localhost:~# ip route add default via 190.144.155.127 dev eth0 table Canal_0

Ya con esos dos comandos tenemos la primera red configurada, ahora vamos con la segunda, que es repetir lo mismo pero pues obviamente cambiando los datos esto quedaria así

root@localhost:~#ip route add 84.52.19.233/30 dev eth1 src 84.52.19.235 table Canal_1
root@localhost:~# ip route add default via 84.52.19.235 dev eth1 table Canal_1

Ahora adiciono las reglas de enrutamiento de cada una de las tablas, esto se hace para darle a entender que cada tabla tiene su gateway o pasarela, esto se hace con estos dos comandos

root@localhost:~# ip rule add from 190.144.155.127 table Canal_0
root@localhost:~# ip rule add from 84.52.19.235 table Canal_1

Bueno ya con esto tenemos en pleno conocimiento las dos rutas, ahora si viene el balanceo de las cargas en los canales, el cual se realiza con el siguiente comando

root@localhost:~# ip route add default scope global nexthop via 84.52.19.235 dev eth1 weigth 1 nexthop via 190.144.155.127 dev eth0 weigth 1

El parámetro weight, le da el peso a cada canal si deseas mas tráfico en uno que en el otro simplemente le aumentas el numero al que desees.

Para que pruebes que esta bien, le das el siguiente comando

root@localhost:~# ip route

Te debe mostrar algo como

190.144.155.124/30 dev eth0 proto kernel scope link src 190.144.155.127
84.52.19.233/30 dev eth1 proto kernel scope link src 84.52.19.235
default
nexthop via 84.52.19.235 dev eth1 weight 1
nexthop via 190.144.155.127 dev eth0 weight 1

Listo disfrutalo

2008-09-13

Montar un ISO como un directorio

Esto es muy útil si tu bajas películas y antes de quemarlas en un DVD las deseas ver o si vas a instalar una maquina virtual y vas a emular que tienes el DVD de instalación, el procedimiento es muy sencillo realmente solo es un comado que es el siguiente

root@localhost:~#mount /ubicacion/dvd.iso -o loop /donde/desees/montar

Para comprobar que este monteo bien le das el comado mount solo y te debe salir algo como esto

/ubicacion/dvd.iso on /donde/desees/montar type udf (rw,loop=/dev/loop0)

Listo a hora si es una película entras a VLC le dices abrir directorio lo colocas donde lo montaste y listo tienes tu film desde una iso.

2008-09-09

Montaje de disco y particion con fdisk

Muchas veces debemos montar un disco por que el nuestro se quedo pequeño o simplemente por que queremos, Linux tiene una opción muy buena para nosotros, que es el fdisk, por medio de este comando podremos manejar las particiones como nosotros queramos, lo primero que debemos hacer es estar seguros que el sistema detecto nuestro disco eso lo puedes hacer dando este comado

root@localhost:~#fdisk -l

Disco /dev/sda: 40.0 GB, 40020664320 bytes
255 cabezas, 63 sectores/pista, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x1d3f1d3f

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 4865 39078081

Disco /dev/sdb: 160.0 GB, 160041885696 bytes
255 cabezas, 63 sectores/pista, 19457 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000ed822

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 5471 43945776 83 Linux
/dev/sdb2 5472 6084 4923922+ 82 Linux swap / Solaris
/dev/sdb3 6085 19457 107418622+ 83 Linux

Como pueden ver este es un ejemplo raro pues el sda es el disco que estamos montando de mas, pero es igual sea cual sea el disco, ahora vamos a particionarlo y formatearlo, lo primero es ingresar a la consola de administración de fdisk, de la siguiente forma

root@localhost:~#fdisk /dev/sda1

Orden (m para obtener ayuda):

Como se puede observar hay una ayuda, la cual es muy útil y la vamos a ver a continuación

Orden Acción
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía
p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)

como puedes ver acá esta todo, pero vamos a ver como se realiza, iniciamos añadiendo una partición de 10GB y veremos las respuestas

Orden (m para obtener ayuda): n
Acción de la orden
e Partición extendida
p Partición primaria (1-4)
p
Número de partición (1-4): 1
Primer cilindro (1-4864, valor predeterminado 1):
Se está utilizando el valor predeterminado 1
Último cilindro o +tamaño o +tamañoM o +tamañoK (1-4864, valor predeterminado 4864): 1216

debido a que es la primera partición es primaria, solo pueden existir 3 primarias de la cuarta en adelante son extendidas. Como estamos iniciando el primer cilindro será el 1 y el para el calculo del último pues se realiza una regla de tres, si 40GB son 4864 cilindros cuantos ciindros serán 10GB, eso nos da 1216 cilindros y listo el particionado, y asi con los siguientes, para guardar le das w quedo particionado el disco

Ahora viene el momento de formatearlo para esto se realiza el siguiente comando

root@localhost:~#mkfs.ext3 /dev/sda1

Así queda con el formato estandar de Linux que es ext3, y ya esta formateado, ahora para comprobar que quedo bien configurado damos nuevamente fdisk -l y se debe ve algo como esto

Disco /dev/sda: 40.0 GB, 40020664320 bytes
255 cabezas, 63 sectores/pista, 4865 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x1d3f1d3f

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1216 9767512 83 Linux
/dev/sda2 1217 4865 29302536 83 Linux


ahora solo queda montar las unidades como si fueran directorios de tu sistema, vamos a asumir que guardando el orden de Linux tienes en el directorio /mnt dos directorios, valga la redundancia, llamados dsk1 y dsk2, entonces montaremos los discos hay de la siguiente forma

root@localhost:~#mount /dev/sda1 /mnt/dsk1

root@localhost:~#mount /dev/sda2 /mnt/dsk2

Ahora si quiers que queden montados siempre que accedas a tu PC sencillo los agregas en el fstab con la siguientes lineas

/dev/sda1 /media/sda1 ext3 defaults,nodev,nosuid,noexec 0 2

Acuerdate que esta es estructura con los espacion la debes mantener, listo ya las tienes montadas y particionadas.