30 sept 2015

Servidor DHCP en CentOS 7


CentOS es una distribución gratuita de Linux proveniente de RedHat y se emplea con frecuencia en el entorno empresarial. Por ello ha sido elegida en este artículo.

1. Configuramos la interfaz de red

Al arrancar el sistema, tecleamos su para entrar en modo root e introducimos la contraseña del superusuario.




a) Comprobamos el nombre de nuestra interfaz.

De manera predeterminada no tiene configuración alguna, por ello para poder utilizar los repositorios primero hay que configurar la conexión a internet.

Comprobamos el nombre de nuestra interfaz ejecutando ip a. Normalmente tendremos una loopback y otra ethernet, que se corresponden con la misma interfaz física. 


En mi caso la interfaz que necesitamos es la enp0s3.

El fichero de configuración de la interfaz se encuentra en /etc/sysconfig/network-scripts/ifcfg-enp0s3, donde enp0s3 es el nombre de vuestra interfaz. Ejecutamos vi /etc/sysconfig/network-scripts/ifcfg-enp0s3


Tenemos que cambiar el parametro ONBOOT a yes.


Iniciamos el servicio de red ejecutando service network start:


Es posible que haya que reiniciar la máquina mediante un reboot.
Mediante ip a comprobamos que nuestra interfaz ya tiene asignada una IP.



2. Actualizamos los repositorios e instalamos el servidor DHCP

Ejecutamos yum update y esperamos a que terminen de actualizarse los repositorios.


Ejecutamos yum install dhcp y confirmamos en caso necesario.


3. Asignamos una IP estática al servidor

Nuestra red va a ser una privada de clase A con la dirección de red 10.0.0.0 y máscara 255.0.0.0; Asignaremos 10.0.0.1 al servidor.
Vamos al fichero /etc/sysconfig/network-scripts/ifcfg-enp0s3 donde enp0s3 es el nombre de vuestra interfaz.

Indicamos en una nueva línea la dirección IP fija y su máscara correspondiente con IPADDR=ip y NETMASK=máscara. Además cambiaremos BOOTPROTO a none.


Salimos y guardamos cambios.

Ejecutamos ifdown enp0s3 && ifup enp0s3 para que coja la configuración y comprobamos que lo ha hecho correctamente con un ip a:


4. Configuramos el servidor

Abrimos /etc/sysconfig/dhcpd en modo administrador. Voy a emplear el editor de texto VI. La configuración es prácticamente la misma que en ISC DHCP que instalamos en Ubuntu Server.


Con los siguientes comandos iniciamos el servicio DHCP y hacemos que se inicie automáticamente en el arranque del sistema:


5. Prueba con Windows 7


Servidor DHCP en Windows Server 2008 R2


En este tutorial vamos a configurar un servidor DHCP en Windows Server 2008 R2. AQUÍ vimos la instalación y configuración de un servidor DHCP en Ubuntu Server. En este caso las configuraciones serán realizadas en modo gráfico.

1. Configuramos @IP estática

Configuramos una IPv4 estática a nuestro servidor, para evitarnos problemas en la instalación y funcionamiento del DHCP. Para ello pulsamos con el botón derecho en el icono de configuración de red y abrimos el Centro de redes y recursos compartidos.


Pulsamos en Cambiar la configuración del adaptador y abrimos las propiedades de nuestro adaptador.

Hacemos doble click sobre Protocolo de Internet versión 4 e introducimos la dirección IPv4 estática con su correspondiente subred. Aceptamos.



2. Agregamos el rol DHCP al servidor y configuramos

Iniciamos el Administrador del Servidor, que podemos hacer desde el panel de acceso rápido o, bien, mediante la búsqueda en el menú del inicio.


El el apartado de Roles pulsamos en Agregar roles.


Pasamos la primera ventana que nos aparece pulsando Siguiente. Elegimos el servidor DHCP en la siguiente ventana. En las siguientes 3 ventanas de configuración no cambiamos nada.


En Configuración DNS IPv4 especificamos el Dominio primario y la dirección IPv4 del servidor DNS preferido, que no lo utilizaremos, pero es un campo obligatorio, por tanto especificaremos la dirección IPv4 de nuestro servidor.



Sólo queda por configurar los intervalos de direcciones que se van a repartir por nuestro servidor. Para ello pulsamos Siguiente> y vamos a configurar un nuevo ámbito DHCP. Tendremos que especifical el nombre de la pool de direcciones (las que se van a repartir), el tipo de subred (cableada o wireless) y la máscara de subred.


De momento no vamos a tocar la configuración del IPv6, que veremos más adelante. Sólo vamos a especificar su dominio primario, ya que es exigido por el asistente. 




Nos aseguramos de que la configuración es la correcta, ya que al pulsar Instalar no habrá vuelta atrás. Y si habéis seguido mis pasos de instalación recibiréis un mensaje como este:



3. Prueba con elementaryOS

Para esta prueba empleare una VM con elementaryOS, que es una distribución de GNU/Linux.
Lo único que tenemos que hacer para realizar la prueba es poner la máquina en Red interna y, en caso necesario, resetear la interfaz ethernet. Para ello ejecutamos ifconfig eth0 down && ifconfig eth0 up. A continuación ejecutamos ifconfig y comprobamos si el servidor ha asignado la configuración IPv4 a la interfaz de forma correcta. En mi caso vemos que ha asignado la 192.168.2.2, con la máscara 255.255.255.0 que es la primera dirección en la pool configurada anteriormente.


4. ¿Cómo configurar el servidor para que reparta direcciones IP fijas a clientes con una determinada dirección MAC?

1. Para averiguar la dirección MAC del cliente que vamos a vincular la dirección IP reservada vamos a la terminal y ejecutamos ifconfig.


Abrimos el Administrador del servidor y vamos a la sección de Reservas en IPv4.


Click derecho sobre Reservas -> Reserva nueva. Especificamos los ajustes requeridos. La MAC se introduce sin ningún símbolo de separación.


Vamos de nuevo al cliente y comprobamos que ha recibido la dirección correcta.

4. Prueba con Windows 8.1

Iniciamos la máquina virtual y entramos en la línea de comandos. Ejecutamos ipconfig y, sin ningún ajuste previo, el sistema debería recibir la IP de nuestro servidor. Si no es así:
a) ipconfig /release && ipconfig /renew
b) Comprobaremos que la configuración IPv4 de nuestro adaptador está en automático
c) Nos aseguraremos de que la máquina virtual está en la red interna


Como podemos apreciar, la interfaz ha recibido correctamente la configuración del protocolo IPv4 a través de nuestro servidor DHCP.

5. ¿Qué ocurre si tenemos 2 servidores DHCP activos en una red?

Vamos a poner en marcha los 2 servidores configurados anteriormente y observaremos que ocurre. Pero primero modificamos las configuraciones de estos de manera que ya no repartan direcciones fijas a clientes por MAC.
Para ello en Windows 2008 desde el Administrador del servidor vamos a Roles en el Ámbito creado anteriormente eliminamos la reserva concedida.
En Ubuntu Server solamente haría falta eliminar el host especificado desde el fichero /etc/dhcp/dhcpd.conf
Voy a iniciar una máquina con Windows 7 para ver qué ocurre.
Podemos ver que de primeras el cliente coge la configuración del Windows 2008. ¿Por qué? Simple coincidencia, podría haber sido perfectamente la del Ubuntu Server. 


Para observar que eso es así, ejecutaremos un ipconfig /release && ipconfig /renew y veremos el resultado con el ipconfig. Si a la primera no sale, repetimos el procedimiento (otro ipconfig /release, ipconfig /renew).


29 sept 2015

Servidor DHCP en Ubuntu Server 14


1. ¿Qué es y para qué sirve un servidor DHCP?


DHCP viene de inglés Dynamic Host Configuration Protocol (protocolo de configuración dinámico de los host) y permite configurar las direcciones IP y sus correspondientes máscaras de manera automática, además de las puertas de enlace.


Por ejemplo, tenemos una empresa con 50 equipos y no tenemos tiempo ni deseo de configurar sus direcciones IP de manera manual. Para ello, se dedica a esta tarea un servidor DHCP que va a repartir esas direcciones a los clientes, de manera que en estos últimos no hará falta realizar ninguna configuración manual. Simplemente se tendría que poner la obtención automática de la dirección IP y de lo demás se encargaría el servidor.


En este tutorial vamos a ver la implantación de los servidores DHCP en entornos GNU/Linux.

2. Empezamos. Actualizamos los repositorios.



Partiremos del punto cuando ya tenemos instalado el Ubuntu Server en una máquina. Las pruebas de contexto serán realizadas en VirtualBox.
Para realizar las primeras configuraciones nos aseguramos de que tenemos configurada la red en modo NAT. 
Nos situamos en modo root para poder modificar los ficheros del sistema más en adelante:


Actualizamos los repositorios y las librerías del sistema para que el servidor que instalaremos a continuación pueda funcionar correctamente.

apt-get update
apt-get install dkms
apt-get install build-essential
reboot (reinicia la máquina) 

Si nos dan errores al ejecutar el primer comando nos aseguraremos de que la configuración de red de nuestra máquina es la correcta.

3. Instalamos el servidor.

Utilizaremos el ISC-DHCP-SERVER Atención! Es imprescindible poner la máquina virtual o real en módo sólo anfitrion o Red interna antes de proceder con la configuración del servidor (para evitar conflictos con los servidores DHCP legítimos).

Ejecutamos el comando apt-get install isc-dhcp-server para instalar el servidor DHCP.

Si nos salen errores de cabeceras nos aseguraremos de que en la máquina virtual tenemos configurada la red en modo NAT y la interfaz ethernet correspondiente coge la configuración IP via DHCP. Sería un error configurar la IP estática antes de instalar el ISC-DHCP-SERVER, ya que el sistema no sería capaz de resolver el nombre del dominio del repositorio.



4. Asignamos una @IP fija.

Para ello tendremos que configurar el fichero /etc/network/interfaces. Yo voy a emplear editor Nano para hacerlo. No olvidamos de ejecutar sudo su antes de editarlo o, bien, poner sudo delante del comando.




Configuramos el tipo de interfaz (static), la dirección IPv4 del servidor, dirección de red, máscara, dirección broadcast, y en caso de su necesidad, la puerta de enlace (yo no la voy a configurar).


Guardamos la configuración mediante Ctrl^X y después pulsamos Y para confirmar. Pulsamos intro para confirmar el nombre del fichero (no lo cambiamos!!!).

Nos aseguramos de que la dirección IPv4 se ha asignado correctamente en la interfaz. Para ello ejecutamos ifconfig. Si vemos que tenemos asignada una IP que no es la que especificamos ejecutamos ifdown INTERFAZ && ifup INTERFAZ (ej: ifdown eth0 && ifup eth0).



5. Procedemos con la configuración del servidor mediante el fichero /etc/dhcp/dhcpd.conf

Antes que nada realizamos una backup del archivo de configuración del servidor. Para ello ejecutamos: cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak


Procedemos con la configuración del archivo /etc/dhcp/dhcpd.conf. Para ello lo abrimos con un editor de texto e introducimos los siguientes parámetros: subnet (la red en la que vayamos a estar), range (el intervalo de direcciones que se van a repartir), option domain-name (nombre del dominio). Si es necesario, especificamos tambien la puerta de enlace repartida con el parametro option router. Guardamos los cambios y reiniciamos el servicio DHCP mediante /etc/init.d/isc-dhcp-server start. El contenido del archivo configurado quedaría de siguiente forma:



6. Pruebas.

Para realizar las pruebas de funcionamiento voy a emplear una máquina virtual con Windows 7 SP1 y otra con Ubuntu Desktop (14.04).

Prueba con cliente Windows 7

Para evitar conflictos con otros servidores DHCP ponemos tanto servidor como cliente en Red interna. De esta forma solo se van a poder comunicar entre ellos.
Tras arrancar el sistema entramos en la linea de comandos de Windows. Para ello pulsamos Win+R y tecleamos CMD.
Introducimos el comando ipconfig y contemplamos el resultado. En mi caso ha funcionado a la primera, he recibido la configuración IP de mi servidor. Pero si visualizáis una IP del rango 169.X.X.X significa que la IP ha sido brindada por el propio sistema operativo. Para renovarla ejecutamor primero ipconfig /release y a continuación ipconfig /renew. Si tras introducir estos comandos seguís viendo la 169.X.X.X significa que el cliente no reconoce vuestro serivodr DHCP. Habría que comprobar la configuración del servidor y reiniciar el servicio de reparto de direcciones.



Prueba con cliente GNU/Linux (Ubuntu Desktop)

Iniciamos nuestra máquina virtual con Ubuntu Desktop, ponemos la configuración de red en modo Red interna e iniciamos el intérprete de comandos.
Ejecutamos el comando ifconfig ó ifconfig INTERFAZ (ej: ifconfig eth0) para ver la configuración de nuestra interfaz de red. Como podemos ver, la dirección IP asignada es la 192.168.0.3 que viene a ser la seguiente después de 192.168.0.2, asignada a nuestra máquina con Windows 7.



Si no os recibe correctamente la configuración via DHCP aseguraros de que la red de la máquina está en modo de red interna. También podríamos comprobar la configuración del archivo /etc/network/interfaces en caso necesario, añadiéndole la línea iface eth0 inet dhcp, pero en principio no hace falta, de hecho en Ubuntu de escritorio ese fichero ni incluye la configuración de la eth0 de manera predeterminada, como vemos a continuación:




7. Configuramos el reparto de direcciones fijas a determinadas direcciones MAC

Para ello vamos al fichero de configuración de /etc/dhcp/dhcpd.conf y añadimos cada host de siguiente manera, especificando su nombre, dirección IP concedida y su dirección física. Además, está dirección tendrá que estar fuera de la pool de direcciones especificada anteriormente. En mi caso fuera de 192.168.0.2-192.168.0.100
Si necesitamos que el servidor reparta más de una IP fija, repetimos el procedimiento.


Para averiguar la dirección física (MAC) del adaptador de red en sistemas Windows ejecutamos ipconfig /all en la línea de comandos. En entornos GNU/Linux ejecutaremos el comando ifconfig.
Vamos a la línea de comandos de nuestro cliente y tecleamos ipconfig. Nos aseguramos de que ha recibido una dirección IPv4 que especificamos en /etc/dhcp/dhcpd.conf del servidor.









¡Bienvenid@s a mi trocito de Internet!

Muy buenas tardes a todos y todas visitantes de este blog. Lo estoy empezando a llevar ahora que he empezado el 2º curso de ASIR (Administración de Sistemas Informáticos en Red) y voy a almacenar aquí todos los tutoriales elaborados por mi, exigidos en clase, además de otras cosas que me parezcan curiosas e interesantes, sobre la informática y ciberseguridad. 
Hecho con pasión por un informático y para informátic@s.

Espero que os guste y lo intentaré hacer lo mejor posible!