sábado, 16 de junio de 2012

CentOS - Instalación y configuración básica de un servicio DHCP

Este es un ejemplo sencillo de como poder montar un servidor DHCP en CentOS. Para realizar esto, puede ocupar máquinas virtuales, así fue como lo hice yo, en una hice una instalación mínima de CentOS 6 y en otra máquina hice una instalación por defecto de Linux Mint Debian Edition (LMDE). CentOS actuará obviamente como servidor y LMDE actuará como cliente de dicho servicio. Como instalar los sistemas operativos me lo saltaré, ya que para el ejemplo, simplemente pueden darle a instalar por defecto y no entrar a particionar, ese no es el fin del tutorial.

La configuración de las máquinas virtuales es practicamente la que viene por defecto, a excepción las redes.

En el servidor (CentOS) debemos colocar 2 adaptadores, el primero como brigde o puente, y el adaptador dos, como red interna.

En el caso del cliente (LMDE) debemos configurar solo 1 adaptador, el cual debe ser red interna.

Esto se configura así, por que el servidor al tener su adaptador 1 como puente, recibe la conexión de la WAN, y con el adaptador 2, al estar en red interna, podemos controlar las demás máquinas virtuales para asignarles IP a través del servicio DHCP.

Una vez instalado CentOS, lo primero que debemos hacer es configurar nuestras interfaces de red. Si es que no aparecen es que deben estar down, por lo que generamos un up

# ifconfig ethX up
Donde X es el número de la interfaz, normalmente es eth0 y eth1. Luego de esto, configuramos dichas interfaces, dejaremos eth0 como dhcp y eth1 como static.

Para configurar eth0 debemos modificar con nuestro editor de texto favorito el fichero cfg-eth0
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:97:B0:FE
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
Nombre del dispositivo, lo dejamos tal cual.
Mac del dispositivo, lo dejamos tal cual.
le damos yes, es para que se levante con el sistema.
Le indicamos dhcp, para que tome el protocolo indicado.
Tipo de conexión.
Para ver que no inicia con ipv6
al indicar no, los usuarios no pueden controlar el dispositivo.

Para configurar eth1 debemos modificar con nuestro editor de texto favorito el fichero cfg-eth1
# nano /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 
HWADDR=08:00:27:66:68:5e
ONBOOT=yes
IPADDR=192.168.1.105
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
                Nombre del dispositivo, lo dejamos tal cual.
Mac del dispositivo, lo dejamos tal cual.
                Le damos yes, es para que se levante con el sistema.
                Indicamos la ip que queremos que tenga la interfaz.
                Antes lo dejamos en dhcp, ahora lo dejamos en none.
La máscara de red que queremos que tenga la interfaz.
Tipo de la conexión.
Para ver que no inicia con ipv6
Al indicar no, los usuarios no pueden controlar el dispositivo.
Indicar ip del gateway.
Estos son los DNS, aquí estoy indicando los de Google, pero tengo entendido que no

Ya configurado todo esto, reiniciamos el servicio.
# /etc/init.d/dhcpd restart
Ahora deben instalar el servicio dhcp. Si no saben como se llama, hacen un search.
# yum search dhcp
En mi caso, al hacer eso, me aparece lo siguiente:
dhcp-common.i686 : Common files used by ISC dhcp client and server
dhcp-devel.i686 : Development headers and libraries for interfacing to the DHCP server
sblim-cmpi-dhcp.i686 : SBLIM WBEM-SMT DHCP
sblim-cmpi-dhcp-devel.i686 : SBLIM WBEM-SMT DHCP - Header Development Files
sblim-cmpi-dhcp-test.i686 : SBLIM WBEM-SMT DHCP - Testcase Files
dhclient.i686 : Provides the dhclient ISC DHCP client daemon and dhclient-script
dhcp.i686 : Dynamic host configuration protocol software
dnsmasq.i686 : A lightweight DHCP/caching DNS server
Ya sabiendo el nombre, simplemente lo instalamos
# yum -y install dhcp
Al terminar de instalar DHCP, lo que primero debemos hacer es indicar que interfaz utilizará el servicio, para esto modificamos:
# nano /etc/sysconfig/dhcpd
y escribimos
DHCPDARGS=eth1
Así indicamos que eth1 será el encargado de entregar dhcp.

Ahora haremos un respaldo de nuestra configuración por defecto.
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.original
Así en caso que tengamos cualquier inconveniente, podemos volver a su estado. Ya con esto listo, lo mejor es copiar la configuración de ejemplo que nos brindan.
# cp cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
Nos preguntará si sobre-escribimos, a lo que respondemos que si. Deben tener en cuenta que en la parte de /dhcp-4.1.1/ puede cambiar, ya que los números corresponden a la versión instalada.

Una vez hecho todo esto, entramos a configurar DHCP, abrimos el fichero /etc/dhcp/dhcpd.conf con su editor favorito, en mi caso trabajaré con nano.
# nano /etc/dhcp/dhcpd.conf
Verán muchas configuraciones, pero como esté es un ejemplo sencillo, solo deben fijarse en dejar lo siguiente:
# dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.200 192.168.1.250;
        option routers 192.168.1.105;
        option domain-name-servers 8.8.8.8,8.8.4.4;
        option domain-name "ServerDeConexion";
        option broadcast-address 192.168.1.255;
        option subnet-mask 255.255.255.0;
}
host vmlmde{
hardware ethernet 08:00:27:e5:7e:e6;
              fixed-address 192.168.1.245;
}
  • Subnet es el segmento de red como nuestra interfaz es 192.168.1.105, el segmento es 192.168.1.0, y obviamente la máscara antes indicada
  • range: es el rango de ip que entregada, en este caso indicamos que de la 200 a la 250.
  • option routers: IP del router, en este caso, indicamos la del mismo servidor.
  • option domain-name-server: Servidores DNS, ocupe los de Google, para separar ocupar coma (,).
  • option domain-name: “nombre del servidor”
  • option broadcast-address: Dirección IP del broadcast.
  • Option subnet-mask: Dirección de la máscara de red.
Ya con esto deberiamos estar entregando dinámicamente IP's, aunque es muy buena opción que además de asignar una IP dinámica. Indiquemos que un equipo tenga una IP estática dentro del rango que indicamos, por ejemplo, si tenemos otra especie de servidor, vamos a querer que su ip no sea dinámica, es aquí donde actúa el siguiente bloque:
  • host: indicamos nombre de host, en este caso vmlmde
  • hardware ethernet: es la dirección mac que tiene el cliente.
  • Fixed-address: Es la ip que le asignaremos al cliente.
Ya con esto podemos estar corriendo un servidor DHCP básico. Les dejo un screenshot del Cliente para que vean que su IP concuerda con lo descrito anteriormente.



0 comentarios:

Publicar un comentario