Sunteți pe pagina 1din 7

ROUTER CentOS

CentOS (Comunnity enterprise Operating System) es un sistema operativo de


cdigo libre, basado en el ncleo Red Hat, pero con cdigo liberado.
CentOS es la alternativa gratuta a Red Hat, y por ello, suele tener
bastante tirn para implementarlo como servidor en una pequea o mediana
red. CentOS puede ser usado tambin como servidor LAMP, servidor de
correo, servidor DHCP, DNS, y un largo etctera.
CentOS puede ser usado tambin como un router, usando dos tarjetas de
red, una hacia la red de rea local y otra al exterior(Internet)
Para empezar esta entrada, nos centraremos primero en una situacin "de
la vida real":
Imaginemos que tenemos una red de rea local de por ejemplo tres o cuatro
ordenadores, todos conectados por un switch, y queremos usar un ordenador
ajeno a esos como servidor, para administrar a esos ordenadores
direcciones IP y servicios de red cualesquiera. El ordenador servidor se
usar como router, y tambin como firewall, filtrando las conexiones,
rechazando algunas y aceptando otros puertos, para as tener control
absoluto sobre las conexiones.
Configuracin del servidor:

eth1

El servidor tiene para esta administracin dos interfaces: eth0 y

eth0 para local.

eth1 para salida a Internet.

La configuracin del firewall de la red se administrar mediante


iptables

El mtodo para enrutar los paquetes ser NAT.


ste esquema se da en bastantes empresas a nivel pequeo y mediano. La
diferencia es que nosotros usaremos CentOS, mientras que en una empresa
es ms probable usar un Windows Server (No tengo nada contra WS, pero
resulta ms eficiente el uso de Linux para administracin de servidores.
Ms control)
Una vez planteado todo, lo iremos montando poco a poco.
El esquema a seguir ser el siguiente:

1.
Instalaremos un servidor DHCP y configuraremos las opciones
del mismo.
2.

Configurar las interfaces eth0 y eth1 para su funcionamiento.

3.
NAT)

Enrutar los paquetes entre las dos conexiones (IP Forward y

4.
Establecer las polticas de filtrado (iptables)
Sugerencia: Recomiendo usar CentOS en runlevel 3 (Lnea de comandos).
Ganaremos rapidez en el servidor al omitir el entorno grfico.
Nota: Todos los comandos deben ser ejecutados como Superuser (root).
1. Instalacin del servidor DHCP y configuracin del mismo.
En primer lugar, hay que descargar de los repositorios de CentOS el
servidor DHCP. El paquete actual a fecha de hoy es dhcp-3.0.5-29.el5_7.1.
Para instalarlo, en la lnea de comandos, escribimos
# yum install dhcp
El ordenador buscar en los repositorios de CentOS el paquete solicitado.
Una vez lo tenga, lo bajar a nuestro ordenador, lo configurar y lo
intentar inicializar sin xito, debido a que no tiene una configuracin
predefinida todava.
Una vez tenemos bajado el servidor DHCP, vamos a proceder a configurarlo.
En primer lugar, tenemos que tener fijada cul va a ser nuestra poltica
de administracin de las direcciones IP, as como del rango de
direcciones disponible, mscara de subred, puerta de enlace y servidor
DNS. Como ser un servidor nico, no usaremos poltica de alquiler de
direcciones.
El archivo de configuracin a editar se encuentra en /etc y se
llama dhcpd.conf. Si lo ejecutamos con nano y vim, nos saldr que el
archivo de configuracin de muestra se encuentra en /usr/share/doc/dhcp3.0.5/dhcpd.conf.sample. Para evitar posibles fallos y autorizaciones
errneas, introduciremos nuestro propio dhcpd.conf sin copiar el archivo
de muestra.
Como ejemplo, vamos a usar la subred 172.16.1.0, mscara de subred
255.255.255.0, puerta de enlace la 172.16.1.1, DNS el 8.8.8.8. La
administracin de direcciones IP va de la 20 a la 30.
El archivo quedara as:
# /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 172.16.1.0 netmask 255.255.255.0 {
option routers 172.16.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8;
range dynamic-bootp 172.16.1.20 172.16.1.30;
}

Guardamos el archivo. Ahora tenemos configurado correctamente todas las


opciones que requera nuestro servidor. Seguimos sin poder ejecutar el
servicio debido a que no hemos configurado la direccin IP del interfaz a
usar, pero lo arreglamos enseguida.
PD: Las dos primeras lneas (ddns-update-style y ignore client-updates)
vienen a decir que no queremos actualizaciones dns e ignoraremos las
peticiones de clientes queriendo renovar su direccin IP local.
(Correccin hecha por el usuario Juan Ortega. Comentario ms abajo.
Gracias por la ayuda)
Si tenemos un equipo al que le queremos dar una IP fija, aadimos la
siguiente lnea:
host (nombre mquina abreviado) {
option host-name (nombre mquina completo);
hardware ethernet (direccin mac);
fixed-address (direccin ip que le damos);
}
El nombre abreviado o completo de mquina lo pueden poner como quieran.
Nota: la direccin IP que le demos debe estar en la subred o subredes del
servidor DHCP que definan.
2. Configurar las interfaces eth0 y eth1
Las interfaces eth0 y eth1, por lo general, tendrn diferente rango de
direcciones IP:

eth0: Deber llevar la direccin que pusimos en option-routers, ya


que CentOS es nuestro servidor y puerta de enlace para la red local.

Bloque de direcciones a usar:

Direccin IP: 172.16.1.1

Mscara de subred: 255.255.255.0

No requiere de gateway ni DNS.

eth1: A gusto del consumidor. Yo utilizar un modelo DHCP, ya que


usaremos CentOS solo para enrutar la red local y servir como filtro y
eth1 se conectara a un router ADSL, pero si necesita ser implementado
como red fija, especificar donde proceda.
En CentOS, las configuraciones de las interfaces de red no se hacen por
ifconfig de forma general. En su lugar, lo haremos ms eficiente.
Hay dos modos:


Usando la Utilidad de configuracin en modo texto (setup). Se
ejecuta poniendo en la lnea de comandos # setup. Es ms fcil de
manejar.

Editando los archivos de configuracin. Se encuentran


en /etc/sysconfig/network-scripts/ y su nombre es ifcfg-ethx, donde x es
el nmero de conexin
Setup es una sencilla herramienta semigrfica que mediante un men
intuitivo nos permite configurar las interfaces fcilmente.
La edicin de los ficheros de configuracin se puede realizar utilizando
Vim o Nano, el que ms rabia os d.
El fichero de configuracin ser algo as para eth0:
# (Controlador del adaptador de red)
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=(Direccin MAC del adaptador)
IPADDR=172.16.1.1
NETMASK=255.255.255.0
Para el fichero eth1, algo tal que as:
# (Controlador del adaptador de red)
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
HWADDR=(Direccin MAC del adaptador)
Si queremos especificar un gateway en cualquiera de los dos adaptadores,
se aadir GATEWAY=(Direccin del gateway). Si queremos aadir un
servidor DNS, debemos cambiar el archivo de configuracin ubicado
en /etc/resolv.conf, y en las lneas que proceden escribir.
nameserver (direccin DNS)
Una vez modificados los valores de los ficheros de configuracin y del
Setup, debemos reiniciar el servicio para que la configuracin tenga
efecto. Para ello, escribimos:
# service network restart
Una vez realizamos la siguiente accin, la direccin de las dos
interfaces se cambiar a la que hayamos configurado en el Setup o los
ifcfg. Acto seguido, procederemos a iniciar el servicio dhcp, para as
inicializar la red local. Para ello, en la misma consola, escribimos:
# service dhcpd start

PD: Si falla el inicio de dhcpd, revisa los ficheros de


configuracin (generalmente es que falta un punto y coma, o algo mal
puesto de nombre). Si no encuentras nada, existe un fichero en
/var/log/messages que nos dir lo que nos chirra de la configuracin
general de dhcp o cualquiera que estemos usando. Si falla alguna cosa,
revisar este archivo es lo ms conveniente. se ejecuta con:
# cat /var/log/messages
3. Enrutar los paquetes entre las dos conexiones (IP Forward y NAT)
Hemos configurado las dos interfaces, pero aunque hayamos configurado,
nos resulta un poco "intil", debido a que an nos falta realizar el
enrutamiento y el seguimiento de paquetes entre interfaces. Para ello,
debemos activar el IP Forward y establecer NAT para realizar un
enrutamiento exitoso.

Activar IP Forward: Para activarlo, tenemos que editar el


fichero /etc/sysctl.conf, y en la lnea denominada
net.ipv4.ip_forward = 0
Editar el 0 por un 1. Reiniciar el servidor CentOS para que los cambios
hagan efecto.

Establecer NAT como configuracin de enrutamiento: Por s solo, el


IP Forward no sirve de nada si no ejecutamos una excepcin en iptables
para aadir una "ruta" interna entre ambas interfaces y as poder
enrutar.
Para ello, en la consola, escribimos:
# iptables -F
# iptables -t nat -F
Estos dos primeros comandos son para limpiar las configuraciones.
# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -d 0/0 -j MASQUERADE
Una vez realizado sto, CentOS podr enrutar los paquetes que le lleguen
desde eth0 a eth1 y as, dar acceso a Internet a la red local en DHCP que
montamos anteriormente.
4. Establecer las polticas de filtrado (iptables).
Una vez todo est funcionando, es posible que solo queramos que estn
abiertos determinados puertos, o denegar el acceso a un usuario concreto,
permitir que pase informacin de un puerto... Para ello, CentOS y su
iptables (cortafuegos) nos podrn ayudar para establecer qu dejamos o no
pasar a travs de la red.

Lo primero de todo, antes de establecer filtros, vamos a eliminar la


configuracin antigua del cortafuegos. Para eso, teclearemos los
siguientes comandos:
#
#
#
#

iptables
iptables
iptables
iptables

-F
-X
-Z
-t

(Borra todas las reglas de iptables)


(Igual que -F)
(Pone el contador de paquetes de iptables a cero)
nat -F (Borra la regla de enrutamiento NAT anterior)

Una vez tecleamos todos estos comandos, procederemos a disponer nuestra


propia configuracin. Por ejemplo:

Permitiremos acceso a los puertos de Internet bsicos (80 y 443,


HTTP y HTTPS)

Permitiremos un puerto de conexin segura (22, SSH)

A un equipo le daremos acceso total.


Para empezar, restauraremos la ltima lnea de cuando usamos NAT en el
servidor:
# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -d 0/0 -j MASQUERADE
Para que el servidor acepte y reenve paquetes, debemos aceptar las
polticas de uso (INPUT para enviar paquetes, FORWARD para enrutar, y
POSTROUTING para enviar a la ruta)
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -t nat -P POSTROUTING ACCEPT
Para aceptar las polticas de HTTP y HTTPS, aadiremos la siguiente
lnea:
# iptables -A FORWARD -s 172.16.1.0/24 -p tcp --dport 80 -j ACCEPT
# iptables -A FORWARD -s 172.16.1.0/24 -p tcp --dport 443 -j ACCEPT
Para aceptar el SSH, aadiremos la siguiente lnea:
# iptables -A INPUT -s 172.16.1.0/24 -p tcp --dport 22 -j ACCEPT
Para rechazar los paquetes de un determinado nmero de puerto.
# iptables -I INPUT -s 172.16.1.0/24 -p tcp --dport (puerto cualesquiera)
-j DROP
Para el acceso total a un equipo, aadiremos la siguiente lnea. Como
ejemplo, pondr el 172.16.1.2
# iptables -A FORWARD -s 172.16.1.2 -j ACCEPT
Para consultar todos los cambios hechos, ejecutamos:

# iptables -L
Para guardar la configuracin, ejecutamos:
# iptables-save

S-ar putea să vă placă și