Instalacion de LAMP en Linux

19 febrero 2013

Si queremos desarrollar en PHP necesitaremos un ambiente para probar nuestras aplicaciones, podemos hacerlo perfectamente en un Server remoto pero jamas se comparara con la velocidad que obtendremos haciéndolo en un Server local. 

Para los que usamos Linux lo mas seguro es que ya contemos con todos estos servicios instalados, pero hacer que todos se comuniquen entre si lleva tiempo y si no tienes la experiencia o el conocimiento necesario sobre Linux podrá llegar a ser bastante complicado y hasta frustrante.
Aquí es donde entra LAMP, que es un paquete que nos facilita la vida manejando las conexiones y configuraciones necesarias para que estos servicios se hablen, despreocupandonos de la infrastructura y haciendo que nos concentremos en la programación  LAMP significa Linux, Apache, MySQL y PHP.
Hay varios paquetes LAMP en lo personal me gusta XAMPP el cual podemos bajar desde la siguiente ubicación:
Yo recomiendo desinstalar los paquetes de los servicios que vienen en nuestra distro, esto lo haremos con el manejador de paquetes de nuestro Linux. Yo lo hago desde el mio que es pkgtool 😉
Luego descomprimimos:
# tar zxvf xampp-linux-x.x.x.tar.gz -C /opt
Lo que creara el directorio /opt/lampp, si tenemos una versión antigua sera sustituida por la nueva version 😉
Luego para iniciarlo basta con ejecutar el siguiente comando:
# /opt/lampp/lampp start
Lo que retorna…
Starting XAMPP for Linux 1.8.1…
XAMPP: Starting Apache with SSL (and PHP5)…
XAMPP: Starting MySQL…
XAMPP: Starting ProFTPD…
XAMPP for Linux started.
Mejor se arruina!!! en este momento tenemos Apache, PHP y MySQL perfectamente corriendo y completamente integrados, si levantamos un navegador y digitamos la url http://localhost veremos un resultado como el siguiente:
Como podrás ver el instalador ha dejado MySQL sin seguridad entre otros, te recomiendo ejecutar el comando:
# /opt/lampp/lampp security
Lo que te lleva por una serie de pasos sencillicimos para asegurar tu ambiente LAMP como detallo a continuación:

XAMPP: Quick security check…
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Password protection active. Please use ‘lampp’ as user name!
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin’s pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won’t forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Change phpMyAdmin’s authentication method.
XAMPP: The FTP password for user ‘nobody’ is still set to ‘lampp’.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD…
XAMPP: Done.

Tutorial tomado del blog http://vidagnu.blogspot.mx
autor Publicado por Oscar Meza

Control de ancho de Banda con Squid Delay Pools

15 febrero 2013

Por publicado en las categorías Sysadmin el 29 abril 2011

Uno de los usos más útiles que tenemos con Squid, además de usarlo como caché es el de poder administrar el consumo de ancho de banda de los clientes que se conectan al mismo.

Para poder usar los Delay Pools debemos tener configuradas ACL’s, tanto sea por subred, grupo de equipos, destino, o lo que necesitamos controlar

Existen 3 tipos de “delay pools“. Los valores de ancho de banda son dos, se expresan en bits, e indican el número promedio de bits por segundo y un límite istantáneo que no se puede superar.

El tipo 1 te permite definir un límite de ancho de banda global, o sea que todos las solicitudes que entran en ese pool estarán compartiendo este ancho de bando. Este tipo te permite decir, por ejemplo  “Hay un ancho de banda disponible de 128kbps para bajar archivos desde la red A”

El tipo 2 te permite definir un ancho de banda global y un límite por  cada usuario. Este tipo te permite decir, por ejemplo, “Hay un ancho de banda disponible de 128kbps para bajar archivos desde la red A pero cada usuario que acceda no podrá usar más de 32kbps”.

El tipo 3 te permite definir un ancho de banda global, un límite por cada subred clase C (/24), y un límite por cada usuario accediendo. Este tipo te permite decir, por ejemplo “Hay un ancho de banda disponible de 256kbps para bajar archivos, pero cada subred clase C no puede usar más de 128kbps, y cada usuario individual no puede usar más de 32kbps”.

# Se indica el número TOTAL de delay_pools definidios en el sistema
delay_pools 1
# Definimos un delay pool (número 1) de Clase 2
# (es decir, con limite global, y para cada usuario):
delay_class 1 2
# Definimos los parámetros del delay_pool número 1
delay_parameters 1 128000/128000 32000/56000

Esto indica que el Delay Pool número 1 tiene un límite global de 128kbps (promedio e instantáneo), cada usuario accediendo  dentro del pool tiene un límite promedio de 32kbps, pero puede bajarse objetos pequeños del caché a 56kbps.

Como explicaba más arriba, también tenemos que definir algún ACL para identificar a que objetos o usuarios afecta el pool que acabamos de definir:

acl mired src 10.0.10.0/255.255.255.0
delay_access 1 allow mired
delay_access 1 deny all

Podemos usarlo para limitar ancho de banda para destinos especificos

acl destinos dstdomain .youtube.com .facebook.com
delay_access 1 allow destinos
delay_access 1 deny all

How to squid + delay pools + youtube facebook

15 febrero 2013

Si son administradores de redes o tuvieron que implementar squid en alguna empresa con muchos usuarios y poco enlace, seguro saben de que les voy a hablar. Youtube y facebook pueden ser sitios que nos saquen los pelos de punta!….pero bloquearlos completamente puede hacer que los usuarios de la red nos quieran colgar . Una solución que nos dió resultado en varios lugares es crear un delay pool clase 1 para determinados sitios. Les paso este how to pequeño pero efectivo. Claro que si quieren saber como funcionan exactamente las delay pools pueden dirigirse a la web de squid que lo explica mucho mejor de lo que podría hacerlo yo!

1)
Instalar squid desde aptitude o compilar con soporte para delay pools, –enable-delay-pools.

1.2)
Crear un archivo que se llame lentos en /etc/squid y poner las ips que queremos que naveguen lento.

2)
Editar el archivo squid.conf y agregar lo siguiente:

acl usuarioslentos src “/etc/squid/lentos”

#PONER LENTO YOUTUBE, FACEBOOK
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/100
acl lento url_regex \.flv$
acl lento url_regex -i watch?
acl lento url_regex -i youtube
acl lento url_regex -i facebook
delay_access 1 allow lento usuarioslentos

http_access allow usurarioslentos

Claro que esto lo pueden adecuar a su archivo, podrían tener los grupos por AD o OpenLDAP o usuarios comunes. También pueden agregar los dominios que quieran.

Reinician Squid y ya comenzaría a funcionar, también pueden jugar con lo valores del pool ya que con lo que puse yo va realmente lento.

Saludos! Publicado por Fede en 12:55


Limitando del ancho de banda con CBQ vs P2P

15 febrero 2013

Escrito por Domingo Varela el 08 Abril 2008.

Uno de los recursos mas importantes cuando se tiene un servicio de Internet es el consumo de ancho de banda, para ello es necesario tomar ciertas politicas que nos llevara a la administracion de las QoS. En un servidor GNU/Linux podemos limitar el ancho de banda de las descargas o del trafico entrante y de como administrar la conexion a internet para que sea mas eficiente.

Aqui proporcionaremos de manera sencilla como limitar el trafico entrante evitando así que los usuarios de nuestra LAN consuman todo el ancho de banda de nuestra conexión a Internet.

Esto resulta útil cuando nuestra conexión es lenta o nuestros usuarios suelen descargar toneladas de mp3s, archivos en formato iso, inclusive las últimas distribuciones de Linux.

Supongamos que tenemos un enlace sea cual sea (Ds0,E1 o 2 E1’s) y que asu vez una serie de redes privadas con 60 AP’s. Nuestro GW es un GNU/Linux y por ende debemos de tener un buen plan de “distribucion” y/o “prioridad” para distribuir el ancho de banda.

Aqui se explicara como usar el script CBQ que Linux lo incluye por default por lo tanto no se hace ningún cambio adicional al kernel como es en el caso del traffic shaper (Que solo podra ayudarnos a configurar una interface a limitar, no por IP como es el caso de CBQ).

CBQ es mas poderoso de lo que creemos, con este podemos controlar puertos, determinar el horario especifico para usar el ancho de banda a ser utilizado, compartirlo y controlar programas que consumen demasiado ancho de banda por ejemplo (iMesh, Edonkey, Morpheous, Audiogalaxy, etc).

Se sabe que CBQ trabaja con archivos de configuración que se localizan en el directorio /etc/sysconfig/cbq. Los archivos de configuración se tienen que llamar cbq-X.nombre donde x es un numero en hexadecimal de 4 digitos que indica el orden de arranque respecto a los demás archivos de configuración (hay uno por servicio normalmente).

Los archivos de configuración deberan de tener un formato definido, por ejemplo:

  • cbq-0001.ftp-sedecap, download
  • cbq-0002.http-cobaep, download
  • cbq-0128.campus.backbone-client, download
  • cbq-0129.client-backbone, upload

donde cada archivo de configuración debe tener las siguientes reglas obligatorias:

DEVICE=Interfaz,Velocidad-Interfaz,Peso
RATE=velocidad
WEITH=peso/10
PRIO=prioridad
RULE=ip o red a ser controlada

En el caso de que tengamos 20 redes privadas en un solo gateway y queremos darle solo 40 Kbps de upload, armamos la configuracion, el rate, el weight, etc y colocaremos 192.168.0.0/24

Parámetro DEVICE
DEVICE=Interfaz,Velocidad-Interfaz,Peso

Ejemplo:
DEVICE=eth0,10Mbit,1Mbit

Interfaz: Nombre de la Interfaz eth0, eth1, ppp0, wvlan0…
Velocidad: Es la velocidad del dispositivo

Ejemplo:
Ethernet 10Mbit o 100 Mbit…

Peso: Es un parámetro de ajuste que debera ser proporcional a la Velocidad-Interfaz, siempre vamos a darle el 10%.

Parametro RATE
Velocidad

Ejemplo:
RATE=5Mbit

Velocidad-Interfaz, podemos usar Kbit, Mbit o Mbps.

Parametro WEIGHT
WEIGHT=(peso/10)
Ejemplo:
WEIGHT=500Kbit

Otro parámetro que debe ser proporcional a la Velocidad-Interfaz.
Peso = (Velocidad-Interfaz) / 8
Parametro PRIO
PRIO=(1-8)
Ejemplo: PRIO=5

Prioridad del tráfico para la clase, cuando mayor sea el número, menor es la prioridad, la prioridad 5 es un valor excelente, de hecho, la última versión de CBQ.INIT viene con prioridad 5 por defecto.

Parámetro RULE
RULE=[[saddr[/prefix]][:port],][daddr[/prefix]][:port]

Los parámetros anteriores hacen un filtro para el trafico de cada una de las clases, podemos usar múltiplos compuestos de reglas de archivos de configuración.

Por ejemplo

  • RULE=10.1.1.0/24:80 selecciona el trafico que va al puerto 80 de la red 10.1.1.0
  • RULE=10.2.2.5 selecciona todo el trafico del host 10.2.2.5
  • RULE=10.2.2.5:20/0xfffe selecciona el trafico que va a los puertos 20 y 21 en el host 10.2.2.5 (¿alguien lo entiende?)
  • RULE=:25,10.2.2.128/26:5000 selecciona el trafico que viene desde cualquier ip en el puerto 25 al puerto 5000 de la red 10.2.2.128.
  • RULE=10.5.5.5:80 Selecciona el trafico que viene del puerto 80 del host 10.5.5.5

Parámetro TIME
Este parámetro limita el acceso en horarios predeterminados:
TIME=(hora inicial)-(hora final);(velocidad)/(velocidad/10)

Por ejemplo:
TIME=18:00-06:00;256Kbit/25Kbit

Otros parámetros:
BOUNDED: Si esta definido como ‘yes’ el shaper, sera mantenido siempre que haya ancho de banda disponible.

ISOLATED: Si esta definido como ‘yes’ el shaper NO tomara ancho de banda compartido.
EJEMPLOS:

DEVICE=eth0,10Mbit,1Mbit
RATE=128Kbit
WEIGHT=10Kbit
PRIO=5
RULE=192.128.1.0/24

En este ejemplo, dice que el tráfico de la interface eth0 es de 10 Mbit, a través de la red 192.168.1.0, que a su vez, será procesado con prioridad 5 a través de un shaping de 128 Kbit.

Nótese que con este archivo de configuración SOLO estamos limitando el ancho de banda de salida. Para limitar el ancho de banda en los dos sentidos, debemos configurar, la otra interface….

DEVICE=eth1,10Mbit,1Mbit
RATE=28Kbit
WEIGHT=2Kbit
PRIO=5
RULE=192.168.1.0/24

Ejemplos Reales: Chulo

Eth0,es mi conexion a internet
Eth1, es mi LAN

Aqui anexo los archivos de configuración para los diferentes servicios que se tienen en la Universidad, estos archivos estan situados en el directorio /etc/sysconfig/cbq y el script se puede bajar de aqui o si lo prefiere directamente instalar el paquete iproute.
Archivos de SALIDA, Tarjeta ETH0, que esta conectado a Internet

#cbq-0003.Web_Out_eth0_256K
#
DEVICE=eth0,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=256Kbit #Velocidad
WEIGHT=32Kbit #Velocidad / 8
PRIO=5 #Prioridad 1-8, donde el 8 es mas baja
RULE=,:80
RULE=,201.151.249.101
BOUNDED=yes
ISOLATED=yes
# ——————-

#cbq-0004.Correo_Out_eth0_256K
#
DEVICE=eth0,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=256Kbit #Velocidad
WEIGHT=32Kbit #Velocidad / 8
PRIO=5 #Prioridad 1-8, donde el 8 es mas baja
RULE=,:25
RULE,:110
RULE=,80
RULE=,:143
RULE=,:22
RULE=,53
RULE=,201.151.249.98
BOUNDED=yes
ISOLATED=yes
# ——————-

#cbq-0005.P2P_Out_eth0_15K
#
DEVICE=eth1,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=15Kbit #Velocidad
WEIGHT=1Kbit #Velocidad / 8
PRIO=2 #Prioridad 1-8, donde el 8 es mas baja
TIME=01:00-07:59;110Kbit/11Kbit
RULE=,:21
RULE=,201.151.249.100
RULE=,:1214
RULE=,:4661
RULE=,:4662
RULE=,:4665
RULE=,:4666
RULE=,:4667
RULE=,:4668
RULE=,:4669
RULE=,:4610
RULE=,:41000
RULE=,:41001
RULE=,:41002
RULE=,:41003
RULE=,:41004
RULE=,:41005
RULE=,:41006
RULE=,:41007
RULE=,:41008
RULE=,:41009
RULE=,:41010
RULE=,:41011
RULE=,:41012
RULE=,:41013
RULE=,:41014
RULE=,:41015
RULE=,:41016
RULE=,:41017
RULE=,:41018
RULE=,:41019
RULE=,:41020
RULE=,:41021
RULE=,:41022
RULE=,:41023
RULE=,:41024
RULE=,:41025
RULE=,:41026
RULE=,:41027
RULE=,:41028
RULE=,:41029
RULE=,:41030
BOUNDED=yes
ISOLATED=yes
# ——————-

Archivos de ENTRADA, Tarjeta ETH1, que esta conectado a la LAN

#cbq-0006.P2P_In_eth1_15K
#
DEVICE=eth1,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=15Kbit #Velocidad
WEIGHT=1Kbit #Velocidad / 8
PRIO=3 #Prioridad 1-8, donde el 8 es mas baja
#Windows Media Player.
RULE=:1755,192.168.1.0/24
#Real Player uses TCP port 554, for UDP it uses different ports,
#but generally RealAudio in UDP doesn’t consume much bandwidth.
RULE=:554,192.168.1.0/24
RULE=:7070,192.169.1.0/24
#Napster uses ports 6699 and 6700, maybe some other?
RULE=:6699,192.168.1.0/24
RULE=:6700,192.168.1.0/24
#Audiogalaxy uses ports from 41000 to as high as probably 41900,
#there are many of them, so keep in mind I didn’t list all of
#them here. Repeating 900 nearly the same lines would be of course
#pointless. We will simply cut out ports 410031-41900 using
#ipchains or iptables.
RULE=:41000,192.168.1.0/24
RULE=:41001,192.168.1.0/24
RULE=:41000,192.168.1.0/24
RULE=:41001,192.168.1.0/24
RULE=:41002,192.168.1.0/24
RULE=:41003,192.168.1.0/24
RULE=:41004,192.168.1.0/24
RULE=:41005,192.168.1.0/24
RULE=:41006,192.168.1.0/24
RULE=:41007,192.168.1.0/24
RULE=:41008,192.168.1.0/24
RULE=:41009,192.168.1.0/24
RULE=:41010,192.168.1.0/24
RULE=:41011,192.168.1.0/24
RULE=:41012,192.168.1.0/24
RULE=:41013,192.168.1.0/24
RULE=:41014,192.168.1.0/24
RULE=:41015,192.168.1.0/24
RULE=:41016,192.168.1.0/24
RULE=:41017,192.168.1.0/24
RULE=:41018,192.168.1.0/24
RULE=:41019,192.168.1.0/24
RULE=:41020,192.168.1.0/24
RULE=:41021,192.168.1.0/24
RULE=:41022,192.168.1.0/24
RULE=:41023,192.168.1.0/24
RULE=:41024,192.168.1.0/24
RULE=:41025,192.168.1.0/24
RULE=:41026,192.168.1.0/24
RULE=:41027,192.168.1.0/24
RULE=:41028,192.168.1.0/24
RULE=:41029,192.168.1.0/24
RULE=:41030,192.168.1.0/24
RULE=:41030,192.168.1.0/24
#Some clever users can connect to SOCKS servers when using Napster,
#Audiogalaxy etc.; it’s also a good idea to do so
#when you run your own SOCKS proxy
RULE=:1080,192.168.1.0/24
#Add any other ports you want; you can easily check and track
#ports that programs use with IPTraf
#RULE=:port,192.168.1.0/24
BOUNDED=yes
ISOLATED=yes
# ——————-

#cbq-0007.PROXY_In_eth1_35K
#
DEVICE=eth1,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=35Kbit #Velocidad
WEIGHT=3Kbit #Velocidad / 8
PRIO=2 #Prioridad 1-8, donde el 8 es mas baja
RULE=:8080,192.168.1.248
BOUNDED=yes
ISOLATED=yes
# ——————-

#cbq-0008.FTP_In_eth1_15K
#
DEVICE=eth1,10Mbit,1Mbit # Interface,Vel-Interface,Vel-Interface/8
RATE=15Kbit #Velocidad
WEIGHT=1Kbit #Velocidad / 8
PRIO=5 #Prioridad 1-8, donde el 8 es mas baja
RULE=:20,192.168.1.0/24
RULE:21,192.168.1.0/24
BOUNDED=yes
ISOLATED=yes
# ——————-

Posted by: Lic. Domingo Varela Y.


Instalar Ntop en Centos 6

10 abril 2012

Encontré un buen manual para la instalación de ntop en centos, solo le corregí algo en la ultima parte y también pongo la pagina de donde lo encontré

yum install cairo-devel libxml2-devel pango-devel pango libpng-devel
yum install freetype freetype-devel libart_lgpl-devel wget gcc make
yum install perl-ExtUtils-MakeMaker
cd /opt
wget 
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
tar -zxvf rrdtool-1.4.5.tar.gz
cd rrdtool-1.4.5
./configure -prefix=/usr/local/rrdtool
make
make install

cd ..

yum install libpcap libpcap-devel gdbm gdbm-devel
yum install libevent libevent-devel
wget 
http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz
tar -zxvf GeoIP-1.4.8.tar.gz
cd GeoIP-1.4.8
./configure
make
make install

cd ..

yum install libtool automake autoconf
wget 
http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-4.1.0.tar.gz
tar zxvf ntop-4.1.0.tar.gz
cd ntop-4.1.0
./autogen.sh -prefix=/usr/local/ntop
make
make install

cd ..

useradd -M -s /sbin/nologin -r ntop
chown ntop:root /usr/local/ntop
chown ntop:ntop /usr/local/ntop/share/ntop

###esto es para generar el password ######

/usr/local/ntop/bin/ntop -A

###Para correr la apliccion de ntop en demonio#####

/usr/local/ntop/bin/ntop -d -L -u ntop -P /usr/local/ntop –skip-version-check –use-syslog=daemon

Autor del manual: http://ryanwoon.wordpress.com/2011/08/20/install-ntop-in-centos-6/  como les comente hice correcciones niminas en el los ultimos parrafos donde se crea la contraseña y se corre el demonio de ntop



GUIA ROUTER CENTOS – DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA… Parte 3 VLAN

2 febrero 2012

Siguiendo con articulo anterior GUIA ROUTER CENTOS – DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA… Parte 2““ no es de mi autoria pero pareció muy bueno que lo voy a postear, le pertenece a: rodhalpern que es usuario al igual que yo del Foro ba-k.com

Las Vlans son extremadamente simples de manejar, y como todas las cosas en linux, existe mas de una forma de hacerlas. Te muestro la nomenclatura de las 2.
1.- Usando la misma nomenclatura de las “eth”
LAN = eth0
Vlan = eth0.x
donde x es un numero desde 0 a lo que necesites asignar por cada eth que tengas.

Ejemplo de esto es:
eth0.0, eth0.1, eth0.2, eth0.3… eth0.x

2.- Usando nomenclatura Vlan
LAN = eth0
Vlan = vlanx

donde x es un numero desde 0 a lo que necesites asignar por cada eth que tengas
Ejemplo de esto es:
vlan0, vlan1, vlan2… vlanx

Ahora, para la nomenclatura de la vlan, considerando el mismo adaptador que di de ejemplo para la LAN

# Interface hacia la red local
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.10.1
NETMASK=255.255.255.0
USERCTRL=no
HWADDR=aa:bb:cc:dd:ee:ff # Ojo, no modifiquen SU mac, este es un ejemplo
ONBOOT=yes

Para las Vlan en Formato ETHX.X, usando la misma configuración del eth del que queremos colgar la Vlan, y modificamos:

# VLAN FORMATO ETH
DEVICE=eth1.0
BOOTPROTO=static
IPADDR=10.10.1.1 (este es un EJEMPLO de IP de la VLAN)
NETMASK=255.255.255.0
USERCTRL=no
HWADDR=aa:bb:cc:dd:ee:ff # Ojo, no modifiquen SU mac, este es un ejemplo
VLAN=yes
ONBOOT=yes

y lo guardamos en /etc/sysconfig/network-scripts/ifcfg-eth1.0
(era que no)

Para hacer otra Vlan basada en eth1, quedaría igual pero eth1.1 y así
Ejemplo Vlan eth1.1

# VLAN FORMATO ETH
DEVICE=eth1.1
BOOTPROTO=static
IPADDR=10.10.2.1 (este es un EJEMPLO de IP de la VLAN)
NETMASK=255.255.255.0
USERCTRL=no
HWADDR=aa:bb:cc:dd:ee:ff # Ojo, no modifiquen SU mac, este es un ejemplo
VLAN=yes
ONBOOT=yes

Para las Vlan en Formato VLANX, modificamos:

# VLAN FORMATO VLAN
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan0
PHYSDEV=eth1
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.10.1.1
NETMASK=255.255.255.0

y guardamos el archivo como “/etc/sysconfig/network-scripts/ifcfg-vlan0”

¿¿¿ Suficientemente útil???

Falta que preguntes por las uniones (bonds)


GUIA ROUTER CENTOS – DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA… Parte 2

2 febrero 2012

Siguiendo con articulo anterior “GUIA ROUTER CENTOS – DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA… Parte 1“ no es de mi autoria pero pareció muy bueno que lo voy a postear, le pertenece a: rodhalpern que es usuario al igual que yo del Foro ba-k.com

VAMOS BIEN!

Ahora, para que la navegación sea expedita, es absurdo depender de los DNS del ISP, que normalmente son PEORES que MALOS… así es que levantamos nuestro propio servidor de DNS de doble vista.
Instalamos BIND

# yum -y install bind bind-utils bind-chroot caching-nameserver
Una vez instalado, tenemos que configurar nuestro servidor, para eso:

# cd /var/named/chroot/etc/
# cp -a named.caching-nameserver.conf named.conf
# cp -a named.rfc1912.zones named.rfc1912.int.zones
# cp -a named.rfc1912.zones named.rfc1912.ext.zones
# cd /etc/
# ll named*

Borramos todos los enlaces simbolicos, para poder crear los nuevos

# rm named*
(le decimos que si a todo)

Y ahora creamos los enlaces simbólicos que corresponden

# ln -s /var/named/chroot//etc/named.conf named.conf
# ln -s /var/named/chroot//etc/named.rfc1912.int.zones named.rfc1912.int.zones
# ln -s /var/named/chroot//etc/named.rfc1912.ext.zones named.rfc1912.ext.zones

Ahora la parte entretenida, modificamos named.conf para que funcione nuestro servidor de DNS.

# vim /etc/named.conf
Debiera quedar mas menos asi:
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE – use system-config-bind or an editor
// to create named.conf – edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port 53 { 127.0.0.1; 192.168.10.1;};
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;

// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

allow-query { localhost; any; };
allow-query-cache { localhost; localnets; };
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
view interno {
match-clients { localhost; 192.168.10.0/24;};
match-destinations { localhost; };
recursion yes;
include “/etc/named.rfc1912.int.zones”;
};
view externo {
match-clients { any; };
match-destinations { localhost; };
recursion no;
include “/etc/named.rfc1912.ext.zones”;
};

Si se fijan, cuando se pregunta “recursion” en la vista interna, le decimos que si, pero en la vista externa, SIEMPRE decimos que no. Esto es base para evitar DNS poisoning, y por tanto mantener cierta seguridad de nuestro servidor.
A veces, es polite cambiar además los permisos a la carpeta donde funcionan los DNS

# chmod 770 /var/named/
Y hechamos a andar nuestro servicio de DNS

# service named restart
Y como siempre, revisamos la colita de mensajes para ver que todo este ok, aunque nuestro servidor levante de manera correcta.

# tail -100 /var/log/messages
Si todo esta ok, definimos que el servicio levante siempre que la maquina se enciende

# chkconfig named on

FINALMENTE . . . dejamos la guinda de la torta para el final. Un router de juguete me da internet, y la mayor parte maneja DHCP incluso fijando las IPs, pero dependemos de un servicio de enmascaramiento de DNS y DNS Forwarding para poder tener un servicio medianamente decente. Pero no tienen servidor de DNS ni DNS cache como nuestro servidor. Esto mejora increíblemente los tiempos de respuesta de cada requerimiento a las diferentes direcciones de Internet que queramos ver.
Pero lo que hace la diferencia cuando tenemos más de una persona navegando en nuestra red, es la existencia de un proxy. Esto hace que se almacene en el cache del mismo servidor, toda página y elementos que pertenecen a una página, quedando guardados en dos niveles. Por un lado, cuando los elementos son pequeños, quedan en la memoria RAM del servidor, y cuando son más grandes, pasan al disco duro. Si hacen memoria, asigne 5Gb al cache del Squid, que quedo ubicado en /var/spool/squid. En mi humilde experiencia, un cache de 5Gb es MUCHO para una casa de 5 a 6 personas, pero cuando el espacio de disco no es una limitación, el cache NO DEBE exceder los 20Gb (16 Gb se ha visto como el ideal), a menos que el disco sea MUCHO más rápido de lo que uno compra normalmente.

Ahora, instalar squid, es fácil, configurarlo, es un poco “aspero” para ser sincero.
Para facilitar la configuración, les voy a dar las líneas minimas para no sufrir ni padecer en el intento.

# yum install -y squid
# vim /etc/squid/squid.conf

Para poder hacer esto en fácil, pongamos números en las líneas y asi solo modificaremos algunas de ellas. El comando en vi/vim para ver la numeración de las líneas es “:set nu”

– Las líneas pueden variar un par de números, pero dan una buena referencia de donde esta cada cosa

632 # acl TURED src 192.168.10.0/24
633 # http_access allow TURED
921 # http_port 192.168.10.1:3128 transparent

Squid entonces escucha todo lo que pase en la red mencionada, en el Puerto 3128 y de forma transparente.
¿la navegación no es por el puerto 80? :s

1579 # cache_mem 384 MB
(SIN GUI recomiendo)
1579 # cache_mem 320 MB
(CON GUI recomiendo)

aquí menciono que es la cantidad de memoria RAM asignada a cache de navegación. La recomendación cuando la maquina solo corre como router, es hasta el 90% de la ram. Personalmente, creo que esto es correcto SOLO si se usa runlevel 3, sino, debe sumarse el costo del GUI (unos 120Mb) a los servicios y el poner el hasta el 90% del remanente.

1588 # maximum_object_size_in_memory 160 KB

Tamaño maximo de un objeto cargado en la RAM

1786 # cache_dir ufs /var/spool/squid 5120 16 256

En mi humilde experiencia, el cache que ha dado mejor resultado es el “UFS”, por lo que recomiendo dejarlo tal cual. Ahora el primero número 5120, es el espacio asignado en disco al cache de Squid, el segundo son los niveles de directorios que se crearan, y el tercero los subniveles. NO LOS MODIFIQUEN, solo modifiquen el espacio en disco que quieran asignar.

1811 # minimum_object_size 140 KB
1825 # maximum_object_size 30720 KB

este es el valor MAXIMO de un objeto que será almacenado en disco. En este caso, lo fije como 30Mb, lo que es más que suficiente para el 90% de los usuarios. Las salvedades comienzan a aparecer cuando los usuarios quieren que squid almacene las actualizaciones de Windows por ejemplo, hecho que PUEDE hacer, pero no con la configuración que estoy entregando (necesitamos modificar algunos ACLs).

Eso debiera ser todo, aunque a veces, Squid pide que se defina un “visible_hostname”.

# AGREGUE en la pagina 2 como configurar Vlans y como optimizar Squid para Windows UPDATE… así es que no se lo pierdan y PONGAN FEEDBACK… que esto tomo MUCHISISISISISIMO tiempo y dedicación.

Si encuentran errores, o tienen preguntas, avísenme para poder optimizar todo.