11 septiembre 2012

DHCP BASICO

==DHCP== 

El DHCP (Dynamic Host Configuration Protoco) es un protocolo que permite la configuracion automatica del protocolo TCP/IP de todos los clientes de dicha red tipo plug and play.  Con tan solo conectar el equipo a la red este protocolo configura nuestra ip, mascara, gateway y dns de nuestra conexion LAN. Este tipo de servicio es muy util cuando tenemos una red razonable de mas de 20 equipos y necesitamos que se configuren automaticamente.


++PROTOCOLO DE INTERCAMBIO:

Cuando el cliente enciende el equipo este arranca un servicio cliente DHCP para buscar la configuracion de red mediante mensajes de difusion o broadcast. Esta comunicacion consiste en ocho (8) tipos d emensajes en el protocolo DHCP:

DHCPDISCOVER
: el cliente envia un mensaje dpara localizar a los servidores DHCP activos.
DHCPOFFER: El servidor responde al cliente con parmetros de configuracion conforme a la situacion del cliente.
DHCPREQUEST: Respuesta del cliente solicitando los parámetros ofertados, en caso de que el mensaje del servidor haya sido aceptado, rechazando la oferta, si el mensaje del servidor ha sido desestimado o confirmando la solicitud de una dirección IP obtenida anteriormente.
DHCPACK: mensaje de confirmacion y cierre desde el servidor hacia el cliente indicando los parametros definitivos.
DHCPNACK: Mensaje que informa desde el servidor al cliente de que la direccion IP que solicita no es valida para la subred en la que se encuentra o la direccion IP ya no la puede asignar porque esta asignada a otro equipo.
DHCPDECLINE: El cliente informa al servidor de que la direccion está en uso, normalmente porque otro usuario ha asignado esa direccion manualmente.
DHCPRELEASE: El cliente informa al servidor de que ha finalizado el uso de la dirección IP.
DHCPINFORM: El cliente consulta al servidor la configuracion local. El cliente ya esta configurado cuando envia este mensaje.



++METODOS DE ASIGNACION:

El protocolo DHCP incluye tres métodos de asignación de direcciones IP:
• Asignación manual: Asigna una dirección IP por MAC.  Solo los equipos registrados obtendran accesso a al red.  (parametros hardware ethernet con deny unknown-clients)
• Asignación automática: Asigna una direcciones IP dentro de un rango determinado y esta se asigna permanentemente al equipo,
• Asignación dinámica: el servidor dhcp reinicia las tarjetas de red cada cierto intervalo de tiempo y reasigna una nueva dirección IP a los equipos. (default-lease-time,y max-lease-time)


++EJEMPLOS:

*Asignacion Dinamica con Asignacion Manual*

DATOS:
eth0 172.16.100.94 /16
eth1: 192.168.1.1 255.255.255.0
rago en dhcp 192.168.1.101-150
nota: el serv con dhcp debe estar en el rango del las ips del dhcp


-revisamos si el servicio DHCP esta instalado
rpm -q dhcp

-si no lo esta procedemos a instalarlo
yum install -y dhcp

-copiamos el archivo de configuracion basica:

centos 5: cp /usr/share/doc/dhcp-3.0.5/dhcp.conf.sample /etc/dhcpd.conf
centos 6: cp /usr/share/doc/dhcp-3.0.5/dhcp.conf.sample /etc/dhcp/dhcpd.conf

-verificamos que este en la lista el servicio
chkconfig --list | grep dhcpd

-agregamos el servicio al inicio del sistema
chkconfig dhcpd on

-editamos el archivo para configurar:

centos 5: vi /etc/dhcpd.conf
centos 6: vi /etc/dhcp/dhcpd.conf


este es el contenido:
-----------------------------------------------------------------------
#se define el metodo de actualizacion DNS.
ddns-update-style interim;
#parametro que permite que las actualizaciones sean o no (allow o ignore) por peticion del cliente
ignore client-updates;
#las configuraciones son de rapida propagacion
authoritative;
#tiempo entre reasignacion.  tiempo es en segundos
default-lease-time 21600;
#parametro que indica el tiempo de vigencia de la direccion ip. tiempo en segundos
max-lease-time 43200;
#las peticoines DHCP no puede ser reenviadas. se usa cuando hay mas de una tarjeta de red en el serv.
option ip-forwarding off;

#segmento de subred sobre el cual se efectuara el servicio de DHCP
subnet 192.168.1.0 netmask 255.255.255.0 {

# ---   gatewat por defecto
#se especifica la ip del router y su mascara
        option routers                  192.168.1.1;
        option broadcast-address     192.168.1.255

#especificamos el nombre del dominio
        option domain-name              "dhcpserver.local";
#aqui se especifican las ubicaciones de los DNS
        option domain-name-servers      200.88.127.23, 196.3.81.132, 8.8.8.8;

        option time-offset              -18000; # Eastern Standard Time

#rango de asignacion de las direcciones
        range dynamic-bootp 192.168.1.100 192.168.0.150;
}


#Listado de direcciones fijas

#esta opcion es para assignar manualmente el ip sin tener que configurarlo en la maquina parametro para referirse al nombre del equipo. no tiene que ser igual que #el nombre del equipo.


host Winxp {
    option host-name "personal";
    #parametro de la mac address del equipo
    hardware ethernet 08:00:27:bf:e1:f1;
    #direccion estatica de la maquina
    fixed-address 192.168.1.66;
}


-----------------------------------------------------------------------

-indicamos por que interface se ofrecesar el servicio DHCP
vi /etc/sysconfig/dhcpd
 y agregamos:
DHCPDARGS=eth1 #interfaz de red que brindará servicio dhcp

-editamos este archivo y ponemos net.ipv4.ip_forward = 1
vi /etc/sysctl.conf

-guardamos los cambios
#sysctl -w

-iniciamos el sistema
service dhcpd start

-para ver cuales son los ips que se han liberado y estan activos
cat /var/lib/dhcpd/dhcpd.leases

-para ver si hay errores:
/var/log/messages



*Ejemplo Asignacion Dinamica*

---------------------------------------
# Si se tienen problemas con equipos con Windows Vista/7/8, omita el parámetro
# server-identifier. Ésto aunque rompe con el procolo DHCP, permite a los
# clientes Windows Vista/7/8 poder comunicarse con el servidor DHCP y acceptar
# la dirección IP propocionada.
# server-identifier 172.16.1.1;
ddns-update-style interim;
ignore client-updates;
authoritative;

shared-network redlocal {
    subnet 172.16.1.0 netmask 255.255.255.192 {
        option routers 172.16.1.1;
#        option subnet-mask 255.255.255.0;
        option broadcast-address 172.16.1.255;
        option domain-name-servers 172.16.1.1;
        range 172.16.1.2 172.16.1.58;
    }
---------------------------------------


*Ejemplo Asignacion Manual*
---------------------------------------
# Si se tienen problemas con equipos con Windows Vista/7/8, omita el parámetro
# server-identifier. Ésto aunque rompe con el procolo DHCP, permite a los
# clientes Windows Vista/7/8 poder comunicarse con el servidor DHCP y acceptar
# la dirección IP propocionada.
# server-identifier 172.16.1.1;
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding off;
option domain-name "red-local.net";
option ntp-servers 200.23.51.205, 132.248.81.29, 148.234.7.30;

shared-network redlocal {
    subnet 172.16.1.0 netmask 255.255.255.192 {
        option routers 172.16.1.1;
#        option subnet-mask 255.255.255.192;
        option broadcast-address 172.16.1.63;
        option domain-name-servers 172.16.1.1;
        option netbios-name-servers 172.16.1.1;
        range 172.16.1.2 172.16.1.58;
    }
# Lista de direcciones MAC que tendrán permitido utilizar el servidor
# DHCP.
# deny unknown-clients impide que equipos fuera de esta lista puedan
# utilizar el servicio.
        deny unknown-clients;
        host impresora {
            hardware ethernet 00:24:2B:65:54:84;
        }
        host pc1 {
            hardware ethernet 00:50:BF:27:1C:1C;
        }
        host pc2 {
            hardware ethernet F4:C7:14:70:FA:AC;
        }
        host laptop1 {
            hardware ethernet 44:87:FC:AA:DD:2D;
        }
        host laptop2 {
            hardware ethernet 70:F1:A1:9F:70:3B;
        }
}
#solo las mac que estan registradas pueden hacer uso del dhcp
---------------------------------------


Este documento es liberado por la licencia GPL, asi que compartanlo, modifiquenlo y compartan sus modificaciones para que siga creciendo.  Cualquier preguntas o comentario estoy por aca..