17 octubre 2008

apache mod_cband en centos 5.2

mod_cband es un modulo de apache nos permite controlar el ancho de banda usado por los usuarios conectados al servidor, ya sea en forma individual o general.

Instalación:

Descargamos el modulo.
Pagina del proyecto: http://sourceforge.net/projects/cband/

# wget http://downloads.sourceforge.net/cband/mod-cband-0.9.6.1.tgz?modtime=1138205796&big_mirror=0

Descomprimimos las fuentes

# tar -xvf mod-cband-0.9.6.1.tgz

Instalando dependencias necesarias

# yum install http-devel

Compilando las fuentes

# ./configure
# make
# make install

Agregamos el modulo al apache en el archivo httpd.conf, por defecto se agrega automáticamente la linea al compilar, si no fuera el caso, agregar la siguiente linea

# vim /etc/httpd/conf/httpd.conf

LoadModule cband_module modules/mod_cband.so

También es necesario agregar

CBandScoreFlushPeriod 1
CBandRandomPulse On

Reiniciamos el apache

# /etc/init.d/httpd restart

Ahora a configurar los dominios virtuales del apache:

En mi caso lo tengo en /etc/httpd/conf.d/virtual.conf
Se puede dar el caso de tenerlo en el mimos httpd.conf

Configuraciones y Limitaciones por Sitio

CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 20kb/s 3 3

El parámetro CBandSpeed es una configuración Global para dicho Sitio, definimos que lo usuarios no podran sobrepasar los 1024Kbps, 10 respuestas por segundo y 30 conexiones abiertas.

El parámetro CbandRemoteSpeed es una configuración para cada usuario conectado en forma separada, definimos que el usuario en forma individual podra descargar a lo máximo 20Kb/s con 3 peticiones por segundo y 3 conexiones permitida.

Asi quedara nuestro virtual host

# vim /etc/httpd/conf.d/virtual.conf

"<"VirtualHost *:80">"
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
"<"/VirtualHost">"

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege ">" y "<". para para que funcione no deben ir las comillas doble. Mucho ojo con eso.

Reiniciamos el apache

# /etc/init.d/httpd restart

y probamos nuestra web.... recomendaciones, podemos cambiar las variables, reiniciar el apache y probar.

Otras opciones

Podemos limitar el trafico mensual con:

CBandLimit 100M

Podemos ver en Linea el trafico y conexiones, etc (estatus de cband) con:

Creamos la carpeta

# mkdir /var/www/scoreboard

Le damos permisos para el apache

# chown apache:apache /var/www/scoreboard

Y agregamos al virtual host

CBandScoreboard /var/www/scoreboard
CBandPeriod 4W

"<"Location /cband-status">"
SetHandler cband-status
"<"/Location">"
"<"Location /cband-status-me">"
SetHandler cband-status-me
"<"/Location">"



Todo lo anterior se agrega al dominio virtual, quedando asi:

"<"VirtualHost *:80">"
DocumentRoot /var/www/html/miweb.com
ServerName miweb.com
ServerAlias www.miweb.com
ErrorLog logs/miweb.com_error.log
CustomLog logs/miweb.com_access.log combined
CBandLimit 1000M
CBandSpeed 1024kbps 10 30
CBandRemoteSpeed 50kb/s 3 3
LogLevel warn
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
"<"Location /cband-status">"
SetHandler cband-status
"<"/Location">"
"<"Location /cband-status-me">"
SetHandler cband-status-me
"<"/Location">"
"<"/VirtualHost">"

Nota: por alguna razon al poner mayor o menor no sale, asi que agrege ">" y "<". para para que funcione no deben ir las comillas doble. Mucho ojo con eso.
Reiniciamos el apache

# /etc/init.d/httpd restart

De lo anterior limitamos el trafico mensual a 1GB
para ver las estadísticas: http://miweb.com/cband-status o http://miweb.com/cband-status-me

A probar...
Suerte

http://tic-rex.com

05 septiembre 2008

Bloqueo de redes p2p (ipp2p)

matando al burro

software ipp2p
S.O debian4r3

Primero pasos

Descargamos el paquete y lo descomprimimos

# cd /usr/src
# wget http://www.ipp2p.org/downloads/ipp2p-0.8.2.tar.gz
# tar -xvf ipp2p-0.8.2


Instalamos las dependencias necesarias

# apt-get install iptables-dev
# apt-get install linux-kernel-headers
# apt-get install linux-source-2.6.18
# apt-get install build-essential
# apt-get install linux-headers-2.6.18-6-686


Como estamos en /usr/src vamos a descomprimir el kernel-source

# bunzip2 linux-source-2.6.18.tar.bz2
# tar -xvf linux-source-2.6.18.tar


Creamos un enlace simbolico a linux-source-*

# ln -s linux-source-2.6.18/ linux

Ahora solo nos falta saber que version de iptables estamos usando, para tal caso ejecutamos

# iptables --version
iptables v1.3.6

Entonces descargamos las fuentes de esa version de http://www.netfilter.org/projects/iptables/downloads.html

# wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.6.tar.bz2

Descomprimimos

# bunzip2 iptables-1.3.6.tar.bz2
# tar -xvf iptables-1.3.6.tar

Entramos a la carpeta

# cd ipp2p-0.8.2
Editamos el Makefile

# vim Makefile
y cambiamos la siguiente linea

ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
por

$(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o
Procedemos a compilar

# make
Para terminar, copiamos los siguiente archivos

# cp libipt_ipp2p.so /lib/iptables/
# cp ipt_ipp2p.ko /lib/modules/2.6.18-6-686/kernel/net/ipv4/
# insmod ipt_ipp2p.ko
# depmod -a


Comprobamos si nuestro modulo cargo bien, con

# lsmod
y

# iptables -m ipp2p --help
Por ultimo la regla que colocamos a nuestro iptables-rules seria

En general para todos
-A FORWARD -m ipp2p --ipp2p -j DROP
Para una determinada red en particular
-A FORWARD -s 172.16.5.0/24 -m ipp2p --ipp2p -j DROP

http://tic-rex.com

07 julio 2008

Install Party FISI-UNMSM 2008

Sabado 12 de Julio del 2008 Facultad de Ingeniería de Sistemas e Informática FISI-UNMSM



Comparacion entre GNU/LINUX WINDOWS Y MAC OS

Comparaciones entre WINDOWS, LINUX Y MAC
Que es un Sistema Operativo
Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, etc.).
http://es.wikipedia.org/wiki/Sistema_operativo


Ventajas Desventajas
GNU/LINUX (Todoterrenos robusto)
  • Potencia, estabilidad, seguridad contra virus y sirve para realizar cualquier trabajo
  • Sus últimas versiones son bastante más amigables y fáciles de usar.
  • El Libre
  • Existen Diferentes distribuciones para cada tipo de usuario.
  • Es Configurable y adaptable al usuario.
  • Código Libre
  • Solución de errores al instante.
  • Soporte para muchas plataforma de hardware.
  • Falta de comodidad, no es tan fácil de usar como los otros dos
  • Se necesitan conocimientos técnicos para realizar algunas tareas
WINDOWS (Utilitario familiar)
  • Fácil utilidad para escribir documentos, navegar por Internet, escuchar música, ver películas, retocar fotografías digitales o disfrutar de los últimos juegos.
  • Windows es fácil de usar y configurar, sin necesidad de poseer conocimientos informáticos avanzados
  • Inestable, ya que los bloqueos y cuelgues son frecuentes (sobre todo en versiones anteriores a XP).
  • Su seguridad también deja mucho que desear, pues existen multitud de virus que aprovechan fallos del sistema para infectar el PC.
  • Es propietario y de Pago.
  • No es adaptable al usuario.
  • Código cerrado (Nunca se sabe lo que sucede dentro del S.O).
  • Solución de errores con mucha demora .
  • Limita la usuario en su configuración.
MAC OS (Deportivo de diseño)
  • Es considerado por muchos expertos el sistema operativo más sencillo de utilizar, más innovador y de estética más cuidada
  • Es en el retoque, la producción y edición de música, fotografías y vídeos donde este sistema tiene su punto fuerte.
  • El número de programas disponibles para esta plataforma (sobre todo, juegos) sigue sin ser tan alto como el de Microsoft.
  • Es de pago y propietario.
OTROS (Solaris, Unix, BSD. etc)

http://revista.consumer.es/web/es/20040601/internet/

http://tic-rex.com

04 julio 2008

mkisofs y cdrecord Para quemas CD/DVD en Consola

Este pequeño tutorial fue probado en CentOS 5 pero funciona para cualquier versión de Linux, al final la consola es igual para todos.

Para quemar en consola, necesitamos contar con una quemadora de CD/DVD, Bastantes CD/DVD donde quemar, lo que queremos quemar y los siguiente programas que instalamos a continuación.

# yum -y install mkisofs cdrecord

Necesitamos crear una .ISO de lo que deseamos quemar. para esto utilizamos el comando mkisofs

# mkisofs -r -l -o imagen_que_quiero_crear.iso /home/data_que_quiero_quemar

Mas o menos nos saldrá la siguiente información

INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
1.98% done, estimate finish Thu Jul 3 10:28:10 2008
3.96% done, estimate finish Thu Jul 3 10:28:10 2008
5.94% done, estimate finish Thu Jul 3 10:28:10 2008
7.92% done, estimate finish Thu Jul 3 10:28:10 2008
9.89% done, estimate finish Thu Jul 3 10:28:10 2008
11.87% done, estimate finish Thu Jul 3 10:28:10 2008
13.85% done, estimate finish Thu Jul 3 10:28:10 2008
15.83% done, estimate finish Thu Jul 3 10:28:10 2008
17.80% done, estimate finish Thu Jul 3 10:28:10 2008
19.79% done, estimate finish Thu Jul 3 10:28:10 2008
21.76% done, estimate finish Thu Jul 3 10:28:10 2008
23.74% done, estimate finish Thu Jul 3 10:28:10 2008
25.72% done, estimate finish Thu Jul 3 10:28:10 2008
27.70% done, estimate finish Thu Jul 3 10:28:10 2008
29.67% done, estimate finish Thu Jul 3 10:28:10 2008
31.66% done, estimate finish Thu Jul 3 10:28:10 2008
33.63% done, estimate finish Thu Jul 3 10:28:10 2008
35.61% done, estimate finish Thu Jul 3 10:28:10 2008
37.59% done, estimate finish Thu Jul 3 10:28:10 2008
39.57% done, estimate finish Thu Jul 3 10:28:10 2008
41.54% done, estimate finish Thu Jul 3 10:28:10 2008
43.52% done, estimate finish Thu Jul 3 10:28:10 2008
45.50% done, estimate finish Thu Jul 3 10:28:10 2008
47.48% done, estimate finish Thu Jul 3 10:28:10 2008
49.46% done, estimate finish Thu Jul 3 10:28:10 2008
51.44% done, estimate finish Thu Jul 3 10:28:10 2008
53.41% done, estimate finish Thu Jul 3 10:28:10 2008
55.39% done, estimate finish Thu Jul 3 10:28:10 2008
57.37% done, estimate finish Thu Jul 3 10:28:10 2008
59.35% done, estimate finish Thu Jul 3 10:28:11 2008
61.33% done, estimate finish Thu Jul 3 10:28:11 2008
63.31% done, estimate finish Thu Jul 3 10:28:11 2008
65.28% done, estimate finish Thu Jul 3 10:28:11 2008
67.26% done, estimate finish Thu Jul 3 10:28:11 2008
69.24% done, estimate finish Thu Jul 3 10:28:11 2008
71.22% done, estimate finish Thu Jul 3 10:28:11 2008
73.20% done, estimate finish Thu Jul 3 10:28:11 2008
75.18% done, estimate finish Thu Jul 3 10:28:11 2008
77.15% done, estimate finish Thu Jul 3 10:28:11 2008
79.13% done, estimate finish Thu Jul 3 10:28:11 2008
81.11% done, estimate finish Thu Jul 3 10:28:11 2008
83.09% done, estimate finish Thu Jul 3 10:28:11 2008
85.06% done, estimate finish Thu Jul 3 10:28:11 2008
87.05% done, estimate finish Thu Jul 3 10:28:11 2008
89.02% done, estimate finish Thu Jul 3 10:28:11 2008
91.00% done, estimate finish Thu Jul 3 10:28:11 2008
92.98% done, estimate finish Thu Jul 3 10:28:11 2008
94.96% done, estimate finish Thu Jul 3 10:28:11 2008
96.93% done, estimate finish Thu Jul 3 10:28:11 2008
98.92% done, estimate finish Thu Jul 3 10:28:11 2008
Total translation table size: 0
Total rockridge attributes bytes: 264
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
252750 extents written (493 MB)


No indica que se ha creado una imagen de 493 MB

Antes de proceder a quemar primero necesitamos identificar el dispositivo (en este caso la quemadora) entonces escaneamos el dispositivo

# cdrecord -scanbus

Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
cdrecord: Warning: using inofficial libscg transport code version (schily - Red Hat-scsi-linux-sg.c-1.83-RH '@(#)scsi-linux-sg.c 1.83 04/05/20 Copyright 1997 J. Schilling').
scsibus4:
4,0,0 400) 'HL-DT-ST' 'DVD-RAM GSA-H55N' '1.02' Removable CD-ROM
4,1,0 401) *
4,2,0 402) *
4,3,0 403) *
4,4,0 404) *
4,5,0 405) *
4,6,0 406) *
4,7,0 407) *


Con esto podemos notar que nuestra quemadora esta identificada en 4,0,0 400) 'HL-DT-ST' 'DVD-RAM GSA-H55N' '1.02' Removable CD-ROM

Procedemos al quemamos, donde en la opción dev=xxx devemos indicar en identificador de nuestra quemadora, que en el paso anterior salio.

# cdrecord -v dev=4,0,0 speed=10 imagen_que_quiero_crear.iso

Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1114112 = 1088 KB
Drive DMA Speed: 129024 kB/s 733x CD 93x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 493 MB
Total size: 566 MB (56:10.02) = 252752 sectors
Lout start: 567 MB (56:12/02) = 252752 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 7
Is not unrestricted
Is not erasable
ATIP start of lead in: -11597 (97:27/28)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 20
Manufacturer: Princo Corporation
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 107097
Starting to write CD/DVD at speed 16 in real TAO mode for single session.
Last chance to quit, starting real write 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
trackno=0
BURN-Free is ON.
Turning BURN-Free off
Performing OPC...
Starting new track at sector: 0
Track 01: 493 of 493 MB written (fifo 100%) [buf 93%] 16.4x.
Track 01: Total bytes read/written: 517632000/517632000 (252750 sectors).
Writing time: 224.775s
Average write speed 15.0x.
Min drive buffer fill was 90%
Fixating...
Fixating time: 18.114s
cdrecord: fifo had 8154 puts and 8154 gets.
cdrecord: fifo was 0 times empty and 8011 times full, min fill was


Esto es todo, expulsamos nuestro cd con eject y listo.

PD: no es necesario ser root para hacer todo estos pasos.