You are on page 1of 17

Universidad Tecnolgica de la

Mixteca
Redes de computadoras

Servidores Debian

Castro Guerrero J. Luis, Rivera Lorenzo, Somera Reyes Nancy


G.

6o Ingeniera en Computacin

Acatlima - 10 de junio de 2016

ndice
1. Servidor http (Apache)
1.1. Introduccin . . . . . . . .
1.2. Instalacin . . . . . . . . .
1.3. Espacio web para usuarios
1.4. Pruebas . . . . . . . . . .
2. Servidor DNS (bind)
2.1. Introduccin . . . .
2.2. Instalacin . . . . .
2.3. Configuracin . . .
2.4. Pruebas . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

3. Servidor FTP (vsftpd)


3.1. Introduccin . . . . . . . . . . . .
3.2. Instalacin . . . . . . . . . . . . .
3.3. Configuracin de vsftpd . . . . .
3.4. Crear grupo de usuario para FTP
3.5. Creacin de usuarios . . . . . . .
3.6. Enjaular al usuario . . . . . . . .
3.7. Pruebas . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.

.
.
.
.

3
3
3
3
4

.
.
.
.

5
5
5
6
8

.
.
.
.
.
.
.

11
11
11
12
12
13
13
14

Resumen
En las siguientes pginas se expresa la forma en cmo se levantaron
los servicios ms bsicos de una intranet, entre los cuales se puede
encontrar los servidores DNS, FTP, correo elctronico y un servidor
WEB. As como tambin se muestran los archivos de configuracin
que se tuvieron que modificar y las pruebas de los servicios.

1.
1.1.

Servidor http (Apache)


Introduccin

El servidor HTTP Apache es un servidor web HTTP de cdigo abierto,


para plataformas Unix, Microsoft Windows, Macintosh, que implementa el
protocolo HTTP y la nocin de sitio virtual. Cuando comenz su desarrollo
en 1995 se bas inicialmente en el cdigo del popular NCSA HTTPD 1.3,
pero ms tarde fue reescrito por completo.
El servidor Apache es desarrollado y mantenido por una comunidad de
usuarios bajo la supervisin de la Apache Software Foundation dentro del
proyecto HTTP Server (httpd).

1.2.

Instalacin

Para la instalacin solamente se tiene que escribir la siguiente linea en


una terminal, para poder descargarlo desde los repositorios de la distro:
sudo apt - get install apache2

1.3.

Espacio web para usuarios

Cada usuario dispone de un espacio web que se almacena en la carpeta


public_html dentro de su carpeta home. Si la carpeta public_html no existe,
el propio usuario la puede crear y almacenar en ella su sitio web. La carpeta
public_html deber tener permisos 755 para que el grupo y el resto de
usuarios tengan acceso de lectura y as se puedan visualizar las pginas. Si
queremos que la carpeta public_html se genere de forma automtica al dar
de alta al usuario, se puede crear en /etc/skel.
Para que apache procese los espacios web de los usuarios, es necesario
activar el mdulo userdir mediante los siguientes comandos:
3

sudo a2enmod userdir


sudo service apache2 restart

1.4.

Pruebas

Con esto ya tenemos instalado Apache en nuestra mquina. Para comprobar que est funcionando correctamente, tenemos que acceder a la IP local
de nuestro servidor desde el nuestro navegador web o tambin ingresar la
palabra localhost.
Si la instalacin se realiz de manera exitosa, el navegador debe de mostrar una imagen como la siguiente:

Figura 1: Servidor Apache funcionando.

Los archivos del servidor web se almacenan en /var/www/html donde se


encuentra el archivo index.html que se muestra por defecto. Dicho archivo
debe ser sustituido por tu index.html.
Para acceder va web a la pgina de un usuario, desde un navegador
debemos acceder de la siguiente forma: http://ip-del-servidor/~usuario/
En la siguiente imagen se muestra la pgina del usuario Nancy.

Figura 2: Espacio web del usuario Nancy.

2.
2.1.

Servidor DNS (bind)


Introduccin

El servidors DNS (Sistema de Nombres de Dominio) asocia informacin


variada con nombres de dominios asignado a cada uno de los participantes. Su
funcin ms importante es traducir nombres inteligibles para las personas
en identificadores binarios asociados con los equipos conectados a la red, esto
con el propsito de poder localizar y direccionar estos equipos mundialmente.
La asignacin de nombres a direcciones IP es ciertamente la funcin ms
conocida de los protocolos DNS. Por ejemplo, si la direccin IP del sitio Google es 216.58.210.163, la mayora de la gente llega a este equipo especificando
www.google.com y no la direccin IP. Adems de ser ms fcil de recordar,
el nombre es ms fiable. La direccin numrica podra cambiar por muchas
razones, sin que tenga que cambiar el nombre tan solo la IP del sitio web.

2.2.

Instalacin

Lo primero que tenemos que hacer para configurar un servidor DNS es


instalarlo desde los repositorios poniendo en consola:
sudo apt - get install bind9 bind9 - doc dnsutils

2.3.

Configuracin

Para la parte de la configuracin se modificarn los archivos siguientes,


que se encuentran en el directorio etc:
named.conf.local
resolv.conf
hosts
A continuacin nos vamos al directorio etc para editar los archivos de configuracin necesarios:
cd / etc

Es recomendable acceder a este directorio como root (sudo su) para no tener
problemas de permisos denegados cuando copiemos ficheros o modifiquemos
los ya existentes.
Una vez que estamos en este directorio, basta con editar el archivo named.conf.local
Nuestro servidor DNS maestro para nuestro dominio www.peluchin.com
ser capaz de resolver peticiones internas de nombres de este dominio, tanto de forma directa como de forma inversa, es decir, si recibe una consulta
acerca de quin es nancy.peluchin.com deber devolver su IP, pongamos por
ejemplo 192.168.1.84. Si la consulta es una consulta DNS inversa acerca de
quin es 192.168.1.84, deber responder nancy.peluchin.com. Por ello deberemos aadir en el archivo /bind/named.conf.local la especificacin de maestro
para el dominio y para la resolucin inversa, por ejemplo:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here , if they are not used in your
// organization
// include "/ etc / bind / zones . rfc1918 ";
zone " peluchin . com " {
type master ;
file "/ etc / bind / zones / db . peluchin . com ";
};
zone "1.168.192. in - addr . arpa " {
type master ;
file "/ etc / bind / zones / rev .1.168.192. in - addr . arpa ";
};

Evidentemente ser necesario crear los archivos db.peluchin.om y rev.1.168.192.inaddr.arpa que especificarn la asociacin entre nombres y direcciones IP de
nuestra red en un sentido y en otro respectivamente.
Creamos la carpeta zones:
mkdir zones

Hacemos los archivos de resolucin directa e inversa desde los archivos db.local
y db.127 como sigue e ingresamos en la carpeta zones:
cp db . local zones / db . peluchin . com
cp db .127 zones / rev .1.168.192. in - addr . arpa
cd zones

El archivo db.peluchin.com ser para la resolucin directa, en tanto que el


otro para la resolucin inversa.
Abrimos ambos archivos con nuestro editor favorito e ingresamos los datos
para cada uno. Para la resolucin directa se tiene el archivo final:
;
; BIND data file for local loopback interface
;
$TTL
604800
@
IN
SOA
peluchin . com . root . peluchin . com . (
2
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 )
; Negative Cache TTL
;
@
IN
NS
dns . peluchin . com .
@
IN
A
192.168.1.79
www
dns

IN
IN

A
A

192.168.1.79
192.168.1.79

nancy
IN
lorenzo IN
jlcastrogro IN

A
A
A

192.168.1.84
192.168.1.83
192.168.1.74

jl
lore
nanz

CNAME
CNAME
CNAME

jlcastrogro
lorenzo
nancy

IN
IN
IN

Las primeras lneas son unos parmetros relacionados con la actualizacin


del DNS (nmero de serie y periodos de actuacin). Las dos siguientes lneas
indican quin es el servidor primario (NS = Name Server). Las siguentes
lneas especifican las IPs de los distintos hosts del dominio (A = Address).
Tambin se crean alias con CNAME (CNAME = Canonical Name).
Si olvidamos algn punto y coma, dar errores y no funcionar correctamente. Para revisar los archivos disponemos de los comandos named-checkconf
y named-checkzone que analizan que est correcta la sintaxis de los mismos.
7

Para poder realizar consultas inversas (de IP a nombre) ser necesario


crear el siguiente archivo:
;
; BIND reverse data file for local loopback interface
;
$TTL
604800
@
IN
SOA
peluchin . com . root . peluchin . com . (
1
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 )
; Negative Cache TTL
;
@
IN
NS
dns . peluchin . com .
84
83
74

IN
IN
IN

PTR
PTR
PTR

nancy . peluchin . com .


lorenzo . peluchin . com .
jlcastrogro . peluchin . com .

79
79
79

IN
IN
IN

PTR
PTR
PTR

dns . peluchin . com .


www . peluchin . com .
peluchin . com .

Para el caso del archivo resolv.conf se tiene que ingresar el dominio antes
creado y la direccin del servidor DNS, el archivo puede quedar de la siguiente
forma:
# Generated by NetworkManager
search peluchin . com lan
nameserver 127.0.0.1
nameserver 192.168.1.254

Por ltimo, para el archivo hosts ingresamos los datos del host en la cual
estamos montando el servidor DNS.
El archivo puede quedar de la siguiente forma:
127.0.0.1
127.0.1.1

localhost
peluchin . com peluchin

# The following lines are desirable for IPv6 capable hosts


::1
localhost ip6 - localhost ip6 - loopback
ff02 ::1 ip6 - allnodes
ff02 ::2 ip6 - allrouters

2.4.

Pruebas

Para el caso de las pruebas de nuestro servidor DNS primero lo haremos


desde un navegador, pero antes debemos configurar nuestro cliente. Esto lo
podemos realizar de manera grfica o modificando el archivo resolv.conf.

Para este caso lo haremos de manera grfica, en la siguiente imagen se


puede ver cmo configuramos nuestro cliente.

Figura 3: Configuracin del cliente.

Se elije una configuracin manual y se ingresa los datos, la direccin para


el dispositivo, una mscara de subred y la puerta de enlace. La puerta de
enlace la podemos obtener con el comando ip route.
Por ltimo se pone la direcin de nuestro servidor DNS y se guardan los
cambios.
Ya que est configurado nuestro cliente, lo primero que haremos es desde
un navegador ingresar al dominio que creamos, en este caso www.peluchin.com.
Si el servidor DNS est funcionando debe desplegar la misma informacin
que despleg cuando se instal el servidor Apache.

Figura 4: Prueba de dominio con pgina principal de Apache.

Ahora haremos la prueba desde una terminal. Con la herramienta ping


haremos solicitudes a nuestro servidor y de manera inversa, haremos ping
desde nuestro servidor hacia la maquina cliente.

Figura 5: Resolucin directa, ping a servidor e inversamente.

10

Para poder probar nuestra resolucin inversa, desde nuestro cliente preguntaremos quien tiene la direccin IP 192.168.1.74 y l nos debe responder.
La informacin que muestra puede ser como sigue:

Figura 6: Resolucin inversa, entre clientes.

3.
3.1.

Servidor FTP (vsftpd)


Introduccin

FTP (File Transfer Protocol), es un protocolo de transferencia de archivos


cliente/servidor que permite a los usuarios transferir archivos entre ordenadores en una red . La impementacin de FTP tiene sus origenes en 1971,
cuando se desarroll un sistema de transferencia de archivos entre equipos
del instituto Tecnolgico de Massachusetts.

3.2.

Instalacin

Utilizaremos vsftpd, es un servidor FTP para sistemas Unix, incluyendo


Linux. Para la instalacin de vsftp (Very Secure FTP Daemon), solamente
se tiene que escribir la siguiente linea en una terminal:
sudo apt - get install vsftpd

11

3.3.

Configuracin de vsftpd

Es importante mencionar que en este caso consideramos que se tiene ya


instalado un servidor DNS. La configuracin se har en el archivo vsftpd.conf,
que esta ubicado en /etc/vsftpd. Accedemos al archivo con permisos de super
usuario, esto con el objetivo de que la configuracin que haremos se guarde,
ya que en caso de no acceder como super usuario, el sistema no permitir
que modifiquemos el archivo.
sudo gedit / etc / vsftpd . conf

En la anterior linea se indica que queremos abrir el archivo vsftpd.conf que


se encuentra en la ruta /etc con el editor gedit. Se puede usar gedit siempre
y cuando este instalado, aunque tambin se puede usar cualquier otro editor.
Los parmetros que modificaremos ya aparecen en el archivo, solo necesitamos quitar el caractr # para indicar que la linea escrita no es un
comentario:
# iniciar el servidor vsftpd al inicio del sistema
listen = YES
# No permitimos que usuarios anonimos puedan conectarse a nuestro servidor .
# Es por seguridad
anonymous_enable = NO
# Para poder conectarse con los usuarios locales del servidor .
local_enable = YES
# Para que los usuarios puedan tambien escribir y no solo descargar archivos .
write_enable = YES
# Esta mascara lo que hace es que cada vez que subas un archivo ,
# sus permisos sean 755.
local_umask =022
# Podemos restringir a los usuarios a su propio / home y no tener
# acceso a todos los archivos y carpetas .
chro ot_lo cal_us er = YES
# Sirve para que los usuarios locales puedan navegar por todo el
# arbol de directorios el servidor .
ch ro ot _l is t_ en ab le = YES
# Indicamos el fichero donde estan listados los usuarios que
# pueden navegar por todo el arbol de diretorios del servidor
chroot_list_file =/ etc / vsftpd . chroot_list

3.4.

Crear grupo de usuario para FTP

Para crear un grupo, necesitamos escribir la siguiente linea en la termnal.


sudo groupadd ftp

Creamos una shell fantasma para que los usuarios no puedan entrar a la
consola del servidor:
sudo mkdir / bin / ftp

12

Accedemos al archivo shells


sudo nano / etc / shells

Agregamos la shell fantasma para el grupo creado.


/ bin / ftp

3.5.

Creacin de usuarios

Debemos crear la carpeta del usuario en el servidor, ser donde tendr


acceso va FTP. Debemos realizaar los siguientes pasos por cada usuario que
se desee crear. Escribimos las siguiqntes lineas en una terminal.
sudo mkdir / home / ftp / usuario1
chmod -R 755 / home / ftp / usuario1

Creamos el usuario que pertenece al grpo FTP


sudo useradd -g ftp -d / home / ftp / usuario1 -c " Usuario1 FTP " usuario1

Lo que se especifica en la linea anterior es:


-g ftp: El usuario pertenece al grupo ftp
-d /home/ftp/usuario1: El directorio principal del usuario es /home/ftp/usuario1
-c Usuario1 FTP: El nombre completo del usuario.
usuario1: La ltima palabra ser el nombre del usuario
Creamos la contrasea para usuario1:
sudo passwd usuario1

3.6.

Enjaular al usuario

Este paso es muy importante, ya que con el enjaulamiento, el usuario no


podr escalar en la jerarqua del directorio y solamente se mantendr en su
directorio. Buscamos el usuario recien creado en el archivo passwd:
nano / etc / passwd

Copiamos la lnea en donde esta el nombre del usuario que acabamos de


crear:
usuario : x :1003:1001: Usuario1 ftp :/ home / ftp / usuario1 :/ bin / ftp

13

Luego la pegamos en la ltima lnea del siguiente archivo:


sudo nano / tc / vsftpd . chroot_list

Tambin en el archivo anterior agregamos el nombre del usuario, en este caso


usuario1. El archivo vsftpd.chroot_list queda de la siguiente forma:
usuario1
usuario1 : x :1008:125: usuario1 ftp :/ home / ftp / usuario1 :

Una vez realizados todos los cambios reiniciamos el servicio de vsftpd, existen
dos formas de reiniciar:
/ etc / init . d / vsftpd restart
service vsftpd restart

3.7.

Pruebas

Un primer paso para probar nuestro servidor ftp es ejecutar en una consola
la siguiente lnea:
ftp www . peluchin . com

Peluchin.com en nuestro caso es el nombre de nuestro dominio. Una vez


ejecutada la linea anterior, nos pedi un usuario y contrasea para acceder
al servicio ftp

Figura 7: Servicio FTP

14

Podemos ver los archivos y directorios que tenemos hasta el momento


escribiendo ls:

Figura 8: Archivos y Directorios de usuario1

Tambin se puede usar el servidor de FTP con filezilla. Para eso necesitamos configurar una nueva conexin, como se muestra a continuacin:

Figura 9: Configuracin de Filezilla

Una vez que nos conecta de forma xitosa, nos muestra el directorio del
15

usuario (parte derecha) y los archivos y directorios que podemos subir.

Figura 10: Archivos y directorios de usuario1 en FileZilla

Para poder compartir algn archivo, lo seleccionamos y con clic derecho


nos mostrar un men en donde eligiremos subir, esto con el objetivo de que
el archivo se transfiera a la carpeta de usuario1. En este ejemplo subiremos
una imagen llamada 1.png

Figura 11: Compartir archivos

16

Ahora veremos que esa imagen aparecer en la cuenta de usuario1.

Figura 12: Transferencia del archivo

Es importante saber tambin que la transferencia de archivos se puede


realizar tambin desde consola con comandos como: put, get,ls, etc.

Referencias
[1] Servidor Debian en https://servidordebian.org/es.

17

You might also like