Hace algún tempo los amigos de itsfoss.com publicaron una entrada sobre las nuevas características de Debian 10 Buster, aquí una traducción libre de ese artículo, pero también agregué algunas cositas que me parecieron importantes.
El nombre
Los nombres de las versiones de Debian son tomados de la película Toy Story, siendo la actual la 9.0 «stretch, «Jessie» es la versión estable antigua («oldstable»), y la actual versión en pruebas («testing») se denomina «buster».
Debian 10 Buster está a punto de liberarse, de hecho el primer candidato de lanzamiento (first release candidate) ya fue liberado y podríamos ver el lanzamiento final, en unas cuantas semanas.
Fecha de liberación final
No existe una fecha de lanzamiento establecida para Debian 10 Buster. ¿Por qué? A diferencia de otras distribuciones, Debian no hace lanzamientos basados en el tiempo. En su lugar, se centra en la solución de errores críticos. Los errores críticos de la versión son errores que tienen problemas de seguridad u otros problemas críticos que impiden que Debian se libere.
Organización de los paquetes
Debian está organizado en tres grandes partes en su repositorio, llamadas Main, contrib y non-free. De los tres, los desarrolladores de Debian y los gerentes de versiones están más preocupados de que los paquetes que forman parte de la distribución base, es decir, lo que está en Main, debe ser estable. Así que se aseguran de que no haya ningún problema funcional o de seguridad importante. También se les da valores de prioridad tales como Esencial, Requerido, Importante, Estándar, Opcional y Extra.
Esto es necesario porque Debian se utiliza como servidor en muchos entornos diferentes y las personas dependen de Debian. También los administradores de servidores observan los ciclos de actualización, nadie quiere instalar algo inestable o que se se rompe al actualizar. Las versiones “testing” permiten informar a Debian si todavía hay problemas con algo. Este compromiso con la estabilidad es la razón por la cual muchos aman usar Debian.
Novedades en Debian 10 Buster
Nuevo tema y fondo de pantalla: Por aquí no tengo mucho que agregar, es algo que se puede cambiar y personalizar al gusto de cada quien, si lo quieren ver sin instalarlo puede ir directamente a https://wiki.debian.org/DebianArt/Themes/futurePrototype
GNOME 3.30: Algunos de los nuevos paquetes incluidos en esta versión de escritorio de GNOME son gnome-todo, tracker en lugar de tracker-gui, hay una instalación automática de códec para reproducir películas, entre otras cosas importantes. El gran movimiento ha sido mover todos los paquetes. de libgtk2 + a libgtk3 +.
Kernel de Linux 4.19.0-4: Debian utiliza las versiones del kernel LTS, para tener mejor soporte de hardware y un largo ciclo de mantenimiento y soporte de 5 años.
AppArmor habilitado por defecto: En Debian Buster AppArmor estará habilitado por defecto. Si bien esto es bueno, los administradores del sistema deberían tener cuidado de habilitar las políticas correctas.
NFtables reemplaza a iptables: Debian Buster viene con nftables como un reemplazo completo de iptables, lo que significa una sintaxis mejor y más sencilla, mejor soporte para los servidores de seguridad tanto para IPv4 como para IPv6.
Python 2 está muerto, viva Python 3: Python 2 quedará en desuso el 1 de enero de 2020 por python.org. Mientras que Debian tiene Python 2.7, los esfuerzos están para eliminar después de mover todos los paquetes a Python 3 para eliminarlo del repositorio. Esto puede suceder en la versión de Buster o en una versión futura, pero esto es inminente. Por lo tanto, se recomienda a los desarrolladores de Python que muevan su base de código para que sean compatibles con Python 3. En el momento de escribir, tanto el motor de Debian como Python2 y Python3 son compatibles.
Bash 5.0 por defecto: Probablemente esta nueva versión de Debian ya tenga las nuevas funciones de Bash 5.0
En conclusión
Mientras que miles de paquetes se han actualizado y es prácticamente imposible enumerarlos todos. Se han presentado algunos de los principales cambios al parecer de verdad viene una actualización mayor ¿Qué les parece?
En este paso a paso se explicará la manera de instalar WordPress en Debian 9. Para quienes no lo sepan WordPress es uno de los sistemas manejadores de contenido (CMS por sus siglas en inglés) más importantes en la actualidad. Se basa en PHP y MySQL, con toneladas de complementos que pueden ser utilizados de forma gratuita, aunque también se debe mencionar que muchos de esos complementos son de pago.
Para este paso a paso vamos asumir que usted…
Tiene un conocimiento básico de GNU/Linux
Sabe cómo utilizar el Shell o la consola de Linux
Dispone de una computadora con Linux (También puede ser una máquina virtual o un VPS)
Ha iniciado sesión como usuario administrado, super-usuario o simplemente como root.
Paso 0 – Actualizar el sistema
Antes de instalar cualquier software es importante asegurarse de que el sistema está debidamente actualizado.
apt-get update
apt-get upgrade
Paso 1 – Instalar un servidor LAMP
El servidor LAMP es un conjunto de servidores con las funciones más populares que debe tener un servidor de aplicaciones Web. Esto ya lo expliqué en otra entrada de este blog, ver los detalles aquí
Lo primero que hay que hacer es ir al sitio de WordPress y descargar la última versión estable, al momento de escribir este paso a paso, la versión más estable era la 5.5.1
Ojo – Los compañeros del equipo de wordpress, son tan amables que siempre ponen la última versión estable en el mismo enlace, se descarga con:
wget https://wordpress.org/latest.zip
Se descomprime con:
unzip -q latest.zip -d /var/www/html/
Luego poner todo en el lugar correcto
cd /var/www/html/wordpress
cp -a * ..
cd ..
rm -rf wordpress
Ajustar los permisos a directorio
chown www-data. -R /var/www/html/
Paso 3 – Configurar MariaDB para WordPress
Es necesario iniciar sesión en MariaDB y crear una base de datos para WordPress
mysql -u root –p
Una vez adentro hay que crear la base de datos
CREATE DATABASE wordpress character set utf8 collate utf8_bin;
Luego establecer los permisos
GRANT ALL PRIVILEGES on wordpress.* to 'wpuser'@'localhost' identified by 'Tu$Password!';
Luego decierle al servidor que aplique la configuración
FLUSH PRIVILEGES;
Finalmente salir
exit
Paso 4 – Configurar WordPress
En esta parte vamos a editar el archivo de configuración principal de WordPress, el cual se necesita para establecer los parámetros básicos para el usuario se pueda conectar a la base de datos.
Estar en el directorio correcto
cd /var/www/html
Vamos a eliminar el archivo index.html, porque lo que tiene es una web de prueba
rm index.html
Vamos a usar el archivo de configuración que trae de ejemplo
mv wp-config-sample.php wp-config.php
Se puede editar con el editor de su preferencia, yo voy a usar nano
nano wp-config.php
Aquí están los valores que necesitan ser establecidos
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wpuser');
/** MySQL database password */
define('DB_PASSWORD', 'Tu$Password!');
/** MySQL hostname */
define('DB_HOST', 'localhost');
Paso 5 – Iniciar la configuración de WordPress – vía web
Se puede comprobar que todo está bien accediendo a http://localhost
Paso 2 – Instalar MariaDB
MariaDB es un sistema de gestión de bases de datos derivado de MySQL. Es desarrollado por Michael (Monty) Widenius, fundador de MySQ, la fundación MariaDB y la comunidad de desarrolladores de software libre. Tiene una alta compatibilidad con MySQL ya que posee las mismas órdenes, interfaces, API y bibliotecas, siendo su objetivo poder cambiar un servidor por otro directamente.
apt-get install mariadb-server
Una vez completada la instalación
systemctl enable mariadb
systemctl restart mariadb
systemctl status mariadb
De manera predeterminada, MariaDB no viene asegurada, pero trae un script para asegurar la instalación. Hay que leer cuidadosamente, especialmente porque se le va a poner contraseña al usuario root, se van a eliminar usuarios anónimos y además se van a eliminar los datos de prueba, entre otras configuraciones importantes.
mysql_secure_installation
Configurar así:
- Change the root password? [Y/n] n
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
Para iniciar sesión en MariaDB es necesario usar el siguiente comando
mysql -u root -p
Paso 3 – Instalar PHP
De manera predeterminada Apache soporte HTML, pero no PHP, se necesita instalar PHP pero también el módulo para conectarse con MariaDB (MySQL)
apt-get install php php-mysql
Por si acaso es buena idea re-iniciar los servidores
File Transfer Protocol (FTP) o protocolo de transferencia de archivos (en español) es un protocolo TCP utilizado para descargar de archivos de internet (De un servidor a un cliente). En el pasado, también se utilizaba para subir archivos, pero el método utilizado es demasiado inseguro (no utiliza cifrado) y por lo tanto no se utiliza actualmente. Para subir archivos a un servidor de forma segura se pueden utilizar otras alternativas más seguras como scp, sftp, que vienen habilitadas cuando se instala el servidor SSH, el cual también se utiliza para la Administración Remota de todo tipo de servidores con GNU/Linux
FTP trabaja en un modelo cliente / servidor. El componente de servidor se denomina demonio FTP. Su trabajo es dar respuesta a las peticiones FTP de los clientes remotos.
Se puede acceder al servidor FTP de dos maneras:
Ftp Anónimo: En el modo Anónimo, los clientes remotos pueden acceder al servidor FTP mediante el uso de la cuenta de usuario por defecto llamado «anonymous» o «ftp» en este caso se utiliza como contraseña una cuenta de correo electrónico
Ftp Autenticado: En el modo autenticado el usuario debe tener una cuenta y una contraseña. Esta última opción es muy insegura y no debe utilizarse excepto en circunstancias especiales.
Modos de transferencia:
ascii: Es una horrible característica del protocolo pensada para hacer más eficiente la transferencia de archivos de texto. De forma predeterminada la mayoría de los clientes FTP lo rechazan.
binary: En una característica pensada para transferir cualquier tipo de archivos.
¿vsFTPd?
vsFTPd, (very secure FTP daemon), es un servidor FTP para sistemas tipo Unix, incluyendo Linux. Es licenciado bajo la GNU General Public License. Es compatible con IPv6 y SSL. vsftpd es el servidor FTP predeterminado en Debian, Ubuntu, CentOS, y otras distribuciones Linux.
El archivo de configuración vsftpd.conf se encuentra ubicado en /etc y es el único archivo utilizado para configurar el servidor vsFTPd.
Sintaxis del archivo de configuración
El formato del archivo es simple, cada línea o es una directiva, las líneas que inician con “#” se consideran comentarios, es decir no se toman en cuenta
Una directiva tiene el formato opción=valor, es importante evitar los espacios innecesarios
Las opciones pueden ser:
Booleanas: Su valor es YES|NO, ejemplo: listen_ipv6=NO
Numéricas: Su valor es un número, ejemplo: local_max_rate=7200
Cadena: Su valor es una palabra u oración, ejemplo: listen_address=192.168.10.1
De manera predeterminada la configuración es la siguiente:
Se permite a los usuarios locales
No hay acceso a usuarios anónimos
Los usuarios anónimos no pueden subir archivos
El servicio utiliza los puertos 20 y 21 para las solicitudes de inicio de sesión
Los datos se transfieren utilizando los puertos 30000 – 30100
Soporta «únicamente» 100 sesiones, pero se pueden configurar más de ser necesario.
Paso 1 – Instalación y configuración
apt-get install vsftpd
Realizar una copia de respaldo del archivo de configuración original:
cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Si la configuración predeterminada no es suficiente se puede modificar las opciones que más se adapten a sus necesidades, Se muestran las opciones más comunes.
Vamos a cambiar la configuración de la siguiente manera
No se permite acceso a los usuarios locales
Acceso a usuarios anónimos
Los usuarios anónimos no pueden subir archivos
El servicio utiliza los puertos 20 y 21 para las solicitudes de inicio de sesión
Los datos se transfieren utilizando los puertos 30000 – 30100
Editar el archivo de configuración
nano -c /etc/vsftpd.conf
modificamos las siguientes líneas
# Linea 25
anonymous_enable=YES
# Línea 28
local_enable=NO
# Línea 31
write_enable=NO
# Línea 40
anon_upload_enable=NO
# Línea 44
anon_mkdir_write_enable=NO
Paso 2 – Subir contenido
Los archivos del servidor FTP que se les muestra a los usuarios anónimos se guardan en /var/srv vamos a crear algunas carpetas ahí.
cd /srv/ftp/
mkdir Documentos Audio Videos Descargas Plantilla
Luego re-iniciamos el servicio
systemctl restart vsftpd
Paso 3 – Probar desde un cliente
Desde otra computadora, accedemos usando un navegador web (Internet Explorer, Mozilla Firefox o Google Chrome)
Ahora vamos a editar el orden en que el cliente DNS hace las consultas
nano /etc/host.conf
lo dejamos así:
order hosts,bind
multi on
Con esta configuración nos aseguramos de que el cliente DNS primero revise el archivo /etc/hosts antes de hacer la consulta al servidor DNS.
Ahora vamos a modificar el archivo /etc/hosts, vamos a establecer correctamente el nombre del host (es decir el nombre de la computadora que estamos configurando), en este caso vamos a utilizar el dominio hipotético debian.edu.ni.
Para parecer más inteligente (y presumir un poco) todo lo vamos a hacer en dos comandos
Los que se tomaron la molestia de hacer mis tutoriales de comandos básicos me entienden, son 8 tutoriales básicos, de verdad valen la pena, por cierto esto de agregar contenido a un archivo sin necesidad de usar un editor de texto se explica en el tercer tutorial, en caso de que quieran revisarlo.
Hacemos algunas pruebas para asegurarnos que todo está bien
hostname
hostname -s
hostname -f
hostname -A
La salida de estos comandos se ve así:
root@debian32:~# hostname
mail.debian.edu.ni
root@debian32:~# hostname -s
mail
root@debian32:~# hostname -f
debian.edu.ni
root@debian32:~# hostname -A
debian.edu.ni
root@debian32:~#
También conviene revisar los ajustes del DNS
Nos aseguramos que estamos usando el servidor DNS adecuado
nano /etc/resolv.conf
Ponemos a nuestro servidor como primer DNS
nameserver 192.168.10.10
nameserver 192.168.8.1
Ahora verificar que el registro MX (Mail eXchange) fue creado correctamente
El último archivo de configuración a editar es /etc/dovecot/conf.d/10-master.conf
nano -c /etc/dovecot/conf.d/10-master.conf
#Línea 96 y 97 quitar comentario,
#después agregar… user = postfix y group = postfix
#a la línea 100 también quitar comentario,
#todo el bloque queda así:
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
Después de hacer todos los cambios reiniciamos los servicios
systemctl restart dovecot
systemctl status dovecot
Paso 4 – Crear cuentas de usuario
En caso de que necesiten más información, la creación de usuarios paso a paso está bien explicada aquí, lo único que para recibir los correos necesitamos agregar el directorio Maildir en /etc/skel
mkdir /etc/skel/Maildir
Si ya había usuarios creados, se tendrá que crear este directorio manualmente en el directorio particular de cada usuario.
Creamos un usuario llamado juan
adduser juan
El procedimiento debe ser algo parecido a esto:
root@debian32:~# adduser juan
Añadiendo el usuario `juan' ...
Añadiendo el nuevo grupo `juan' (1001) ...
Añadiendo el nuevo usuario `juan' (1001) con grupo `juan' ...
Creando el directorio personal `/home/juan' ...
Copiando los ficheros desde `/etc/skel' ...
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente
Cambiando la información de usuario para juan
Introduzca el nuevo valor, o pulse INTRO para usar el valor predeterminado
Nombre completo []: Juan Matus
Número de habitación []:
Teléfono del trabajo []:
Teléfono de casa []:
Otro []:
¿Es correcta la información? [S/n] S
Ahora, agregar otro usuario llamado pedro
adduser pedro
podemos revisar si el directorio Maildir se creó en el directorio particular de pedro
ls /home/pedro/
La salida de este comando se ve así:
root@debian32:~# ls /home/pedro/
Maildir
root@debian32:~#
Lo cual es correcto, porque el directorio Maildir se ha creado y el usuario podrá recibir los correos
Como el servidor web ya está instalado, vamos a crear una carpeta virtual para instalar el webmail
cd /var/www/html/
ls
mkdir webmail
cd webmail
La salida de estos comandos debe ser algo similar a esto:
root@debian32:~# cd /var/www/html/
root@debian32:/var/www/html# ls
cgi-enabled index.html
root@debian32:/var/www/html# mkdir webmail
root@debian32:/var/www/html# cd webmail/
root@debian32:/var/www/html/webmail#
Ahora descargamos e instalamos el cliente Webmail, si no están en el directorio correcto no va a funcionar
Con el propósito de utilizar lenguaje inclusivo, pero con el ánimo de no usar lenguaje repetitivo he decidido rebautizar este blog. Desde hoy dejará de llamarse «Jugando a ser Ingeniero», a partir de hoy se llama:
«Jugando a ejercer la Ingeniería»
Puesto que tengo varios videos de YouTube que hacer referencia a la URL del sitio, decidí no cambiarla, todavía estamos en la versión 1.0 de este blog, aunque ya tenemos el canal de YouTube, todavía nos hace falta el dominio propio.
Aunque las estadísticas del sitio son a veces muy buenas, hay días que simplemente nadie lo lee. Esto también puede deberse a que aún hay mucho tráfico en el blog que está hospedado en los servidores de la UCA
Si las estadísticas mejoran y si encuentro a alguien que me patrocine el hosting y el dominio para primer año, podría se que en 2019 tengamos la versión 2.0
Aunque en los últimos meses he estado publicando cosas relacionadas con Linux, recuerden que estoy interesado en otros temas como: administración de servidores, seguridad informática, alfabetización tecnológica, gobernanza de Internet y otros temas de interés personal.
Después de habilitar CGI, los scripts CGI pueden ejecutarse en el directorio [/usr/lib/cgi-bin] de forma predeterminada. Si se coloca un script Perl, Ruby o Python en un archivo llamado [index.cgi] y que esté dentro de ese directorio, es posible ejecutarlo accediendo a la URL http: //localhost/cgi-bin/index.cgi desde los Clientes.
Podemos hacer la prueba con cualquiera de los tres lenguajes de programación, como los programadores no se ponen de acuerdo sobre cual es mejor y yo no quiero herir a nadie, entonces les dejo los tres ejemplos, ustedes escojan el que más les guste, igual no les voy a decir cuál fue el que yo utilicé, la cosa es que tenemos que crear el archivo con nano:
<Directory "/var/www/html/cgi-enabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl .rb .py
</Directory>
No se les olvide ...
Crear el directorio
root@tserver:~# mkdir /var/www/html/cgi-enabled
Habilitar la configuración
root@tserver:~# a2enconf cgi-enabled
Reiniciar el servidor web
root@tserver:~# systemctl restart apache2
Paso 5 – Scripts de prueba
Intenté ponerle los scripts aquí, pero WordPress se puso «chiva» (no permite este tipo de código por razones de seguridad) así que compartí los tres scripts aquí, en caso que se les quieran descargar, lo siento, solo puedo mostrarles las imágines
La Web es la parte gráfica de Internet, es un compendio de todo el conocimiento humano y está a un clic de distancia. No se puede negar que es uno de los inventos más maravillosos, pero que también tiene sus secretos, en estas líneas intentaré poner al alcance de todos uno de ellos, la configuración de un servidor web en Debian 9.5
Primero lo primero – algunas definiciones
WWW: World Wide Web, es un sistema de distribución de información basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces.
HTTP: Hypertext Transfer Protocol es el protocolo usado en cada transacción de la World Wide Web. HTTP es un estándar de internet fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. Lo que básicamente significa que un servidor Web puede implementarse en cualquier sistema operativo que soporte TCP/IP
HTTPS: Lo mismo que HTTP, pero con una capa adicional de seguridad
HTML: HyperText Markup Language (lenguaje de marcado de hipertexto), no es un lenguaje de programación, hace referencia al lenguaje de marcado predominante para la elaboración de páginas web que se utiliza para describir y traducir la estructura y la información en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML5 es la versión más reciente.
Ahora unas cuantas aclaraciones importantes
HTML no es un lenguaje de programación, es un lenguaje de marcado de hipertexto
Existen páginas web estáticas con HTML puro.
En la actualidad las páginas web ya no existen, ahora utilizamos sitios web dinámicos, utilizan lenguajes de programación como PHP, ASP, JSP y un largo etcétera, además se utiliza conexión a bases de datos pueden ser MySQL, MS-SQL, Oracle y otro largo etcétera.
HTTP es el protocolo que hace posible la transferencias de las páginas web del servidor al cliente
WWW no es el único servicio de Internet, es el espacio donde se almacenan los sitios web, otros servicios de Internet muy conocidos son el correo electrónico y la transferencia de archivos.
El Webmaster es el especialista en diseño y programación web, es la persona encargada de crear, administrar y eliminar las páginas web.
El administrador del servidor no necesariamente es el Webmaster
Apache el servidor Web más usado en GNU/Linux
Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), aunque también hay versiones para Microsoft Windows, Macintosh y otras. Su nombre se debe a que el equipo de desarrollo quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, por eso se inspiraron en la tribu Apache.
La configuración
Paso 1 – Instalar el software necesrio
Una vez que somos usuarios administradores instalamos el software necesario
root@debian1:~# apt-get install apache2
La configuración pre-determinada es tan buena que el servidor web ya está listo lo único que queda es utilizar Firefox o cualquier navegador y escribir en la barra de direcciones “localhost” el resultado debe ser algo similar a esto:
Si desea acceder al servidor web desde otra computadora puede escribir el número IP directamente por ejemplo: 192.168.10.10, si ya tiene configurado el DNS puede utilizar el nombre asignado al equipo.
Paso 2 – Configurando la página web
Es necesario ubicar la página web en el lugar correcto, en ubuntu ese lugar es promiamente /var/www/html
root@debian1:~# cd /var/www/html
root@debian1:/var/www/html# ls
index.html
root@debian1:/var/www/html#
Notarás que hay un archivo llamado index.html, actualmente tiene la página web de prueba, vamos a eliminarlo para crear nuestra propia página web
root@debian1:/var/www/html# rm index.html
ahora vamos a crear nuestra página web
root@debian1:/var/www/html# rm index.html
¡Aparece en en blanco! No hay problema, lo dejamos así:
<HTML>
<HEAD>
<TITLE>1er Sitio Web (de Prueba)</TITLE>
</HEAD>
<BODY >
<CENTER>
<H1> Mi Primera página Web </H1>
</CENTER>
<HR>
Página Web de prueba para comprobar que el servidor apache2 funciona.
<center>
<P> <A HREF="https://jugandoaseringeniero.wordpress.com/"> No olviden visitar el blog del Profe Carlos Leal </A>
</center>
</BODY>
</HTML>
El resultado (siempre en firefox) es:
Obviamente, la página web debe ser creada por un programador web o un Webmaster, en este caso, simplemente se copia la pagina web en /var/www/html
Archivos de configuración de Apache2
Si deseas hacer cambios en la configuración del servidor web, se necesita editar el archivo ubicado en /etc/apache2/sites-available/ cuyo nombre es 000-default.conf
Por favor no cambie nada si no está seguro de lo que está haciendo.
El DNS es sin lugar a dudas uno de los servicios más importantes en el mundo de internet. El DNS es por mucho el alma, nervio y músculo de internet. Es un sistema que permite usar nombres de dominio en lugar de direcciones IP. La verdad es que un ser humano promedio será incapaz de recordar todos los números IP de todos los servidores que utiliza, no obstante, le resulta sencillo recordar los nombres de dominio.
Requisitos para configurar un servidor DNS
Configurar adecuadamente los parámetros de red, en este caso se utiliza 192.168.10.10 para el servidor.
Configurar manualmente los parámetros de red en el cliente o utilizar un servidor DHCP.
Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es tserver y utilizaremos los dominios hipotéticos debian.edu.ni y debian.com.ni.
Configurar adecuadamente el nombre de equipo editando el archivo /etc/hostname
Tomo en cuenta que:
Si el número IP del servidor es privado, entonces el dominio será privado.
Al usar un IP público el dominio será público.
En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)
Paso 0 – Abrir un terminar y convertirse en super-usurio
cleal@tserver:~/Escritorio$ su -
Contraseña:
root@tserver:~#
Paso 1 – Instalar el software necesario
root@tserver:~# apt-get install bind9 dnsutils
Paso 2 – Realizar una copia de respaldo del archivo de configuración origianal
zone "debian.edu.ni" {
type master;
file "db.debian.edu.ni.zone";
};
zone "debian.com.ni" {
type master;
file "db.debian.com.ni.zone";
};
zone "10.168.192.in-addr.arpa" {
type master;
file "db.192.168.10";
};
Para asegurarnos que el archivo está bien
root@tserver:~# named-checkconf
Paso 4 – Crear los archivos de zona
Procedamos a crear los (nuevos) archivos de zona, esos archivos contienen los registros del DNS y en Debian se encuentran en el directorio /var/cache/bind/
$ORIGIN debian.edu.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.debian.edu.ni. info.debian.edu.ni. (
2018090701 ; serie
6H ; refresco (6 horas)
1H ; reintentos (1 hora)
2W ; expira (2 semanas)
3H ; mínimo (3 horas)
)
@ IN NS ns
@ IN MX 10 mail
@ IN A 192.168.10.10
ns IN A 192.168.10.10
mail IN A 192.168.10.10
www IN A 192.168.10.10
$ORIGIN debian.com.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.debian.com.ni. info.debian.com.ni. (
2018090701 ; serie
6H ; refresco (6 horas)
1H ; reintentos (1 hora)
2W ; expira (2 semanas)
3H ; mínimo (3 horas)
)
@ IN NS ns
@ IN MX 10 mail
@ IN A 192.168.10.10 # Esta es una configuración importante
ns IN A 192.168.10.10
mail IN A 192.168.10.10
www IN A 192.168.10.10
Vale la pena detectar errores en el archivo de zona
root@tserver:~# named-checkzone debian.edu.ni /var/cache/bind/db.debian.edu.ni.zone
zone debian.edu.ni/IN: loaded serial 2018090701
OK
root@tserver:~# named-checkzone debian.com.ni /var/cache/bind/db.debian.com.ni.zone
zone debian.com.ni/IN: loaded serial 2018090701
OK
root@tserver:~#
$ORIGIN 10.168.192.in-addr.arpa.
$TTL 86400 ; 1 dia
@ IN SOA ns.debian.edu.ni. info.debian.edu.ni. (
2018090701 ; serie
6H ; refresco (6 horas)
1H ; reintentos (1 hora)
2W ; expira (2 semanas)
3H ; mínimo (3 horas)
)
@ IN NS ns.debian.edu.ni.
10 IN PTR ns.debian.edu.ni.
10 IN PTR mail.debian.edu.ni.
10 IN PTR www.debian.edu.ni.
10 IN PTR ns.debian.com.ni.
10 IN PTR mail.debian.com.ni.
10 IN PTR www.debian.com.ni.
También es se puede comprobar que la configuración esté bien con:
root@tserver:~# named-checkzone 10.168.192.in-addr.arpa /var/cache/bind/db.192.168.10
zone 10.168.192.in-addr.arpa/IN: loaded serial 2018090701
OK
root@tserver:~#
Paso 5 – Re-iniciar el servicio
root@tserver:~# systemctl restart bind9
root@tserver:~# systemctl status bind9
bind9.service - BIND Domain Name Server
Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-09-07 23:52:29 CST; 9s ago
root@tserver:~#
Paso 6 – Editar el resolv.conf
root@tserver:~# nano /etc/resolv.conf
Ponemos nuestro servidor como primer DNS
nameserver 192.168.10.10
nameserver 192.168.8.1
Paso 7 – Probar la configuración desde el servidor
DHCP (Dynamic Host Configuration Protocol) es un estándar de internet definido en el RFC 2131 (http://www.ietf.org/rfc/rfc2131.txt). Por lo tanto, es un servicio de red que no es exclusivo de Debian, corre en cualquier sistema operativo que soporte TCP/IP, su función es proveer dinámicamente direcciones IP e información de configuración de los parámetros de red.
A los clientes se les configura para obtener la dirección IP de forma automática por medio del servidor DHCP, lo que significa que no tienen control sobre la configuración de red y pueden adquirir toda esta información directamente del servidor DHCP, el cual se encarga de configurar automáticamente la dirección IP de la máquina, la máscara de subred, la puerta de enlace predeterminada o Gateway, el nombre del host, el nombre del dominio, entre otros datos importantes para el buen funcionamiento de la red.
Aclaro que para este ejemplo utilizaremos el dominio hipotético “debian.edu.ni”
Paso 0 – Abrir un terminar y convertirse en super-usurio
cleal@tserver:~/Escritorio$ su -
Contraseña:
root@tserver:~#
Paso 1 – Instalar el software necesario
root@tserver:~# apt-get install isc-dhcp-server
Al final de la instalación el servicio intenta activarse, no se preocupen si les manda un mensaje de error.
Paso 2 – Indicar ¿Qué adaptador repartirá las direcciones IP?
Para establecer la tarjeta de red que “repartirá” los números IP, se edita el archivo /etc/default/isc-dhcp-server y lo dejamos así:
# Línea 17
INTERFACESv4="enp0s8"
Paso 3 – Guardar el archivo de configuración original
Paso 5 – re-iniciar y comprobar que el DHCP está corriendo
Nos aseguramos que el servicio esté funcionando adecuadamente
root@tserver:~# systemctl restart isc-dhcp-server
root@tserver:~# systemctl status isc-dhcp-server