Tutoriales

10. Servidor SSH y Acceso remoto VCN

Introducción

El centro educativo donde trabajo, me han pedido que nuestro servidor pueda acceder a los clientes mediante ssh y que tengan una programa para acceder remotamente compartiendo el escritorio (VCN).

El instituto me ha pedido como requisitos, que el servicio ssh actúe en el puerto 2222 y que el administrador use las clave públicas para acceder a los clientes.

SSH

Primero que todo debemos de instalar el servicio tanto en el servidor como en los clientes:

apt-get install ssh

Luego debemos de crear dos claves en el servidor: una pública y otra privada:

ssh-keygen -t rsa

Una vez creada las dos claves, tendremos que pasar la pública al cliente con el siguiente comando:

Una vez mandada la clave debemos de ejecutar los siguientes comandos:

Por último debemos de cambiar la configuración del fichero de configuración del cliente en /etc/ssh/sshd_config:

Hacemos en el cliente un:

systemctl restart ssh

Por último cambiamos el mismo fichero de configuración pero esta vez en el server para decirle a nuestro servicio ssh que se ejecute en el puerto 2222:

Ahora solo queda conectarnos al cliente:

VNC

El cliente al que accederemos remotamente será un ubuntus 13, primero de todo es habilitar y dar permiso para que las demás máquinas puedan controlar remotamente el escritorio:

Una vez hecho esto solo nos queda instalarnos el programa VNC tanto en la máquina Linux como en la Windows:

Instalamos el paquete.deb que hemos descargado de la página oficial

Ejecutamos el programa:

Ponemos ip del cliente y continuamos

Esta ventana aparecerá en el ubuntu 13, pulsamos en permitir.

Ya estaríamos conectado remotamente desde un linux al ubuntus 13.

Ahora solo nos queda hacerlo en windows, para ello nos descargamos el instalador de vnc para windows , lo ejecutamos y lo instalamos.

Luego lo ejecutamos

Ponemos ip del ubuntu 13 y continuar

Conectados desde un Windows a un ubuntus 13

9. Servidor FTP en Linux

0 Introducción

Si has entrado aquí es porque quieres montar un servidor ftp en una máquina en Linux. En mi caso, soy administrador de un instituto y me han pedido que haga un servidor FTP para que cada alumno pueda subir sus páginas web en sus carpetas ftp.

1 ¿Que es un servidor ftp?

Un servidor ftp no es más que un protocolo que nos ofrece traspasar ficheros de una máquin servidora a una cliente y viceversa desde la red, esto es muy práctico para el hosting de páginas web.

2 Instalación

Para instalar el servicio ftp tenemos que ejecutar el siguiente comando:

apt-get install proftpd

3 Configuración DNS

Para que resuelva nuestro ftp mediante un nombre de dominio tenemos que configurar nuestro fichero db.oxford.local (en mi caso).

nano /var/cache/bind/db.oxford.local
Añadir ftp

Reiniciamos el servicio DNS

systemctl restart bind9

4 Montar escenario

Primero que todo tenemos que crear una carpeta en la raiz la cual contenga la carpeta de todos nuestros usuarios (en mi caso jose y maria).

Luego creamos los usuarios jose y maria:

Por último cambiamos los propietarios de las carpetas jose y maria:

chown jose:nogroup /public_html/jose
chown maria:nogroup /public/_html/maria

5 Configurar proftpd

Primero configuraremos el usuario anónimo para que solo pueda acceder a /srv/doc
Para ello configuraremos el fichero /etc/proftpd/proftpd.conf:

Descomentamos las líneas que salen descomentadas en la captura

Luego para decirle a nuestros usuarios que deben de entrar en la carpeta /public_html/(nombre usuario) tenemos que buscar en el mismo fichero de configuración una línea comentada DefaultRoot ~

Una vez encontrada tenemos que añadir abajo lo siguiente:

Guardamos cambios y reiniciamos el servicio:

systemctl restart proftpd

6 Comprobación Filezilla

Anónimo:

usuarios:

8. SERVIDOR DE CORREO POP3/IMAP EN LINUX

1 Introducción

El director de el instituto donde trabajo me ha pedido que monte un servidor de correos para que los alumnos y profesores se puedan comunicar mediante correo electrónicos. Como siempre haré la prueba en una VirtualBox para luego efectuar los pasos en real cuando estemos preparados.

2 Ventajas

  • No hay necesidad de viajar a internet para enviar correos electrónicos.
  • Mejora nuestra red local ya que desahogamos la puerta de enlace
  • Tener controlados a los usuarios de la red.
  • Mensajes alamcenados en nuestra propia red local.
  • Una vez un usuario se dé de baja, los mensajes no podrán salir de nuestra empresa, ya que desactivamos su cuenta.

3 Instalar postfix

Para poder tener un servidor de correo activo debemos de instalar postfix y otras utilidades (bsd-mailx y mailutils):

apt-get install postfix
apt-get install bsd-mailx
apt-get install mailutils

Seguir instalando postfix:

Una vez instalado postfix, agregaremos dos usuarios para hacer la prueba de que funciona correctamente todo:

adduser rosa
adduser raul

Actualizamos servicio:

systemctl restart postfix

4 Comprobación postfix en local

Enviamos un correo de con el usuario rosa a raul, luego comprobamos si a raul le ha llegado el correo y por último miramos el log en /var/log/mail.log.

5 Configuración servicio DNS

Para que nuestros clientes resuelvan nuestros servicios pop3 y smtp configurando el fichero /var/cache/bind/db.oxford.local y añadimos las siguientes líneas:

Reiniciamos el servicio:

systemctl restart bind9

6 Instalación y configuración POP3

El pop3 es un protocolo que nos ofece la posibilidad de que los clientes se puedan descargar sus mensajes de correo electrónicos (tanto los enviados como los recibidos) del servidor de manera remota.

Para instalar pop3 debemos de ejecutar el siguiente comando:

apt-get install dovecot-pop3d

Ahora configuraremos el servicio pop3 entrando y configurando /etc/postfix/main.cf

En la primera línea marcada en la captura debemos de añadir al final de la misma nuestra red y la máscara que tengamos, en mi caso la 192.168.1.0/24

En el final del fichero añadimos las dos líneas que se muestra en la captura:

Para habilitar la autentificación por contraseña en claro debemos de editar el fichero /etc/dovecot/conf.d/10-auth.conf

Descomentamos la línea y sustituimos el «yes» por «no»

Por último indicamos cual va a ser la localización de la carpeta de nuestros buzones modificando el fichero /etc/dovecot/conf.d/10-mail.conf

Comentamos la línea de arriba y añadimos la de abajo como sale en la captura.

systemctl restart dovecot

7 Instalación y configuración de evolution en Linux

Evolutión es una herramienta de clientes de correo.

Para instalarla en Linux solo hace falta ejecutar:

apt-get install evolution

Ahora procederemos a configurar la cuenta de rosa en el evolution:

Nos pedirá permisos para poder utilizar el servicio de correos, aceptamos permanentemente:

Luego introducimos la contraseña de rosa y establecemos una nueva contraseña para cceder a los mensajes:

Por último nos metemos en la configuración de la cuenta creada y le ponemos que verfique si tiene correos nuevos que leer en un minuto:

8 Instalación y configuración de OperaMail en Windows

OperaMail es otra herramienta para clientes de correo electrónicos.

Para instalarlo tenemos que descargarnos el instalador en la página https://www.malavida.com/es/soft/opera-mail/#gref :

Ejecutamos el instalador:

Configuramos el opera:

9 Comprobación enviado de correos entre clientes

Enviaremos un correo a rosa desde raul:

Ahora probaremos a la inversa:

10 Instalación y configuración Imap

IMAP es un protocolo el cual permite que los clientes del correo electrónico puedan leer sus mensajes en líneas que se encuentran el nuestro servidor de correos electónico.

Para instalar imap solo tendremos que ejecututar el siguiente comando:

apt-get install dovecot-imapd

También instalaremos el webmail llamado roundcube:

apt-get install roundcube

Nos aparecerá una ventana, decimos que sí, y luego en aceptar.

Una vez instalado tenemos que configurar el fichero /etc/roundcube/config.inc.php y borrar el %u de la líneas marcada:

Para que podamos entrar al webmail, hay que crearle una entrada en el apache2 y en el dns, para ello primero copiaremos el fichero /etc/apache2/sites-availables/000-default.conf y lo pegaremos en la misma ruta pero con el nombre de roundcube.conf

cd /etc/apache2/sites-availables
cp 000-defaukt.conf roundcube.conf
nano roundcube.conf

Al nuevo fichero le modificamos las siguientes líneas:

Ahora solo queda dar de alta el nuevo sitio web, para ello nos vamos a /etc/apache2/sites-enabled y ejecutar los siguientes comandos:

cd /etc/apache2/sites-enabled
systemctl reload apache2
a2ensite roundcube.conf

Luego configuramos el fichero /var/cache/bind/db.oxford.local e introducimos la siguiente línea:

Reiniciamos los dos servicios (Apache y Bind)

systemctl restart apache2
systemctl restart bind9

11 Login de los clientes en el webmail

Accedemos desde correo.oxford.local

Una vez logueado debemos de cambiar el nombre de los clientes como se muestra en las capturas:

12 Comprobación

Primero enviaremos un correo a rosa desde raul:

Por último lo haremos a la inversa:

7. Instalación y configuración DNS (Linux)

1 Introducción

En esta entrada vamos a instalar y configurar el servicio DNS, en una máquina servidora Linux, estos procedimientos lo llevaremos a cabo en máquinas virtuales, pero obviamente lo haremos después en el instituto donde trabajo donde tendré que instalar el DNS en real.

2 ¿Que es un servidor DNS?

Un servidor DNS es el que se encarga de resolver las ips de las máquinas que especifiquemos en nuestro fichero de configuración por nombres de dominios, con esto no ahorramos de aprendernos todas las ips y poder navegar a través de resolución de nombres (URL).

Los servidores DNS de internet se reparten las resoluciones de dominios de forma jerárquica como se muestra en la siguiente foto:

3 ¿Para que sirve tener un DNS local en nuestra red?

Montar un servidor DNS en local tiene ventajas considerables sobre todo en la velocidad que se le añade a la red local.

Solo con el simple hecho de que nuestro servidor DNS va a guardar en caché todas las resoluciones hechas recientes, nos da un incremento en velocidad. Además podemos registrar nuestra páginas web en local y no tenemos que salir al exterior para resolver esos dominios ni los que están en caché.

4. Instalación

Procederemos a instalar el servicio con el siguiente comando:

apt-get install bind9

Ahora tenemos que copiar el archivo /etc/bind/db.empty a /var/cache/bind/db.»Nombre» Habrá que hacer el procedimiento 2 veces, una para la zona normal y otra para la inversa:

cp /etc/bind/db.empty /var/cache/bind/db.oxford.local
cp /etc/bind/db.empty /var/cache/bind/db.192.168.1

5 Configuración DNS

Luego procederemos a configurar el fichero /etc/bind/named.conf.local

Fichero de zonas

En este fichero lo que hemos hecho es definir las dos zonas para resolver los nombres por ips y viceversa.

type master: Indicamos el tipo de servidor DNS que va a ser.

File db.»nombre»: Archivo de configuración de la zona.

Luego modificamos el archivo db.oxford.local (en mi caso).

Definimos la resolución de nombres

$ORIGIN oxford.local. : Creamos una variable que contiene oxford.local, para no tener que repetirlo en las siguientes líneas

Ymir IN A 192.168.1.1 : Creamos un registro A llamado Ymir.oxford.local en la ip 192.168.1.1. Al crear la variable anteriormente, solo tendremos que poner Ymir

www IN CNAME Ymir: Creamos un registro cname, con esto le diremos que hay un nombre de dominio que cuelga de Ymir llamado http://www.oxford.local el cual aloja una página web.

Ahora procederemos a configurar el fichero db.192.168.1

Zona inversa

1 IN PTR Ymir.oxford.local: Decimos que el dominio Ymir.oxford.local está registrado en la ip 192.168.1.1, solo tendremos que poner 1 ya que hemos creado una variable anteriormente.

Lo siguiente es configurar los reenviadores, para ello modificaremos el fichero /etc/bind/named.conf.options

Reenviadores

Descomentamos las líneas marcadas en la captura e introducimos la ip del servidor DNS al que queremos reenviar las peticiones que no pueda resolver nuestro DNS tal y como sale en la captura

Por último configuraremos el dhcp para que que le de como servidor DNS principal a los clientes la ip de nuestro servidor. Modificaremos /etc/dhcp/dhcpd.conf

Configuración dhcp

Reiniciamos los dos servicios :

systemctl restart bind9
systemctl restart isc-dhcp-server.service

6 Comprobaciones

Antes de comprobar si funciona, debemos de eliminar el contenido que introdujimos en las entradas anteriores de los ficheros hosts de nuestros clientes para comprobar la funcionalidad del DNS al 100%

6. Instalación Moodle (LAMP)

El instituto que administro, quiere instalar una moodle para hacer una página web del instituto. Como ya sabéis lo haremos primero en Virtual para probar si funciona.

¿Que es LAMP?

LAMP es una compilación de servicios que se conectan entre ellos para hacer una determinada tarea (Página Web relacionada con base de datos). Esta compilación de paquetes está compuesto por :

  • Apache2 (Server Web)
  • Php 7.3 (Lenguaje de programación)
  • Mariadb (Base de datos)

Cada uno tiene una función individual que en conjunto hacen la funcionalidad completa.
Apache se encarga de alojar la página web.
Mariadb se encarga de almacenar todos los datos importantes de la página web y relacionarlas entre ellas.
Php es el intermediario entre la base de datos y el código html, es decir traduce el código de base de datos en html para mostrarlo en el navegador.

Una vez tener todos estos conocimientos básicos acerca de LAMP procederemos a instalar cad uno de los servicios uno a uno con sus respectivos paquetes necesarios para la posterior instalación de Moodle.

Instalación Apache2

Primero de todo actualizamos repositorios

apt-get update

Ejecutamos el comando:

apt-get install apache2 

Una vez instalado debemos de comprobar si el servicio está funcionado correctamente:

systemctl status apache2 
systemctl restart apache2 

Instalación Mariadb

Ejecutamos el comando de instalación:

apt-get install mariadb-server
apt-get install mariadb-client

Comprobamos que el servicio funciona:

systemctl restart mariadb.service
systemctl status mariadb.service

Instalación PHP7.3

Ejecutamos el comando de instalación:

apt install php-mysql php-gd

Luego con el siguiente comando vamos a hacer una lista de los modulos que debemos de instalar :

apt-cache search php | egrep 'module' | grep default

La salida del comando es la siguiente:

Modulos a instalar para PHP

Ahora solo debemos de ejcutar:

apt-get install "paquete en cuestión"

Aquí os dejare la instalación de los paquetes más importantes a instalar:

apt-get install libapache2-mod-php7.3
apt-get install php-curl
apt-get install php-dev
apt-get install php-imap
apt-get install php-soap
apt-get install php-xml
apt-get install php-zip

Por último comprobamos si php funciona

para ello crearemos un info.php en /var/www/instituto donde añadiremos las siguientes líneas:

<?php phpinfo(); ?>

Desde el cliente buscamos en el navegador la http://www.oxford.local/info.php

Instalación de moodle

Para instalar la moodle debemos de descargarnos su instalador mediante el siguiente comando:

wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.tgz

(La descarga se guardará en el directorio donde estemos en el momento)

Ahora debemos de mover el tgz descargado a la carpeta /var/www, por último descomprimimos el archivo:

tar -xzf moodle-latest-38.tgz

Nos dejará una carpeta llamada moodle donde contiene el instalador el cual podremos acceder a él poniendo en el navegador del cliente nuestro dominio/moodle

Pero nosotros queremos acceder a la moodle desde informatica.dominio para ello debemos de seguir los siguientes pasos:

Creamos un nuevo .conf en /etc/apache2/sites-availables:

cp 000-default.conf moodle.conf


Luego modificamos el fichero y ponemos la siguiente configuración:

Con esto podremos acceder a la moodle desde informatica.oxford.local y tendremos un alias donde más tarde en la instalación de moodle guardaremos los datos.

Ahora crearemos la carpeta /srv/moodledatos y reiniciamos el servicio apache:

systemctl restart apache2

Para activar toda las configuraciones que hemos hecho, debemos de irnos a la capreta /etc/apache2/sites-enables y ejecutamos el siguiente comando:

systemctl reload apache2
a2ensite moodle.conf

Ahora procederemos a dar permiso al grupo www-data:

chown www-data:www-data /var/www/moodle/
sudo chown www-data:www-data /srv/moodledatos/

Procederemos ahora a crear una base de datos para ello vamos a acceder a mariadb:

mysql -u root -p

Creamos la base de datos:

create database moodle;

Creamos usuario :

create user adrianpg@localhost identified by 'contraseña';

Enlazamos el usuario con la base de datos:

grant all privileges on moodle.* to adrianpg@localhost;

Aplicamos cambios:

flush privileges;

Ahora solos nos queda acceder desde el cliente al instalador de la moodle desde el navegador, para ellos teclearemos informatica.oxford.local y nos aparecerá la página del instalador. (Hay que modificar el fichero hosts del cliente para que nos resuelva el nombre)

Para poder poner el lenguaje en español, antes de dar el siguiente paso debemos de descargarnos el paquete del lenguaje español con el siguiente comando:

wget https://download.moodle.org/download.php/langpack/3.8/es.zip

Una vez descargado el paquete, lo tenemos que mover a /var/www/moodle/lang y descomprimirlo .

unzip es.zip

Procedemos con la instalación:

Por último resolveremos los errores que nos salga al final de todo, en mi caso son instalaciones de modulo que faltan de php (nada grave).

Comprobación de que todo va bien

Comienza a instalar

Creamos el usuario de administrador de la moodle

Comprobación final de que la moodle está instalada

5. Autentificación en Apache

Una autentificación es un reglamento que configuramos en el fichero /etc/apache2/sites-availables/instituto.conf que nos permite especificar que usuarios del servidor podrá acceder a distintas zonas de la página web.

El director de mi centro me ha pedido que puedan acceder a sitio http://www.oxford.local/profesores todos los usuarios, sin embargo en http://www.oxford.local/equipodirectivo solo podrán acceder: director, jefes estudios y la secretaria.

Creación de usuarios

Para empezar vamos a crear los siguientes usuarios:

Para ello nos dirigimos a /etc/apache2 y ejecutamos el siguiente comando con cada usuario:

htpasswd -c password "profesor1" (Primer Usuario)
htpasswd password "profesor2" (Resto de usuario)
Ejemplo de htpasswd

La opción -c te crea el fichero password que hemos especificado.

Cat de el fichero password con todos los usuarios creados

Luego de haber creado el fichero debemos de crear la carpeta profesores y la carpeta equipodirectivo en /var/ww/instituto y ahí alojar las páginas correspondientes.

Configuración de apache

Ahora tenemos que configurar el fichero instituto.conf y añadir las siguientes líneas al fina del fichero:

<Directory /var/www/instituto/profesores/>
   AuthType basic
   AuthName "Página privada para profesores"
   AuthUserFile /etc/apache2/password
   Require valid-user
</Directory>

Añadimos estas otras líneas para el sitio web de equipodirectivo:

<Directory /var/www/instituto/equipodirectivo/>
  AuthType basic
  AuthName "Página privada para equipo directivo"
  AuthUserFile /etc/apache2/password
  Require user director jefe secretaria
</Directory>

Importante reiniciar el servicio apache

systemctl restart apache2
ComandoExplicación
DirectoryEspecifica la carpeta a la que se aplicará la autentificación
AuthTypeEspecifica el tipo de autentificación
AuthNameMensaje que le sale al usuario al intentar entrar al sitio web
Require Indicar que usuarios pueden entrar, en caso de añadirle valid-user, indicamos que todos los usuario pueden entrar
AuthUserFile Indicar de que fichero va a leer los usuarios nuestra página web. Solo los usuarios de ese fichero podrán entrar.

Comprobaciones

4. Servidor Web Linux

Un servidor web no es más que un servicio que proporciona un espacio donde alojar nuestras páginas web. Yo en mi caso tengo que instalar un servidor web en mi instituto, pero como ya sabéis aquí publicaré como hacerlo en máquinas virtuales de prueba.

Instalación de apache

Para instalar el servicio apache, debemos de teclear en la terminal el siguiente comando:

apt-get install apache2

Luego debemos de establecer un dominio, para ello debemos de modificar el fichero /etc/hosts: En mi caso «oxford.local«

nano /etc/hosts
Establecer dominio

Configuración de apache

Lo siguiente es alojar nuestra página web del instituto en la dirección /var/www/instituto.
(Creamos la carpeta instituto).

Una vez alojada la página web, debemos de dirigirnos a la carpeta «/etc/apache2/sites-available» y tenemos que copiar el archivo «000-default.conf» y crear un nuevo con la copia:

cp 000-default.conf instituto.conf

Ahora debemos de configurar el nuevo archivo que hemos creado:

nano instituto.conf

En el fichero debemos de especificar el nombre de dominio que usaremos para referirnos a la página web, y especificar la ruta donde se encuentra nuestra página web.

Ahora debemos de dirigirnos a la ruta /etc/apache2/sites-enable y ejecutamos el siguiente comando para activar nuestro sitio web:

a2ensite instituto.conf

Es posible que al ejecutar el comando nos pidan que hagamos un systemctl reload apache2 antes.

Una vez hecho configurado todo, debemos de reiniciar el servicio con:

systemctl restart apache2

Para que nuestro cliente pueda resolver la url por sí solo, debemos de configurar el archivo /etc/hosts del cliente:

En el cliente Windows el fichero hosts se encuentra en la ruta «C: Windows/system32/drivers/etc/»

Al fichero hosts de windows debemos de cambiarle los permisos dando click derecho –> propiedades –> seguirdad –> editar

Una vez hecho solo nos queda añadir la misma línea que en debian al fichero hosts.

Comprobación Index.html

Comprobación Linux
Comprobación Windows 7

Configuración de alias

Un alias es un enlace entre carpetas que permite ver documentos que no están en la carpeta original. Si no en la carpeta del alias.r

Ahora vamos a configurar un alias en nuestra página web:

Crearemos una carpeta llamada documentos en la carpeta instituto y lo enlazaremos con el alias /srv/doc

Creamos la estructura necesaria para crear el alias que hemos mencionado anteriormente.

Ahora la parte más importante es configurar el fichero /etc/apache2/sites-available/instituto.conf

Al final del fichero debemos de añadir las siguientes líneas:

<Directory /srv/doc>
   Options Indexes MultiViews 
   AllowOverride None 
   Require all granted 
</Directory>

Una vez añadida las línea oportunas, debemos de reiniciar el servicio:

systemctl restart apache2

Comprobación alias

Comprobación debian
Comprobación Windows

3.DHCP EN LINUX

Introducción

En esta entrada del blog aprenderemos a instalar y configurar el servicio DHCP el cuál proporcionará los siguiente parámetros de red a los clientes de nuestra red:

  • Rango 192.168.1.3 – 192.168.1.253
  • Máscara de red: 255.255.255.0
  • Puerta de enlace: Nuestro servidor
  • Nombre de dominio
  • DNS: 192.168.102.2 – 8.8.8.8

Antes de hacer estos pasos en el instituto donde tengo que hacerlo en real, lo haremos en la Virtual Box para probar.

Lo primero de todo es tener un dominio que identifique nuestro servidor. Por tanto tendremos que modificar el fichero «/etc/hosts» y añadir la línea que aparece marcada en la siguiente imagen.

nano /etc/hosts"

Una vez guardado el fichero, reiniciamos el equipo para que se actualice el nombre de dominio.

2. Instalación DHCP

Para instalar el servicio DHCP debemos de ejecutar el siguiente comando:

apt-get install isc-dhcp-server

Cuando instalemos el servicio DHCP , nos aparecerá unos errores, pero no hay de que preocuparse ya que son avisos sobre que el DHCP no está configurado.

Esto es lo que debería de salirnos al instalarlo por primera vez.

3. Configuración DHCP

Ahora pasaremos a la configuración del DHCP, empezaremos por ir al fichero «/etc/default/isc-dhcp-server» donde añadiremos nuestra interfaz de red que apunta a nuestra red local de esta manera:

nano /etc/default/isc-dhcp-server

Luego de modificar el fichero anterior debemos de modificar el más importante «/etc/dhcp/dhcpd.conf» y añadiremos las siguientes líneas:

"/etc/dhcp/dhcpd.conf"
Reiniciamos el servicio con systemctl restart isc-dhcp-server.service
ComandoExplicación
subnetIndica la red local
netmaskLimíta el número de equipo que se pueden conectar a nuestra red local.
rangeEspecifica el rango ips que va a ofrecer nuestro servicio DHCP a los clientes.
option-domain-name-serversIndica los servidores DNS que nuestro DHCP va a proporcionar nuesto DHCP a los clientes.
option-domain-nameNombre de dominio del servidor.
option broadcast-addressPara especificar la ip donde se va a enviar los mensajes de difusión
default-lease-timePara indicar el tiempo (en segundos) cuando el cliente va a pedir la renovación de su ip
max-lease-timePara indicar el tiempo máximo de concesión de ip (en segundos).

Ahora procederemos a hacer un reservado de ip a nuestra máquina cliente de Debian, para ello debemos de saber la MAC de la tarjeta de red de nuestra máquina cliente.

Volvemos a configurar el ficher «/etc/dhcp/dhcpd.conf«

nano /etc/dhcp/dhcpd.conf
Incluimos MAC del cliente una vez la sepamos
ComandoExplicación
hostNombre de la máquina cliente a la que le reservaremos la ip
hardware ethernet Indica la MAC de la tarjeta de red de nuestra máquina cliente
fixed-addressEspecifica la ip quel e vamos a reservar a la MAC establecida anteriormente

Reiniciamos el servicio

systemctl restart isc-dhcp-server.service

4. Comprobación

Ya hemos finalizado con el servidor, ahora hay que arrancar con los dos clientes para ver si realmente funciona. Recordemos que el debian debe de tener la ip 192.168.1.200.

2. DHCP (2 Ámbito)

En esta entrada del blog aprenderemos a como instaurar dos redes, ambas con internet mediante un solo servidor. Seguiremos el siguiente esquema:

Configuración Virtual Box

Antes de hacer estos pases en mi instituto de forma real, probaré en el Virtual Box, para ello necesitaremos un Servidor debian con 3 tarjetas de red: 1 adaptador puentes y 2 red interna. También necesitaremos dos clientes como mínimo.

Ahora entraremos en la configuración del servidor en Virtual Box.

Primero añadimos una tarjeta de red interna con la red llamada «red1» y otra tarjeta de red interna con el nombre «red2»

Configuración Nueva Interfaz (Red Interna)

Iniciamos la máquina servidora y configuramos el fichero /etc/network/interfaces y añadimos las siguientes líneas para configurar la nueva tarjeta de red que hemos instalado anteriormente.

Debo de añadir que la configuración que usaremos para la primera tarjeta de red interna, será la misma que hicimos en la entrada «NAT EN LINUX»

La primera imagen ilustra la configuración de la nueva tarjeta que hemos instalado en la máquina.

La segunda son las dos líneas necesarias para que la nueva tarjeta de red también haga nat y pueda ofrecerle internet a sus clientes

Una vez configurada la nueva interfaz de red interna, procederemos a instalar el servicio DHCP en caso de no tenerlo instalado.

apt-get install dhcp

Configuración DHCP

Para ello debemos de modificar el fichero /etc/default/isc-dhcp-server, donde añadiremos la nueva interfaz de red. la interfaz debemos añadirla entre las comillas después de INTERFACESv4= y espaciando entre interfaces.

Luego modificaremos el fichero /etc/dhcp/dhcpd.conf

Debemos de añadir las siguientes líneas para que nuestro servidor efectúe el servicio dhcp:

ComandoExplicación
subnet/netmaskEspecifica cual va a ser la red y cuantos equipos se pueden conectar a ella.
rangeLímita el rango de ips que va a ofrecer el servidor DHCP a los clientes.
option-domain-name-serversañade los servidores DNS
option-domain-nameañadir nombre de dominio.
Option routersEspecificar la puerta de enlace
option broadcast-addressEspecificar ip para mandar mensajes de difusión
default-lease-timeTiempo para renovar ip (En segundos)
max-lease-timeTiempo máximo de concesión de ip.

Una vez guardado el fichero de configuración, debemos de reinicar el servicio dhcp :

systemctl restart isc-dhcp-server.service

Comprobaciones.

Comprobaremos si los clientes tienen la ip correcta y si tienen internet:

1. NAT En Linux

Primero debemos de crear un entorno de al menos tres máquina, un servidor debian, un cliente debian con entorno gráfico y un Windows 7.

Una vez instalado los tres sistemas operativos virtuales, debemos de poner los adaptadores de red en el modo correspondiente en cada caso:

  • Server (Debian) –> Adaptador puente y otro adaptador red interna.
  • Cliente (Debian) –> Adaptador red interna.
  • Cliente (Windows) –> Adaptador red interna.

Configuración interfaz estática del servidor (Red Interna):

  • Dirección IP: 10.0.0.1
  • Mascara de red: 255.255.255.0
  • Broadcast: 10.0.0.255
  • Red: 10.0.0.0

Para configurar la interfaz de red debemos de dirigirnos a /etc/network/interfaces logueados como root cln el comando nano.

Una vez dentro debemos de añadir las siguientes líneas, guardar y reiniciar el servicio de la tarjeta de red:

Luego, debemos de abrir el fichero /etc/sysctl.conf con el comando nano, y modificamos el fichero buscando la línea «net.ipv4.ip_forward=1».

Configuración de enrrutamiento

Una vez descomentada la línea y haber guardado los cambio debemos abrir de nuevo el fichero /etc/network/interfaces en el cual debemos de agregar al final del fichero las siguientes líneas:

  • “up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE“
  • “down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE“

Estas líneas serán las que hagan que nuestro servidor pueda hacer nat y actuar como puerta de enlace en la red.

ComandoExplicación
iptableComando utilizado para acceder a las tablas ip
-tIndicar que la tabla iptable que queremos modificar es la del NAT
-A/-DAñadir o eliminar una norma, en nuestro caso POSTROUTING
-oSirve para especificar la tarjeta de red que sale a Internet, en mi caso la adaptador puente del Virtual Vox.
-sIndicar nuestra IP y máscara de red (/24)
-jIndicar que cambie nuestra ip (NAT)

Volvemos a reiniciar el servicio de la tarjeta de red con el comando /etc/init.d/networking restart.

Comprobación.

Primero de todo debemos configurar las tarjeta de red de las máquinas clientes para que estas estén en red con nuestro servidor, en debian lo haremos por terminal y en Windows por entorno gráfico.

Una vez puesta las máquinas en red, debemos de comprobar si nuestro propio servidor tiene acceso a internet y luego comprobar si comunica con nuestras máquinas clientes para ello efectuaremos el comando ping 8.8.8.8 (para saber si tenemos internet) y el comando ping «ip de máquina cliente» (para comprobar si estamos en red con nuestros clientes.)