Seguridad y Redes

Tips & Video Tutoriales, Wifislax, VMware, GNS3, VirtualBox, CCNA, Cisco Routers & Switches, [ Programming ]

Configuración de DHCP Server en FortiGate

El FortiGate puede actuar como un servidor DHCP para distribuir dirección IP a los hosts finales que ejecutan servicios de un cliente DHCP. Esta característica es importante si se tiene una pequeña sucursal que no posee un servidor DHCP dedicado.

Para habilitar el servicio de DHCP en el FortiGate se puede realizar desde la interfaz web en las opciones de System > Network > Interface. Para configurar este servicio desde el CLI.

Datos del servidor DHCP.

Interface: port3 (INSIDE)
Rango de direcciones IP: 192.168.23.50 - 192.168.23.100
Subnet: 255.255.255.0
Default Gateway: 192.168.23.1
DNS: Servicio de DNS por default
Nombre de Dominio: delfirosales.com

Configuracion de la interface Inside.
edit "port3"
    set vdom "root"
    set ip 192.168.23.1 255.255.255.0
    set allowaccess ping
    set type physical
    set alias "INSIDE"
    set snmp-index 3
next
Configuracion del DNS.
FortiGate-VM # show system dns 
config system dns
    set primary 8.8.8.8
    set secondary 8.8.4.4
    set domain "delfirosales.com"
    set source-ip 192.168.1.102
end
Configuración de DHCP Server desde CLI
FortiGate-VM # config system dhcp server 
FortiGate-VM (server) # edit 1
new entry '1' added
FortiGate-VM (1) # set auto-configuration disable 
FortiGate-VM (1) # set default-gateway 192.168.23.1
FortiGate-VM (1) # set dns-service default 
FortiGate-VM (1) # set interface port3
FortiGate-VM (1) # config ip-range 
FortiGate-VM (ip-range) # edit 1
new entry '1' added
FortiGate-VM (1) # set start-ip 192.168.23.50
FortiGate-VM (1) # set end-ip 192.168.23.100
FortiGate-VM (1) # next 
FortiGate-VM (ip-range) # end
FortiGate-VM (1) # set netmask 255.255.255.0
FortiGate-VM (1) # next 
FortiGate-VM (server) # end

FortiGate-VM # 
FortiGate-VM # show sys dhcp server 
config system dhcp server
    edit 1
        set auto-configuration disable
        set default-gateway 192.168.23.1
        set dns-service default
        set interface "port3"
            config ip-range
                edit 1
                    set end-ip 192.168.23.100
                    set start-ip 192.168.23.50
                next
            end
        set netmask 255.255.255.0
    next
end
FortiGate-VM # 
Verificacion del Servicio
root@labs:/home/delfi# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:AB:5C:A9:00  
          inet addr:192.168.23.50  Bcast:192.168.23.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:179 errors:0 dropped:0 overruns:0 frame:0
          TX packets:158 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:26721 (26.0 KiB)  TX bytes:50476 (49.2 KiB)

root@labs:/home/delfi# 

root@labs:/home/delfi# route -e
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.23.1    0.0.0.0         UG        0 0          0 eth0
127.0.0.1       *               255.255.255.255 UH        0 0          0 lo
192.168.23.0    *               255.255.255.0   U         0 0          0 eth0

root@labs:/home/delfi# ping www.google.com
PING www.google.com (173.194.115.176): 56 data bytes
64 bytes from 173.194.115.176: seq=0 ttl=57 time=134.307 ms
64 bytes from 173.194.115.176: seq=1 ttl=57 time=248.415 ms
64 bytes from 173.194.115.176: seq=2 ttl=57 time=166.495 ms
64 bytes from 173.194.115.176: seq=3 ttl=57 time=50.341 ms
64 bytes from 173.194.115.176: seq=4 ttl=57 time=283.354 ms
64 bytes from 173.194.115.176: seq=5 ttl=57 time=187.280 ms
64 bytes from 173.194.115.176: seq=6 ttl=57 time=69.864 ms
64 bytes from 173.194.115.176: seq=7 ttl=57 time=102.955 ms
64 bytes from 173.194.115.176: seq=8 ttl=57 time=107.317 ms
64 bytes from 173.194.115.176: seq=9 ttl=57 time=84.637 ms
64 bytes from 173.194.115.176: seq=10 ttl=57 time=142.454 ms


DHCP Relay en el Cisco ASA

Las comunicaciones DHCP se realizan por broadcast y los mensajes broadcast no pasan a través de los routers. Por consiguiente, tanto las peticiones DHCP como las respuestas de los servidores no producen ninguna acción fuera de la red local. La solución mas fácil consiste evidentemente en poner un servidor DHCP en cada segmento de la red donde sean necesarios. Sin embargo, si se desea utilizar solo un servidor para varias redes, existe una solución , los agentes DHCP relay.

Un DHCP relay recibe las solicitudes de los clientes en formato de broadcast y las reenvía como unicast a la dirección del servidor DHCP.

Los mensajes unicast pueden pasar por los routers, llegando la información a buen puerto. En seguida, el servidor DHCP responderá con un mensaje en modo unicast con el agente relay como destino y este, a su vez enviara un mensaje broadcast que recibirá el equipo cliente. El cliente DHCP no sabrá que esta tratando con un agente relay, si no que piensa que hay un servidor DHCP real en su segmento.

Habilitar la función DHCP relay en el Cisco ASA.

Identificar el servidor DHCP
ciscoasa(config)# dhcprelay server ip-address interface

Si se tiene más de un servidor DHCP, puede repetir este comando para definir hasta cuatro servidores diferentes. En este caso, las solicitudes DHCP se transmiten a cada uno de los servidores de forma simultánea.

Identificar los clientes DHCP
ciscoasa(config)# dhcprelay enable interface

La palabra clave setroute instala automáticamente una ruta por defecto en el dispositivo.
ciscoasa(config)# dhcprelay setroute interface


CiscoASA(config)# dhcprelay server 20.1.1.2 DMZ
CiscoASA(config)# dhcprelay enable inside
CiscoASA(config)# dhcprelay setroute inside

Configurar la interface inside de los host para obtener la dirección IP por DHCP.
R1(config)#interface fastEthernet0/0
R1(config-if)#ip address dhcp 
R1(config-if)#no shutdown 
R1(config-if)#end
Interface FastEthernet0/0 assigned DHCP address 192.168.1.2, mask 255.255.255.0
R1#
R1#show ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.1.2     YES DHCP   up                    up      
FastEthernet0/1            unassigned      YES unset  administratively down down   

Servidor DHCP en el Cisco ASA

El Cisco ASA puede actuar como un servidor DHCP para distribuir dirección IP a los hosts finales que ejecutan servicios de un cliente DHCP. Esta característica es importante si usted tiene una pequeña sucursal que no posee un servidor DHCP dedicado. 


Para configurar el servidor DHCP a través de ASDM, ir a Configuración > Device Management > DHCP > DHCP server y seleccione la interface en la que desea habilitar los servicios DHCP.



Para configurar un ASA como un servidor DHCP, desde la línea de comandos.

Configuramos la interface inside.
CiscoASA# configure terminal
CiscoASA(config)# interface gigabitEthernet0 
CiscoASA(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
CiscoASA(config-if)# ip address 192.168.1.1 255.255.255.0
CiscoASA(config-if)# no shutdown 

Definir el conjunto de direcciones IP y asignar el pool a los usuarios internos.
CiscoASA(config)# dhcpd address 192.168.1.10-192.168.1.30 inside

Habilitar el servicio de servidor DHCP en la interface
CiscoASA(config)# dhcpd enable inside

Definir el nombre de dominio para los clientes DHCP.
CiscoASA(config)# dhcpd domain delfirosales

Definir un servidor de nombres de dominio (DNS.
CiscoASA(config)# dhcpd dns 192.168.1.50

Tiempo de concesión en segundos. El valor predeterminado es de 3600 segundos (1 hora).
CiscoASA(config)# dhcpd lease 7200



Para comprobar la configuración de DHCP, podemos utilizar el comando show dhcpd state para mostrar el estado actual de DHCP en  las interfaces internas y externas. El comando show dhcpd binding para visualizar los enlaces actuales de los usuarios internos y el comando show dhcpd statistics para mostrar las estadísticas de DHCP.

CiscoASA# show dhcpd state    
Context  Configured as DHCP Server
Interface inside, Configured for DHCP SERVER

CiscoASA# show dhcpd binding
IP address       Client Identifier        Lease expiration        Type
   192.168.1.10  0063.6973.636f.2d63.           7020 seconds    Automatic
                 3830.302e.3037.3734.
                 2e30.3030.302d.4661.
                 302f.30


Para borrar los enlaces de DHCP o estadísticas, utilice el comando clear dhcpd binding o clear dhcpd statistics.

CiscoASA# clear dhcpd binding
CiscoASA# clear dhcpd statistics

Conexión de GNS3 a Internet

Para conectar nuestro emulador GNS3 hacia internet, debemos de tener una interface de bucle invertido (Loopback) y una interface física, en este ejemplo lo realice con la interface wireless de mi laptop. En el video se muestran los pasos de realizar la configuración.

GNS3 >> Nuestra PC >> ADSL Router >> Internet


Router - FastEthernet0/0   > 192.168.137.2 255.255.255.0
Interface Loopback            > 192.168.137.1 255.255.255.0
Interface Wireless             > 192.168.1.102 255.255.255.0   >>  Default Gateway 192.168.1.254
La dirección IP de la interface wireless fue asignado por DHCP del Router Huawei EchoLife HG520c que tiene Default Gateway la IP 192.168.1.254.

Iniciamos GNS3, configuramos la interface Loopback e iniciamos el Router. Enseguida le configuramos la IP al Router y verificamos la conectividad con la interface Loopback.

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip address 192.168.137.2 255.255.255.0
R1(config-if)#no shut
R1(config-if)#end
R1#ping 192.168.137.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.137.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/30/80 ms
R1#
R1#conf t
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.137.1
R1(config)#end
R1#ping 192.168.1.102
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.102, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/16/52 ms
R1#ping 192.168.1.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/30/96 ms
R1#ping www.google.com
Translating "www.google.com"
% Unrecognized host or address, or protocol not running.

R1#conf t
R1(config)#ip domain-lookup
R1(config)#ip name-server 192.168.1.254
R1(config)#do ping www.google.com

Translating "www.google.com"...domain server (192.168.1.254) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 74.125.227.146, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/135/208 ms

R1(config)#do ping www.google.com
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 74.125.227.146, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/108/180 ms

Video Conexión de GNS3 a Internet


Vídeo Online:
http://youtu.be/EFCiHjVNxns?hd=1

Este video muestra como configurar un Servidor DHCP en un Router Cisco. El laboratorio se realizo con el simulador GNS3, con una topologia basica utilizando un router como cliente y otro con el modulo NM-16ESW, una interface loopback y qemu host.

Vídeo Configuración del Servidor DHCP en un Router Cisco.
Video Online:
http://www.youtube.com/watch?v=wNa95REmJxc

Proceso de Conexión al Servidor DHCP

El protocolo DHCP es connectionless, lo que significa que utiliza el protocolo UDP (User Datagram Protocol) en la capa de transporte, tambien conocido como la capa de host-to-host. La siguiente figura muestra el proceso de Cliente/Servidor utilizando una conexión DHCP.

Mensajes DHCP para obtener una Dirección IP.
Un Host en la red para obtener una direccion IP mediante un servidor DHCP, lo que realiza es enviar un mensaje broadcast en capa 2 y capa 3. Un mensaje de tipo DHCP Discover para detectar servidores de DHCP en la red. La direccion broadcast de capa 2 son puros Fs en hexadecimal algo como esto  FF:FF:FF:FF:FF:FF. La direccion broadcast de capa 3 es la direccion 255.255.255.255, lo que significa que todas las redes y todos hosts.
Ethernet II, Src: c2:00:07:68:00:00 (c2:00:07:68:00:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
El cliente DHCP envia un mensaje DHCP Discover en busca de un servidor DHCP.
El servidor DHCP recibe el mensaje DHCP Discover, revisa si hay una ip disponible en su configuracion para ofrecerla, crea una tabla ARP que incluye la direccion MAC del host solicitante y la direccion IP a ofrecer, envía un mensaje de respuesta DHCP Offer. El mensaje DHCP Offer se envia como unicast mediante la dirección MAC del Servidor DHCP (R2) como direccion de origen y la direccion del cliente (R1) como destino.

El servidor envia la siguiente informacion al cliente (R2) que esta solicitando una direccion IP.
  • Direccion IP
  • Mascare de Subred
  • El tiempo para utilizar la direccion IP
  • La direccion IP del Servidor
  • El servidor DNS
  • Windows Internet Naming Service (WINS)
Esta informacion es lo mas comun que puede ofrecer un servidor DHCP.
Información del Servidor DHCP.
En resumen:
Paso 1. El cliente DHCP envia un mensaje DHCP Discover en busca de un servidor DHCP.
Paso 2. El servidor DHCP que recibio el mensaje DHCP Discover reponde con un mensaje Unicast DHCP Offer.
paso 3. El cliente entonces trasmite al servidor un mensaje DHCP Request para solicitar una direccion IP y posiblemente otra informacion.
Paso 4. El servidor DHCP finalazara el intercambio de informacion con un mensaje unicast DHCP Acknowledgment como confirmacion .

Configuración de un Router Cisco como un Servidor DHCP

  • Configuramos una IP a la interface del Servidor
  • Definimos el nombre del Servidor
  • Establecemos el rango de direcciones IPs de la red
  • Definimos la puerta de enlace
  • Define el servidor de nombres DNS
  • Establecemos la dirección(es) dentro del rango que no se debe de asignar
Topologia en GNS3
Servidor DHCP
Server_DHCP#conf t
Server_DHCP(config)#int f0/0
Server_DHCP(config-if)#ip add 192.168.1.1 255.255.255.0
Server_DHCP(config-if)#no shut
Server_DHCP(config-if)#exit
Server_DHCP(config)#ip dhcp pool delfirosales
Server_DHCP(dhcp-config)#network 192.168.1.0 255.255.255.0
Server_DHCP(dhcp-config)#default-route 192.168.1.1
Server_DHCP(dhcp-config)#dns-server 192.168.1.1
Server_DHCP(dhcp-config)#exit
Server_DHCP(config)#ip dhcp excluded-address 192.168.1.1
Configuración en SW, R1, R2
RX#conf t
RX(config)#int f0/0
RX(config-if)#no shut
RX(config-if)#ip address dhcp
RX(config-if)#

*Mar  1 00:00:51.203: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.1.3, mask 255.255.255.0, hostname R2

Qemu Host (Microcore) utiliza la utilidad udhcpc como cliente dhcp.
Para verificar que se esta ejecutando udhcpc, utilizar el siguiente comando.

ps | grep udhcpc

1649  root  /sbin/udhcpc -b -i eth0 -h box -p /var/run/udhcpc.eth0.pid
1663  root  greep udhcpc

Qemu Host (Microcore) automáticamente detecta la IP.
Por ultimo verificamos.
Server_DHCP#show ip dhcp binding      
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
               Hardware address/
               User name
192.168.1.2         0063.6973.636f.2d63.    Mar 02 2002 12:05 AM    Automatic
               3230.362e.3232.3134.
               2e30.3030.302d.4661.
               302f.30
192.168.1.3         0063.6973.636f.2d63.    Mar 02 2002 12:09 AM    Automatic
               3230.372e.3232.3134.
               2e30.3030.302d.4661.
               302f.30
192.168.1.4         0063.6973.636f.2d63.    Mar 02 2002 12:09 AM    Automatic
               3230.332e.3232.3134.
               2e30.3030.302d.566c.
               31
192.168.1.5         0100.aa00.fa9f.00       Mar 02 2002 12:12 AM    Automatic
Server_DHCP#show ip dhcp pool         

Pool delfirosales :
Utilization mark (high/low)    : 100 / 0
Subnet size (first/next)       : 0 / 0
Total addresses                : 254
Leased addresses               : 4
Pending event                  : none
1 subnet is currently in the pool :
Current index        IP address range                    Leased addresses
192.168.1.6          192.168.1.1      - 192.168.1.254     4
Server_DHCP#

Server_DHCP#show run

!
!
no ip dhcp use vrf connected
ip dhcp excluded-address 192.168.1.1
!
ip dhcp pool delfirosales
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
dns-server 192.168.1.1
!