You are on page 1of 7

ROUTER CentOS

CentOS (Comunnity enterprise Operating System) es un sistema operativo de
código libre, basado en el núcleo Red Hat, pero con código liberado.
CentOS es la alternativa gratuíta a Red Hat, y por ello, suele tener
bastante tirón para implementarlo como servidor en una pequeña o mediana
red. CentOS puede ser usado también como servidor LAMP, servidor de
correo, servidor DHCP, DNS, y un largo etcétera.
CentOS puede ser usado también 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 situación "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 también como firewall, filtrando las conexiones,
rechazando algunas y aceptando otros puertos, para así tener control
absoluto sobre las conexiones.
Configuración del servidor:


eth1

El servidor tiene para esta administración dos interfaces: eth0 y

eth0 para local.

eth1 para salida a Internet.


La configuración del firewall de la red se administrará mediante
iptables

El método para enrutar los paquetes será NAT.
Éste esquema se da en bastantes empresas a nivel pequeño y mediano. La
diferencia es que nosotros usaremos CentOS, mientras que en una empresa
es más probable usar un Windows Server (No tengo nada contra WS, pero
resulta más eficiente el uso de Linux para administración de servidores.
Más 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

255.30.20 172.0 { option routers 172.16. Establecer las políticas de filtrado (iptables) Sugerencia: Recomiendo usar CentOS en runlevel 3 (Línea de comandos).5/dhcpd. lo bajará a nuestro ordenador.8. Instalación del servidor DHCP y configuración del mismo. debido a que no tiene una configuración predefinida todavía. range dynamic-bootp 172. escribimos # yum install dhcp El ordenador buscará en los repositorios de CentOS el paquete solicitado.255. Como será un servidor único.8. 1. Nota: Todos los comandos deben ser ejecutados como Superuser (root). ignore client-updates.1. El paquete actual a fecha de hoy es dhcp-3. DNS el 8.255. Como ejemplo. Si lo ejecutamos con nano y vim. máscara de subred.16. En primer lugar.0. así como del rango de direcciones disponible.conf.16. introduciremos nuestro propio dhcpd. máscara de subred 255. puerta de enlace la 172.1.1.4.0.8. tenemos que tener fijada cuál va a ser nuestra política de administración de las direcciones IP. En primer lugar.1.16.el5_7. no usaremos política de alquiler de direcciones. Ganaremos rapidez en el servidor al omitir el entorno gráfico.1.255. vamos a usar la subred 172.0. nos saldrá que el archivo de configuración de muestra se encuentra en /usr/share/doc/dhcp3.16.conf.conf sin copiar el archivo de muestra.8.1. en la línea de comandos. option domain-name-servers 8. } . subnet 172. hay que descargar de los repositorios de CentOS el servidor DHCP.0 netmask 255. Para instalarlo. Una vez tenemos bajado el servidor DHCP. El archivo quedaría así: # /etc/dhcpd. puerta de enlace y servidor DNS.5-29.sample.8. La administración de direcciones IP va de la 20 a la 30. Para evitar posibles fallos y autorizaciones erróneas.255.255.1.1. vamos a proceder a configurarlo. lo configurará y lo intentará inicializar sin éxito.16. El archivo de configuración a editar se encuentra en /etc y se llama dhcpd.0.0.1. option subnet-mask 255. Una vez lo tenga.8.conf ddns-update-style none.

0  No requiere de gateway ni DNS. tendrán diferente rango de direcciones IP:  eth0: Deberá llevar la dirección que pusimos en option-routers. En su lugar.  Bloque de direcciones a usar:  Dirección IP: 172. 2.  eth1: A gusto del consumidor. ya que CentOS es nuestro servidor y puerta de enlace para la red local. Configurar las interfaces eth0 y eth1 Las interfaces eth0 y eth1. pero si necesita ser implementado como red fija. lo haremos más eficiente. Yo utilizaré un modelo DHCP. especificaré donde proceda. ya que usaremos CentOS solo para enrutar la red local y servir como filtro y eth1 se conectaría a un router ADSL.1  Máscara de subred: 255.1. En CentOS. Gracias por la ayuda) Si tenemos un equipo al que le queremos dar una IP fija. las configuraciones de las interfaces de red no se hacen por ifconfig de forma general. Comentario más abajo. añadimos la siguiente línea: host (nombre máquina abreviado) { option host-name (nombre máquina completo).Guardamos el archivo. por lo general. } El nombre abreviado o completo de máquina lo pueden poner como quieran. pero lo arreglamos enseguida. Ahora tenemos configurado correctamente todas las opciones que requería nuestro servidor. Seguimos sin poder ejecutar el servicio debido a que no hemos configurado la dirección IP del interfaz a usar. PD: Las dos primeras líneas (ddns-update-style y ignore client-updates) vienen a decir que no queremos actualizaciones dns e ignoraremos las peticiones de clientes queriendo renovar su dirección IP local. Hay dos modos: . hardware ethernet (dirección mac).16.255.255. fixed-address (dirección ip que le damos). Nota: la dirección IP que le demos debe estar en la subred o subredes del servidor DHCP que definan. (Corrección hecha por el usuario Juan Ortega.

y en las líneas que proceden escribir.1. escribimos: # service network restart Una vez realizamos la siguiente acción.1 NETMASK=255. se añadirá GATEWAY=(Dirección del gateway). en la misma consola. nameserver (dirección DNS) Una vez modificados los valores de los ficheros de configuración y del Setup. debemos reiniciar el servicio para que la configuración tenga efecto. donde x es el número de conexión Setup es una sencilla herramienta semigráfica que mediante un menú intuitivo nos permite configurar las interfaces fácilmente. Acto seguido. la dirección de las dos interfaces se cambiará a la que hayamos configurado en el Setup o los ifcfg. Se encuentran en /etc/sysconfig/network-scripts/ y su nombre es ifcfg-ethx.255.conf. Para ello. debemos cambiar el archivo de configuración ubicado en /etc/resolv. escribimos: # service dhcpd start .16. para así inicializar la red local. procederemos a iniciar el servicio dhcp. Se ejecuta poniendo en la línea de comandos # setup. La edición de los ficheros de configuración se puede realizar utilizando Vim o Nano. Para ello. el que más rabia os dé.0 Para el fichero eth1. El fichero de configuración será algo así para eth0: # (Controlador del adaptador de red) DEVICE=eth0 BOOTPROTO=none ONBOOT=yes HWADDR=(Dirección MAC del adaptador) IPADDR=172. Es más fácil de manejar.  Editando los archivos de configuración. Usando la Utilidad de configuración en modo texto (setup). Si queremos añadir un servidor DNS. algo tal que así: # (Controlador del adaptador de red) DEVICE=eth1 BOOTPROTO=dhcp ONBOOT=yes HWADDR=(Dirección MAC del adaptador) Si queremos especificar un gateway en cualquiera de los dos adaptadores.255.

Si no encuentras nada. existe un fichero en /var/log/messages que nos dirá lo que nos chirría de la configuración general de dhcp o cualquiera que estemos usando.  Establecer NAT como configuración de enrutamiento: Por sí solo. es posible que solo queramos que estén abiertos determinados puertos.ip_forward = 0 Editar el 0 por un 1.. tenemos que editar el fichero /etc/sysctl. se ejecuta con: # cat /var/log/messages 3. nos resulta un poco "inútil". debemos activar el IP Forward y establecer NAT para realizar un enrutamiento exitoso. escribimos: # iptables -F # iptables -t nat -F Estos dos primeros comandos son para limpiar las configuraciones.conf.0/24 -d 0/0 -j MASQUERADE Una vez realizado ésto. Enrutar los paquetes entre las dos conexiones (IP Forward y NAT) Hemos configurado las dos interfaces. o denegar el acceso a un usuario concreto.16. Si falla alguna cosa..ipv4. CentOS podrá enrutar los paquetes que le lleguen desde eth0 a eth1 y así.  Activar IP Forward: Para activarlo. 4. pero aunque hayamos configurado. permitir que pase información de un puerto. debido a que aún nos falta realizar el enrutamiento y el seguimiento de paquetes entre interfaces. Una vez todo está funcionando. Establecer las políticas de filtrado (iptables). y en la línea denominada net. dar acceso a Internet a la red local en DHCP que montamos anteriormente.PD: Si falla el inicio de dhcpd. en la consola. Para ello. Para ello. revisar este archivo es lo más conveniente. # iptables -t nat -A POSTROUTING -s 172.1. Reiniciar el servidor CentOS para que los cambios hagan efecto. el IP Forward no sirve de nada si no ejecutamos una excepción en iptables para añadir una "ruta" interna entre ambas interfaces y así poder enrutar. o algo mal puesto de nombre). . revisa los ficheros de configuración (generalmente es que falta un punto y coma. CentOS y su iptables (cortafuegos) nos podrán ayudar para establecer qué dejamos o no pasar a través de la red. Para ello.

y POSTROUTING para enviar a la ruta) # iptables -P INPUT ACCEPT # iptables -P FORWARD ACCEPT # iptables -t nat -P POSTROUTING ACCEPT Para aceptar las políticas de HTTP y HTTPS. FORWARD para enrutar.16.2 # iptables -A FORWARD -s 172.1. Para empezar.0/24 -p tcp --dport (puerto cualesquiera) -j DROP Para el acceso total a un equipo. restauraremos la última línea de cuando usamos NAT en el servidor: # iptables -t nat -A POSTROUTING -s 172.1. SSH)  A un equipo le daremos acceso total.0/24 -d 0/0 -j MASQUERADE Para que el servidor acepte y reenvíe paquetes.1.1.16.1. añadiremos la siguiente línea.1. 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.Lo primero de todo. # iptables -I INPUT -s 172. debemos aceptar las políticas de uso (INPUT para enviar paquetes.0/24 -p tcp --dport 443 -j ACCEPT Para aceptar el SSH. HTTP y HTTPS)  Permitiremos un puerto de conexión segura (22. Por ejemplo:  Permitiremos acceso a los puertos de Internet básicos (80 y 443.16.0/24 -p tcp --dport 22 -j ACCEPT Para rechazar los paquetes de un determinado número de puerto.16. añadiremos la siguiente línea: # iptables -A FORWARD -s 172.16.16.0/24 -p tcp --dport 80 -j ACCEPT # iptables -A FORWARD -s 172. pondré el 172. Como ejemplo.2 -j ACCEPT Para consultar todos los cambios hechos.1. antes de establecer filtros. Para eso. ejecutamos: . procederemos a disponer nuestra propia configuración.16. añadiremos la siguiente línea: # iptables -A INPUT -s 172. vamos a eliminar la configuración antigua del cortafuegos.

# iptables -L Para guardar la configuración. ejecutamos: # iptables-save .