Вы находитесь на странице: 1из 15

GUIA ROUTER CENTOS - DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA,

Vlans, y ms

Para quien pueda servirle, es un copy paste que habia guardado en un


correo.
=================================================================
GUIA ROUTER CENTOS - DHCP, PROXY CACHE, DNS CACHE, DNS de DOBLE VISTA,
Vlans, y ms
Les traigo este mini-manualcillo de la humilde autoria de no recuerdo
quien, para que usen sus mquinas viejas como routers, usando Fedora
12, 13, 14 15 (no he probado en versiones anteriores, pero debiera
funcionar), o Centos 4x 5x (no he probado aun con Centos 6, aunque
ya tengo una mquina virtual corrindolo).
Por qu CENTOS y no UBUNTU o DEBIAN?
Lamentablemente, al pasar los aos, la identidad de Debian (no me
maten por favor) se ha ido perdiendo y transformando. Hoy, deban es
una distro que tiene un nombre y que ha aportado MUCHO MAS que
cualquier otra, pero que ha pasado a ser un desarrollo constante,
inmaduro e inestable. Los paquetes ms estables, estn AEJOS con
ganas, y los paquetes ms nuevos, son bombas FOLK.
Ubuntu en cambio, es bsicamente ms de lo mismo, con algunas mejoras
notables para los usuarios nuevos, y mejoras serias en la GUI, pero
nuevamente, no es lo que buscamos.
Fedora, siendo una distro MUY innovadora, y que siempre est marcando
tendencias, sigue siendo mucho ms estable que Ubuntu, posiblemente
porque su idea original es ser el ambiente de prueba de las versiones
de escritorio de RedHat, y por tanto es posible usarla en modo texto
con tan buenos resultados como otras distros.
Centos, es una distro que de innovador no tiene NADA. Esto es lgico y
obvio, ya que uno no busca innovacin en las GUI de los servidores, o
que tenga las ltimas chupas del mate en aplicaciones. Uno busca que
lo que tiene funcione slido como roca, y nunca ms vuelva a fallar.
Por lo mismo, es mi primera opcin cuando de servidores se trata. Por
otro lado, sus genes redhatcisticos, dan seguridad y confianza, adems
de tener un soporte y documentacin masivos en la red, lo que permite
siempre poder salir del problema, sea porque encontraste un artculo
que mencionaba esa falla, o porque alguien certificado redhat te
ayudo.
En este caso, la idea es que usen un router de verdad, basado en
arquitectura x86 con Linux, y no los de juguete que uno compra en las
tiendas, donde muchos servicios estn capados, incluso usando
firmwares de terceros como el dd-wrt (que tambin es Linux), y vean
como un servidor chiquito hace maravillas en las redes de hogar.
Considerando que una maquina vieja y usada normalmente est acumulando
polvo por ah, o se puede adquirir por menos de US $70 con mejores
prestaciones de las que pongo ac, no es del todo descabellado
implementarlas en vez de los routers de casa. Los servicios que adems
pueden implementar, no se limitan a los 3 servicios que les voy a
dejar ac ( ROUTER, Servidor de DHCP, Servidor PROXY TRANSPARENTE,
Servidor de DNS y DNS-CACHE de doble vista), sino que es posible usar
hasta el infinito y ms all solo depende de su paciencia y

expertice.
Dentro de la receta, pedimos como mnimo un computador viejito con:
P3 500 o superior
512Mb de RAM (podra ser menos, pero no funciona con Fedora 12 o
superior, ni Centos 5x o superior)
Dos tarjetas de red, dos viejas de 10Mbps mnimo (10/100 ideal)
Un disco duro de 8Gb mnimo (voy a hacer el server con un disco de
20Gb, ustedes usen el que tengan)
Lector de dvd ideal (aunque lector de CD tambin sirve)
Mi advertencia para los que tienen ms de un tarro botado, es que usen
el ms chico, y eviten los P4. Esto es porque un PIII de 800 con 512Mb
es suficiente para administrar una red de ms de 400 usuarios sin
despeinarse, consumiendo menos de la mitad de lo que un P4 consumira.
Eliminando el mito, los Duron, Athlon XP y Atlhon MP, as como los
semproms, son mquinas muy eficientes energticamente, y que dan
grandes y agradables sorpresas en Linux, aunque los puristas siempre
prefieren Intel.
No me puede importar menos ni el monitor, ni la tarjeta de video, ni
nada ms. La idea es que luego de dejarlo funcionando, dejen servidor
en una posicin donde nadie lo toque, siempre encendido, e idealmente
sin mouse, teclado, ni monitor. De hecho, para los MASHOS TARTAROS,
les recomiendo que instalemos SIN GUI, aunque algunas personas siempre
quieren tener un escritorio al que allegarse. Mi recomendacin, es que
si van a hacer una instalacin con GUI, tengan en cuenta que es mejor
dejar el equipo siempre en runlevel 3, no solo para ahorrarse los
megamuchos megabytes de RAM que se consumen, sino que para evitar que
manos inescrupulosas crean que pueden ser administradores de
servidores.
Si por alguna razn, no son los mashos bakunos que dicen ser, e
instalan GUI de todas formas, les menciono que todas las
configuraciones que haremos, sern en base a texto, lo que no favorece
el uso de la GUI, aunque a los que estn acostumbrados, puede que les
acomode tener diferentes ventanas de terminal abiertas, o usando otro
editor de texto diferente a VI/VIM (mis elecciones) como puede ser
gedit.
CUIDADO CON EL SERVICIO NETWORKMANAGER. Es un servicio que corre en
GUI, pero que evita que el servicio de red sea manejado por consola.
Deshabilitenlo.
Adems, la mayor parte de las otras interacciones que haremos, sern
luego que el equipo funcione, siempre usando ssh, asi es que no tiene
mucho sentido.
Manos a la Obra:
Paso 1.- Descarguen el primer CD de Centos 5x (la ltima versin antes
de salir Centos 6 fue la Centos 5.6, y es de hecho la que recomiendo).
Pueden usar si tienen a mano como mencione anteriormente Fedora en las
versiones 12 hasta la 14 (no prob con versiones anteriores), y Centos
4 a la ltima de la 5. SIEMPRE EN 32bits.
Para los que vienen del mundo de Windows y creen de guata al cielo que
los 64bits son la solucin a la hambruna, la estupidez y la pobreza,
les comento que NO. Un Kernel PAE puede administrar 64Gb de ram, lo
que hace innecesario usar Kernels de 64 bits en Linux a menos que sea

un servidor tamao MAMUT.


NO USEN CENTOS 6 PORQUE HAY DETALLES DIFERENTES dentro de las
configuraciones de DHCP, y posiblemente se mareen para qu hacerlo
difcil, si fcil tambin resulta?
Paso 2.- Quemen el CD o el DVD de Centos 5x en el medio que
corresponda.
Paso 3.- Inicien la instalacin
Aunque no quiero hacer un tratado de la instalacin, y no capture
imgenes de pantalla, tengo que explayarme porque necesitamos
modificar algunas cosillas solamente dentro de las cuales est la
tabla de particiones (haremos un diseo personalizado), y las cosas
que instalaremos.
Cuando inicien la instalacin, elijan la instalacin en modo grfico.
S que suena un poco contradictorio, pero la modificacin de la tabla
de particiones es un PARTO de PRIMERISA en modo texto, y no veo porque
hacerlos sufrir gratis.
Cuando les ofrezca instalar el idioma, por defecto viene en Ingles,
pero si quieres espaol, pinchen la seleccin de ingls, y escriban
SPA, y tendrn la opcin de Espaol (spanish), pinchen luego en
siguiente, para seleccionar ahora el idioma del teclado. Por defecto
viene con la configuracin de espaol-espaa. En mi caso tengo un
teclado latinoamericano, as es que pongo lat y aparecer la opcin
de teclado latino americano.
Ahora lo truculento . . . cuando les d opcin de hacer un diseo
predeterminado la respuesta es NO!!! . . . especialmente a los amigos
newbies y Ubunteros, la respuesta es NO. Elijan CREAR DISEO
PERSONALIZADO.
El porqu de esto, varias explicaciones, y cada una muchas
ramificaciones, pero lo que es importante que entiendan es que:
Al crear un diseo personalizado, distribuyo a voluntad el disco, y
limito la posibilidad de vulnerabilidades de softwares.
Evito que programas tomen ms espacio de disco del que yo quiero
asignar o es sano asignar. Por ejemplo, hasta hace poco tiempo, Squid
tena justamente un bug aleatorio, que lo haca tomar ms espacio de
disco del que se configuraba, pudiendo tomar incluso el 100% del
espacio libre de la particin en que se instal. Con o sin BUG, no
dejamos que eso pase.
Puedo enjaular los requerimientos de usuarios (por ejemplo, con los
DNS)
Puedo dejar espacio SIN ASIGNAR para aumentar las particiones que as
lo requieran, y no necesariamente asignado ni a la raz, ni al home,
ni a nada no es una mquina de uso personal, es un servidor, y de
buenas prcticas siempre es dejar espacio para crecer.
Desde que apareci el MARAVILLOSO LVM, se acab el problema de
espacio, siempre y cuando, tengamos la buena costumbre de definir un
VOLUMEN FISICO LVM, y las particiones correspondientes dentro.
Ok entonces ya que estamos ok con el diseo personalizado, lo primero
es crear una nueva particin con punto de montaje /boot con sistema de
archivos EXT3 y tamao fijo de al menos 200Mb (fedora 14 y 15 soportan
EXT4, lo que lo hace recomendable, solo por velocidad). Luego, todo el
espacio que queda disponible, lo agregamos como LVM.

Acurdense que el disco que estoy usando es de 20Gb.


Cita:
Discos duros:
Dispositivo
Punto de Montaje
TIPO
Formato
Tamao (MB)
/dev/sda
/dev/sda1
/boot
Ext3
Si
250
/dev/sda2
Sistema
LVM PV
Si
20222
Ahora en el espacio LVM, ponemos las particiones necesarias para que
nuestro servidor funcione. Como les mencione, el disco que usare tiene
20Gb, pero me va a sobrar espacio (como les mencione, por buenas
practicas).
La tabla de particiones LVM, la llam SISTEMA, y tiene que quedar
entonces ms menos as:
Cita:
Grupo de volmenes LVM
Dispositivo
Punto de Montaje
TIPO
Formato
Tamao (MB)
Swap
Swap
Si
1024
Temp
/tmp
Ext3
Si
1024
Raz
/
Ext3
Si
5120
Home
/home
Ext3
Si
2048
Var
/var
Ext3
Si
2048
Usr
/usr
Ext3
Si
2048
Squid
/var/spool/squid
Ext3
Si
5120
Para los que hacen las matemticas SI, deje ms menos 1Gb no
asignado. De esa manera puedo aumentar sin necesidad de disminuir nada
alguna particin que requiera. Si pongo otro disco duro, simplemente
lo transformo en volumen LVM, y aumento el espacio al nuevo disco, sin
necesidad de hacer RAID. Les mencione que desde que apareci el
LVM, fue amor a primera vista???
El gestor de arranque por defecto, es el amado GRUB, que se instale
en /dev/sda/ tal cual como viene.
Ahora tiene que dar la opcin de configurar nuestros adaptadores de
red.
Nuestro adaptador eth0 debe quedar con dhcp e ipv6 desactivado (no se
necesita), mientras que el eth1 tiene que quedar configurado con la
direccin ip que queremos que tenga nuestra red, para ejemplos
prcticos, la fijare como 192.168.10.1, con mascara de subred
255.255.255.0 (clase C), tambin ipv6 desactivado. Preocpense que
ambos adaptadores suban al encender la mquina.
Terminado eso, fijen su zona horaria correspondiente, mi caso, mi
Chile querido. (America/Santiago).
Ahora les pedir una contrasea de administrador. Les pido que sean
sobrios y sensatos 1234 NO ES UNA CONTRASEA, y contrasea
TAMPOCO es una contrasea. Usen una contrasea que tenga al menos una
mayscula, minsculas, nmeros y algn carcter especial. NO LA
PIERDAN.
Si quieren evaluar su contrasea...
Ahora, hacemos la magia. Por defecto en centos se instala el
escritorio y algunas cosillas ms. Como buenos mashos TARTATOS

VIKINGOS, vamos a personalizar la instalacin y sacar TODO, salvo el


GUI para los no tan mashos. Pinchen Personalizar ahora.
En Entornos grficos SAQUEN TODO, salvos los no mashitos que quieren
gnome. KDE es un pelito pesado, y es mejor evitarlo.
En Aplicaciones:
Auditoria y Publicacin desmrquela completo
Editores, marquen las dos opciones de VIM-enhanced. Nada ms.
Emacs, desmarquen todo
Grficos, desmarquen todo
Ingeniera y cientfico, desmarquen todo
Internet basada en texto, para MASHOS, djenlo
Internet grfica, para los que van a instalar GUI, SOLO dejen Firefox
Juegos y entretenimiento, desmarquen todo (es un servidor)
Oficina y productividad, desmarquen todo (es un servidor)
Sonido y video, desmarquen todo
En desarrollo, DESMARQUEN TODO
En Servidores, DESMARQUEN TODO (sip, desmarquen todo)
En Sistema Base, SI NO SON LOS MASHITOS QUE CREO desmarquen por favor
el network manager, o tomara control de los adaptadores de red, adems
desmarquen el anacron (hace lo mismo que Cron), los servicios aspell,
el bluetz-utils, cpuspeed, dmraud, finger, fistboot, ftp, yumupdatestd. El resto, no lo toquen.
Si tienen una conexin por modem ADSL, tienen que preocuparse que el
soporte de red mediante discado este marcado, El resto, djenlo tal
como viene, con java desmarcado, herramientas de sistema desmarcada,
herramientas de administracin desmarcado, distribucin de empresas
desmarcado.
En la seccin Virtualizacion, desmarquen todo
En agrupamiento de clustering desmarquen todo
En almacenamiento del clustering, desmarquen todo
En idiomas, desmarquen todos, menos el idioma que van a usar.
Cuando presionen siguiente, una pantalla avisara que luego del prximo
siguiente, la instalacin propiamente tal iniciara. Al finalizar la
instalacin, les va a pedir que reinicien la maquina (no se
acostumbren, no es Windows).
El reinicio es suave y rpido, si desmarcaron todo lo que les ped, he
hicieron bien las particiones, solo queda poco trabajo antes de
comenzar a hacer lo mnimo que se necesita para poder tener un
servidor funcional.
Para los mashos tartaros que entran solo a consolaso limpio
(felicitaciones por ustedes rudos mashos que no le temen a la
consola), tendrn un pelito ms de trabajo, pero muchas recompensas.
Al resto, si no deshabilitaron correctamente el servicio firstboot,
les va a aparecer una serie de consultas, como la configuracin del
cortafuegos (firewall), que debe permitir de forma segura SOLO SSH, y
la configuracin de SELINUX debe quedar en disabled o deshabilitado.
Para los mashos tartaros, que entraron a consola, lo primero
deshabilitamos SELINUX, que aun cuando puede ser de gran ayuda para
manejar la seguridad de nuestro equipo en red, en verdad es un cacho
de configurar correctamente, y no vale la pena para este tipo de
mquina.

Esto lo hacemos usando nuestro editor de textos favorito de todos los


tiempos VIM
Cita:
# vim /etc/selinux/config
Donde dice:
Cita:
SELINUX=enforcing
Debe quedar:
Cita:
SELINUX=disabled
Guardamos la configuracin del fichero (comando :wq! )
Para hacer que los cambios surtan efecto usamos:
Cita:
# setenforce 0
Si vemos cuanta ram esta ocupando nuestro sistema, lo mas probable es
que sea menos de 20 MB. Eso lo podemos hacer usando el comando free
Cita:
# free -m
Para los mashos tartaros bien, para los otros que usan gnome, es
probable que estn usando desde 80 Mb hasta 125Mb si hicieron lo que
les ped. Nada grave, pero recuerden que una mquina que tiene 512Mb
de ram, no es una mquina que pueda perder recursos en tonteras.
Ahora, antes de seguir, para los mashos tartaros, y para los otros,
deben instalar los repos de DAG.
Los que tengan maquinas conectadas por mdems ADSL, primero deben
configurar sus conexiones adsl. En Linux esto es una tarea MUY
DIFICIL desde una consola, ponen el siguiente comando
Cita:
# adsl-setup
Y responden todas las preguntas (a prueba de diputados) que
aparecern. Nada absurdo por lo dems. La nica pregunta que puede
incomodar a los caballeros, y seoritas, es el tipo de firewall, pero
la mejor opcin para una maquina que funciona como router, es dejarlo
como MASQUERADE.
Por defecto, les recomiendo a los que tienen cablemodems y a los que
tienen adsl, que conecten su conexin a internet a la eth0 (solo por
motivos de orden), y ya tenemos internet en nuestro servidor, lo que
no significa nada aun.
En una consola (para los no tan mashos), y en el tty para los mashos,
usamos el siguiente comando:
Cita:
# su Contrasea: x x x x x x x x x (su contrasea de ROOT)
# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Eso instala el repo para Centos 5x de DAG repo, que a mi juicio es el
mejor repo no oficial para Centos.
Ahora, como buen servidor, necesitamos que corra SOLO lo que vamos a
usar, y no cualquier cosa. Para eso, primero pedimos un listado de
todos los servicios que se ejecutan por runlevel:
Cita:
# chkconfig --list
Les va a aparecer un listado NO despreciable de servicios que se
ejecutan, de los que tienen que estar siempre off:

Cita:
# chkconfig sendmail off
# chkconfig netfs off
# chkconfig ip6tables off
Y como somos educados, le vamos a poner nombre a la maquina:
Cita:
# vim /etc/sysconfig/network
HOSTNAME=proxy.by-hal
Ahora, revisamos que los adaptadores de red esten correctamente
configurados, partiendo obviamente por eth0, y luego eth1
Cita:
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
Cita:
# Interface hacia Inet
DEVICE=eth0
BOOTPROTO=dhcp
USERCTRL=yes
HWADDR=00:11:22:33:44:55 # Ojo, no modifiquen SU mac, este es un
ejemplo
ONBOOT=yes
Cita:
# vim /etc/sysconfig/network-scripts/ifcfg-eth1
Cita:
# 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
En algunas versiones de fedora, cuando se instala de manera mnima, no
activa por defecto los adaptadores de red, as es que para asegurarnos
que siempre levanten los adaptadores de red, usamos:
Cita:
# chkconfig network on
Para que el router se active, debemos activar el bit-forwarding lo que
se hace dentro de la siguiente configuracin.
Cita:
# vim /etc/sysctl.conf
Cita:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
para que el cambio sea inmediato, (les dije que no es Windows, y no se
reinicia casi casi casi nunca)
Cita:
# sysctl -p
Ahora, para poder tener todo listo para usar antes de empezar a
instalar las aplicaciones que necesitamos, preparamos las reglas de
los iptables.
Cita:
# iptables -F
# iptables -t nat -F
# iptables -P INPUT ACCEPT

# iptables -P OUTPUT ACCEPT


# iptables -P FORWARD ACCEPT
Como los IPTABLES ahora quedaron limpiecitos, tenemos que enmascarar
nuestra red.
Cita:
# iptables t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
Para guardar los cambios de forma permanente, usamos:
Cita:
# service iptables save
Y para asegurarnos que los iptables arranquen:
Cita:
# service iptables on
Hasta vamos ok, pero para que un router sea un router, no solo debe
dar internet, sino que adems debe dar algunos servicios bsicos como
DHCP, asi es que instalemos el servicio.
Como super usuario, (root), hacemos la instalacin.
Cita:
# su contrasea:
# yum install -y dhcp
Para configurar nuestro servidor de DHCP, lo ms fcil es copiar el
archivo de ejemplo que est en la mquina.
Cita:
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp: sobreescribir <</etc/dhcpd.conf>>? (s/n) S
Lo ms fcil es simplemente dejar todo en DHCP, pero a veces (como
siempre), uno quiere que las mquinas de uno tengan una IP fija, as
es que, les propongo el siguiente cuadro de configuracin:
Cita:
# vim /etc/dhcpd.conf
Cita:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
# --- default gateway
option routers
192.168.10.1;
option subnet-mask
255.255.255.0;
option nis-domain
"haltech.cl";
option domain-name
"haltech.cl";
option domain-name-servers
192.168.10.1;
option time-offset
-18000;
# Eastern Standard Time
#
option ntp-servers
192.168.10.1;
#
option netbios-name-servers
192.168.10.1;
# --- Selects point-to-point node (default is hybrid). Don't change
this unless
# -- you understand Netbios very well
#
option netbios-node-type 2;
range dynamic-bootp 192.168.10.30 192.168.10.254;
default-lease-time 7200;
max-lease-time 43200;

# ESTO ES SI QUEREMOS QUE LAS IPs ESTN FIJAS. CAMBIEN EL NOMBRE DEL
HOST y LA MAC DEL ADAPTADOR
host hal {
hal-laptop-eth;
hardware ethernet hh:hh:hh:hh:hh:hh;
fixed-address 192.168.10.9;
}
host halwf {
hal-laptop-wifi;
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.10.10;
}
Despus de eso, debemos definir cuales son las interfaces a las que
les pasaremos DHCP, por lo que modificamos el archivo:
Cita:
# vim /etc/sysconfig/dhcpd
Cita:
# comand line option here
DHCPDARGS=eth1
Si tienen ms de una interfaz, como por ejemplo puede ser una tarjeta
de red inalambrica, para poder dar Wifi, la incluimos ah mismo, y
quedara ms menos as.
Cita:
DHCPDARGS=eth1 wlan0
Si hicieron todo ok, entonces podemos poner en marcha el servicio
Cita:
# service dhcpd restart
Y como sabemos todos (creo), el que diga que sube correctamente, no
significa que todo este correctamente configurado, asi es que
cachureamos en el archivo de bitcoras.
Cita:
# tail -100 /var/log/messages
Si todo esta ok, entonces queremos que el servicio suba
automticamente cada vez que reiniciamos la mquina, lo que se logra
usando el famoso:
Cita:
# chkconfig dhcpd on
Y tenemos ahora un router, que adems da DHCP.
VAMOS BIEN!
Ahora, para que la navegacin 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
Cita:
# yum -y install bind bind-utils bind-chroot caching-nameserver
Una vez instalado, tenemos que configurar nuestro servidor, para eso:
Cita:
# 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
Cita:
# rm named*
(le decimos que si a todo)
Y ahora creamos los enlaces simblicos que corresponden
Cita:
# 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.
Cita:
# vim /etc/named.conf
Debiera quedar mas menos asi:
Cita:
//
// 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 adems los permisos a la carpeta donde
funcionan los DNS
Cita:
# chmod 770 /var/named/
Y hechamos a andar nuestro servicio de DNS
Cita:
# service named restart
Y como siempre, revisamos la colita de mensajes para ver que todo este
ok, aunque nuestro servidor levante de manera correcta.
Cita:
# tail -100 /var/log/messages
Si todo esta ok, definimos que el servicio levante siempre que la
maquina se enciende
Cita:
# 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 increblemente los tiempos de respuesta de cada
requerimiento a las diferentes direcciones de Internet que queramos
ver.
Pero lo que hace la diferencia cuando tenemos ms 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 pgina y elementos
que pertenecen a una pgina, quedando guardados en dos niveles. Por un
lado, cuando los elementos son pequeos, quedan en la memoria RAM del
servidor, y cuando son ms 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
limitacin, el cache NO DEBE exceder los 20Gb (16 Gb se ha visto como
el ideal), a menos que el disco sea MUCHO ms rpido de lo que uno
compra normalmente.
Ahora, instalar squid, es fcil, configurarlo, es un poco aspero
para ser sincero.
Para facilitar la configuracin, les voy a dar las lneas minimas para
no sufrir ni padecer en el intento.

Cita:
# yum install -y squid
# vim /etc/squid/squid.conf
Para poder hacer esto en fcil, pongamos nmeros en las lneas y asi
solo modificaremos algunas de ellas. El comando en vi/vim para ver la
numeracin de las lneas es :set nu"
Las lneas pueden variar un par de nmeros, pero dan una buena
referencia de donde esta cada cosa
Cita:
632 # acl TURED src 192.168.10.0/24
Cita:
633 # http_access allow TURED
Cita:
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 navegacin no es por el puerto 80? :s
Cita:
1579 # cache_mem 384 MB
(SIN GUI recomiendo)
Cita:
1579 # cache_mem 320 MB
(CON GUI recomiendo)
aqui menciono que es la cantidad de memoria RAM asignada a cache de
navegacin. La recomendacin 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.
Cita:
1588 # maximum_object_size_in_memory 160 KB
Tamao maximo de un objeto cargado en la RAM
Cita:
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 nmero
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.
Cita:
1811 # minimum_object_size 140 KB
Cita:
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 ms 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 configuracin 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 dedicacin.

Windows Update
Con relacin a la optimizacion para para windows update, office
update, y con la obvia modificacion, casi cualquier otra aplicacin
como antivirus u aplicaciones que requieran actualizaciones, hay que
hacer las siguientes modificaciones.
(tomado literalmente de la seccin de informacin de Squid con
referencia al tema)
range_offset_limit. Usa -1 para descargar el archivo completo cuando
se solicite al servidor.
maximum_object_size. Por defecto este valor es pequeo. Necesita ser
mayor a 100Mb o ms para cumplir los requerimientos de IE.
quick_abort_min. Debe ser alterado para permitir que el archivo
completo se descargue cuando la aplicacin se desconecte. Algunas
versiones de Squid, permiten modificacin a gusto del
range_offset_limit, aunque algunas versiones presentan un
comportamiento errtico cuando el valor por defecto se altera.
O sea... debiera quedar mas menos asi...
Cita:
range_offset_limit -1
maximum_object_size 350 MB
quick_abort_min -1
UN TEMA NO MENOR . . .
aunque normalmente todos los servicios en Centos o cualquier otro
release basado en redhat bajan y suben usando el comando "restart",
NUNCA debes usarlo en SQUID.
El porque es simple, cuando haces restart, es un service [servicio]
stop seguido inmediatamente de un service [servicio] start.
En el caso de Squid, tienes dos caches funcionando, uno en la RAM, que
perders completamente al detener el servicio, y uno en disco, que
debiera permanecer. TU NO QUIERES perder el cache de la ram, por un
lado, y no estas seguro que luego de tu modificacin, Squid vuelva a
funcionar, dejando a tus clientes SIN SQUID, lo que es malo.
Para evitar eso, es recomendable usar el comando "RELOAD" en vez de
restart, que carga la nueva configuracion, sin detener el servicio. La
nomenclatura en entonces "service [servicio] reload", o
especificamente...
Cita:
service squid reload
Eleg un valor de 350Mb, considerando que muchas actualizaciones de
hecho hoy tienen pesos promedio de poco mas de 300Mb, considerando un
margen para futuras aplicaciones.
El tema es que para que se manejen correctamente las descargas y no
aparezcan popups de Squid, es necesario agregar las siguientes ACLs lo
antes posible de las lineas de configuracion... antes de las
denegaciones.
Considerando que estan predefinidas al menos una localnet
Cita:
acl windowsupdate dstdomain windowsupdate.microsoft.com
acl windowsupdate dstdomain .update.microsoft.com
acl windowsupdate dstdomain download.windowsupdate.com
acl windowsupdate dstdomain redir.metaservices.microsoft.com

acl windowsupdate dstdomain images.metaservices.microsoft.com


acl windowsupdate dstdomain c.microsoft.com
acl windowsupdate dstdomain www.download.windowsupdate.com
acl windowsupdate dstdomain wustat.windows.com
acl windowsupdate dstdomain crl.microsoft.com
acl windowsupdate dstdomain sls.microsoft.com
acl windowsupdate dstdomain productactivation.one.microsoft.com
acl windowsupdate dstdomain ntservicepack.microsoft.com
acl CONNECT method CONNECT
acl wuCONNECT dstdomain www.update.microsoft.com
acl wuCONNECT dstdomain sls.microsoft.com
http_access allow CONNECT wuCONNECT localnet
http_access allow windowsupdate localnet
En esta misma sentencia es que tienes que agregar las direcciones de
descarga de actualizaciones de los antivirus . . . y todo otro
software que necesite actualizacin, respetando esa nomenclatura.
Si tienes Squidguard, o cualquier otro software haciendo de filtro, es
posible que necesites agregar las siguientes lineas... (Prueba una por
una)
Cita:
...
http_access allow CONNECT wuCONNECT localnet
http_access allow CONNECT wuCONNECT localhost
http_access allow windowsupdate localnet
http_access allow windowsupdate localhost
Ojo con los service Pack, que a veces, es un poquito mas de 350Mb y
necesitan las modificaciones de range_offset_limit,
maximum_object_size, quick_abort_min, porque si no, puedes causar loop
de descarga de los servicepacks si los usuarios cancelan la descarga
con solo una fraccin de la descarga. Esto hace que Squid se maree y
siempre descargue el archivo, que en si es pesado.
VLANS
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
Cita:
# 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 configuracin del eth
del que queremos colgar la Vlan, y modificamos:
Cita:
# 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, quedara igual pero eth1.1 y as
Ejemplo Vlan eth1.1
Cita:
# 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:
Cita:
# 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/ifcfgvlan0"

Вам также может понравиться