Está en la página 1de 227

Guía de Trabajos Prácticos

IUA – Ingeniería de Sistemas_______________________________________________

Carpeta de trabajos Prácticos

Apellidos: Carrara

Nombres: Franco Angel

DNI: 30.900.267

Curso: A

Asignatura: Planeamiento y G. de Proyectos


Informáticos

Profesor: Ing. Gustavo Pérez Ares

Año: 2006

Guía de Trabajos Prácticos Página 1


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Calificaciones

Guía de Trabajos Prácticos Página 2


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Índice
Carpeta de trabajos Prácticos..........................................................................................1
Calificaciones...................................................................................................................2
Índice................................................................................................................................3
Trabajo Práctico Nro. 1/2006..........................................................................................5
Instalación de LINUX: Fedora Core 3, instalación en modo gráfico........................5
Instalación de LINUX: Slackware 10.0, instalación en modo texto.......................17
Multibooteo: GRUB................................................................................................26
Trabajo Práctico Nro. 2/2006........................................................................................27
XWINDOWS:.........................................................................................................27
SISTEMA DE ARCHIVOS:...................................................................................30
BACKUP:................................................................................................................33
OTROS COMANDOS:...........................................................................................34
ARCHIVOS:............................................................................................................39
Trabajo Práctico Nro. 3/2006........................................................................................42
CLIENTE, SERVIDOR, IP, DNS:..........................................................................42
ARCHIVOS:............................................................................................................43
COMANDOS:.........................................................................................................46
Trabajo Práctico Nro. 4/2006........................................................................................52
Instalación de paquetes:...........................................................................................52
Manejo de procesos:................................................................................................55
Cambiar fecha del sistema:......................................................................................60
Sincronizar reloj :....................................................................................................60
Trabajo práctico Nro. 5/2006 ........................................................................................61
Administración de Archivos....................................................................................63
Herramientas de manejo de permisos:.....................................................................63
Usuarios:..................................................................................................................64
Grupos:....................................................................................................................65
Cambios usuarios en sesión su:...............................................................................66
SUDO:.....................................................................................................................67
Otros comandos:......................................................................................................69
Archivos a configurar:.............................................................................................71
Creación y Manipulación de quotas de Usuario......................................................73
Trabajo Práctico Nro. 6/2006........................................................................................86
Asignar IP................................................................................................................88
Definir alias:............................................................................................................89
Definir rutas.............................................................................................................90
El comando Netstat..................................................................................................92
Ipconfig....................................................................................................................95

Guía de Trabajos Prácticos Página 3


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Archivos a comprender:...........................................................................................99
Crear un enrutador en Windows ...........................................................................100
Trabajo Práctico Nro. 7/2006......................................................................................106
Configuración servicio DNS-Windows.................................................................108
Servicio DHCP – Windows...................................................................................122
Introducción DNS Linux.......................................................................................127
Configuración DNS - Linux..................................................................................129
DHCP en Linux.....................................................................................................138
Trabajo Práctico Nro. 8/2006......................................................................................140
Instalando y Administrando un servidor FTP en Linux .......................................142
Instalando un Servidor FTP en Windows..............................................................156
Clientes FTP..........................................................................................................170
Trabajo Práctico Nro. 9/2006......................................................................................174
Linux – Apache (httpd)..........................................................................................176
Internet Information Server 5.0 – Configuración..................................................185
Trabajo Práctico Nro. 10/2006....................................................................................195
Samba (SMB)........................................................................................................197
Configuración de Samba.......................................................................................199
Conexión a Samba desde Windows.......................................................................202
Trabajo Práctico Nro. 11/2006....................................................................................205
Configuración de un servidor de mail...................................................................207
Servidor MTA........................................................................................................209
Configuración de MUA.........................................................................................213
Reenviando correo entre dos equipos...................................................................225

Guía de Trabajos Prácticos Página 4


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 1/2006


Instalación de LINUX: Fedora Core 3, instalación en modo gráfico

Fedora Core 3 posee 4 discos de instalación y uno de rescate. Para llevar a cabo la
instalación en modo gráfico los pasos a seguir se detallan a continuación.

Pasos:
• Configurar la BIOS para que realice el booteo desde el lector de CD.
• Inserte en el lector el primer CD de Fedora Core 3 y reinicie su máquina
• A continuación aparece la siguiente pantalla:

• En esta pantalla (pantalla de arranque) presione Enter si quiere usar un


instalador gráfico o escriba linux text seguido de Enter si desea instalar Fedora
en modo texto.
• A continuación aparece la siguiente pantalla:

• Aquí se le preguntará si desea testear su CD o DVD, para omitir este paso


presionar Skip. Nosotros presionamos OK para realizar el testeo.

Guía de Trabajos Prácticos Página 5


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Al presionar OK en el paso anterior nos aparece esta pantalla que nos permite
controlar cada CD. Presione Enter sobre "Test" para probar si su CD o DVD
contiene fallas, o presione la flecha izquierda para seleccionar la casilla
"Continue".
• Si sus CDS o DVD pasan la prueba va a ser advertido para probar más CDS.
Cuando todos sus CDS hayan pasado la prueba presione Enter, o flecha derecha
para seleccionar la casilla "Continué".
• Nosotros omitimos este paso y presionamos sobre “Continue”.

• Luego, cuando el instalador de Fedora se cargue haga clic en "Next" en la


pantalla de bienvenida.
• A continuación aparece la siguiente pantalla:

Guía de Trabajos Prácticos Página 6


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• En la página de "Language Selection”, seleccione default, español o el idioma de


su elección, y luego clic en "Siguiente". Nosotros seleccionamos
SPANISH(Argentina).

• En la página de selección de teclado, seleccione el sistema de teclado apropiado


según su región, para esta guía seleccionaremos el de nuestra región.
Seleccionamos Spanish y luego en siguiente.

Guía de Trabajos Prácticos Página 7


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• En la página tipo de instalación, elija el tipo de instalación que crea que se
adapte a sus necesidades. Sin importar su elección después va a poder
reconfigurar el tipo de instalación con la aplicación "system-config-packages".
Nosotros seleccionamos Personal Desktop y luego clic en "Siguiente".

• Seleccione "Particionamiento Manual con Disk Druid" en la página de


instalación de particionamiento de disco. Pulse "siguiente".

• Primero que todo, es necesario crear una pequeña partición que contenga el
punto de montaje /boot. Esto es para permitir a Fedora bootear. Esta pequeña
partición debe tener un máximo de 150 MB. Pulse clic en la partición,
seleccione el tipo de archivo ext3 y el punto de montaje en /boot. En el campo
Size (MB), colocamos 150 como dicen los manuales de Fedora. Presionamos
OK.
• Pulse doble clic en la partición que indica Free.

Guía de Trabajos Prácticos Página 8


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Seleccione el tipo de archivo SWAP y configure su tamaño de SWAP para


igualar la mitad del tamaño de memoria de su ordenador. Nosotros indicamos un
tamaño de 1000 MB.

• Una vez creada el área de SWAP, Haga doble clic sobre el resto de la partición
para configurar el sistema de ficheros Linux ext3.

Guía de Trabajos Prácticos Página 9


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Al sistema de archivos ext3 le asignamos 4000 MB aproximadamente.
• A continuación observamos como quedó particionado el disco. Si es correcto,
presionamos Next.

• Luego de apretar Next, vemos la pantalla de configuración de booteo del


sistema.

• Pulsamos "default" en la siguiente ventana para hacer de Fedora Core 3 sea el


sistema operativo de arranque por defecto. Luego "siguiente".

Guía de Trabajos Prácticos Página 10


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• En la página dejamos las opciones como están y tildamos en el área de


Hostname la casilla "Automáticamente vía DHCP". Luego clic en "Siguiente".

• En la "Página de configuración de firewall" marcamos la opción “No firewall”


para que no tengamos problemas a la hora de hacer pruebas con la configuración
del sistema. Si bien no es aconsejable desactivar el firewall, en mi caso lo
desactive para trabajar con mas comodidad.
• La opción "Permitir SELinux" la dejo activa. Clic en "Siguiente".

Guía de Trabajos Prácticos Página 11


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Selecciono la zona horario que corresponde y luego presionar en "Siguiente".

• En la pantalla de configuración de Password de root ingrese el password de


root, en esta caso, password y usuario es “fedora” que desee. Clic en
"Siguiente".

Guía de Trabajos Prácticos Página 12


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• En la pagina de instalación de paquetes se ven todos los paquetes que uno puede
instalar y aquellos que usted haya seleccionado. En este caso los paquetes que
seleccione para instalar, además de aquellos que trae por defecto el sistema son
los siguientes:
o X Windows System.
o Entorno de escritorio de Gnomo.
o Entorno de escritorio para KDE.
o firefox y thunderbird en Internet.
o Herramientas de configuración del servidor.
o Herramientas de administración.
o Herramientas del sistema.
• Pulse "Siguiente" en la página de instalación.

• Pulse "Continuar" para acceder a la página de instalación de paquetes.

• El sistema indica cuales son los CDS que requiere la instalación. Oprimir en
Continue.

Guía de Trabajos Prácticos Página 13


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Le irán pidiendo el resto de los CDS a lo largo de la instalación.

• Cuando la instalación se haya completado aparece la siguiente pantalla.

• Quite el CD y pulse sobre "Reiniciar" para arrancar y empezar en la primera


pantalla.

Guía de Trabajos Prácticos Página 14


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Pulse "Siguiente" en la página de bienvenida.

• Acepte el contrato de licencia y pulse en "Siguiente".

• Seleccionamos la fecha y hora correcta, después "Siguiente".

Guía de Trabajos Prácticos Página 15


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Seleccionamos la resolución de pantalla y la cantidad de colores, nosotros
seleccionamos 800x600. Pulse "siguiente".

• En la página de usuario del sistema elija un nombre de usuario, nosotros


elegimos “fedora” para el usuario y la contraseña. Clic en "Siguiente".

• Luego tenemos la pantalla de test de sonido. No verificamos el funcionamiento


del sonido ya que no es de nuestro interés. Pulse "siguiente".

• CDS adicionales nos permite instalar plug-ins y aplicaciones extras. En nuestro


caso no instalamos aplicaciones extras, por tal motivo pulsamos "Siguiente".

Guía de Trabajos Prácticos Página 16


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Finalmente termina la instalación. Pulse "Siguiente", y se puede comenzar a


utilizar Fedora.

Instalación de LINUX: Slackware 10.0, instalación en modo texto

• Para comenzar con la instalación, tenemos una partición de 4GB.


• Configurar la BIOS para que realice el booteo desde el lector de CD.
• Inserte en el lector el primer CD de Slackware y reinicie su máquina
• A continuación aparece la siguiente pantalla:

• En la primera pantalla podemos agregar parámetros extras al kernel que van a


utilizar en la instalación, mas adelante se puede modificar. Nosotros damos
Enter y seguimos.

Guía de Trabajos Prácticos Página 17


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Esta pantalla nos pide que presionemos Enter para seleccionar el tipo e idioma
del teclado. Presionamos Enter.

• Elegimos el idioma del teclado, el idioma de teclado español es


“qwerty/es.map”. Seleccionamos esta opción y damos OK.
• Luego realizamos el login como root para comenzar con la instalación
propiamente dicha.

• Ahora debemos realizar las particiones necesarias. Para esto ejecutamos el


comando: # fdisk /dev/hda. Vamos a requerir dos particiones, una SWAP y la otra
donde estar instalado el sistema.

Guía de Trabajos Prácticos Página 18


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Hda, es nuestro disco. Para verificar cuantas particiones tenemos debemos


digitar en nuestro prompt de fdisk: “p”
• Para crear una partición SWAP debemos digitar el comando “n”.
• Luego, aparecerá en el prompt una leyenda preguntando si nuestra partición va a
ser primaria o extendida. Elegimos primaria con el comando “p”. Luego de
seleccionar partición primaria, nos pregunta cual va a ser el número que va a
identificar la partición. Como en nuestro disco no tenemos otra partición,
seleccionamos “1”. Presionamos Enter.
• Ahora nos pregunta sobre cual va a ser el tamaño de la partición. En el propt
digitamos 1000 mb.
• De esta manera la partición SWAP estará creada. Digitamos “p” en el prompt
para verificar la partición.
• A esta partición debemos trasformarla en partición SWAP, para esto, en el
prompt ponemos “t”.
• Preguntara que partición desea migrar. Presionamos “1” ya que fue el número
que le asignamos a esta.
• Preguntara a que tipo de partición deseamos migrar. Para esto, debemos digitar
“L” que corresponde a SWAP.
• Verificamos con el comando “p”, y observaremos algo así:
• Disk /dev/hda: 4.0 Gb, 4194304 bytes
x heads, x sectors/tracks, x cylinders
Units = cylinders of 16065 * 512 = x bytes
• Device Boot Start End Blocks Id System
/dev/hda1 1658 1689 257040 83 Linux swap
• Ahora, para crear la partición donde esta instalado el sistema debemos digitar el
comando “n”.
• Luego, aparecerá en el prompt una leyenda preguntando si nuestra partición va a
ser primaria o extendida. Elegimos primaria con el comando “p”. Luego de
seleccionar partición primaria, nos pregunta cual va a ser el número que va a
identificar la partición. Como en nuestro disco tenemos otra partición, la 1 que
es SWAP, seleccionamos “2”. Presionamos Enter.

Guía de Trabajos Prácticos Página 19


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Ahora nos pregunta sobre cual va a ser el tamaño de la partición. Como ya
utilizamos 1000 MB en SWAP, deseamos que los 3 GB que quedan en nuestro
disco sean utilizados para la instalación del distema, para eso, En el propt
digitamos Enter si escribir ningún comando.
• Ya tenemos creada la partición para instalar el sistema. Ahora continuamos con
la instalación. Para eso, debemos digitar en el promp # setup
• A continuación, comenzamos a ver las opciones de instalación.
• Lo primero es elegir la partición swap, vamos a set up your swap

• Presionamos en “Yes” para confirmar que esta es nuestra partición destinada a


SWAP.
• Aparecerá una lista con todas las particiones donde podemos instalar el sistema.

Guía de Trabajos Prácticos Página 20


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Seleccionamos la partición en la cual vamos a instalar el sistema. En nuestro


caso /dev/hda2.
• Posteriormente aparece un cuadro que nos da la opción de formatear la partición.
Seleccionamos “Format” y luego “Yes”.
• Ahora, debemos seleccionar el formato que le vamos a dar al sistema de
archivos. Seleccionamos ext3. y damos “Ok”.

• Ahora, debemos seleccionar el medio del cual vamos a instalar Slackware. En el


menú seleccionamos “Select Source Media”.
• En el menú “Source Media Selection” se selecciona el origen de la instalación.
La misma la podemos hacer desde: un cd o dvd, un disco rígido, la red y un
directorio pre montado.
• En el menú “Source Media Selection”, seleccionamos la opción 1 “Install from a
Slackware CD or DVD”.

Guía de Trabajos Prácticos Página 21


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• Nos pregunta si queremos que se detecte automáticamente el dispositivo de cd o


lo queremos hacer manualmente, elegimos automáticamente ya que la lectora
fue reconocida por la maquina anteriormente. Presionamos Ok.

• Ahora vamos a elegir el tipo de instalación, tenemos varias opciones

• Seleccionamos instalación full y luego “Ok”.

Guía de Trabajos Prácticos Página 22


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• La próxima opción es buscar otro kernel (cdrom o floppy)o quedarnos con el
que veníamos usando. Seguimos usando el mismo por lo que seleccionamos
“Skip” y damos en OK.

• Luego nos pregunta si deseamos habilitar el sistema HOTPLUG, este nos


permite identificar automáticamente dispositivos (camaras digitales, USB,
mouse USB, etc) conectados a la máquina. Seleccionamos “Yes” .
• Luego tenesmo que realizar la configuración LILO. El mismo es el gestor de
arranque que nos va a permitir elegir, si tenemos más de un sistema operativo,
con cual arrancar. Por default si tenemos windows y Linux va a bootear
windows y nos va a dar un tiempo de dos minutos para elegir con que sistema
vamos a empezar. Nosotros elegimos “Simple”. Presionamos Ok.

• Seleccionamos donde instalar LILO. Lo más normal es instalarlo en el MBR que


es el primer sector del disco, para que al encender la maquina sea lo primero en
bootear. Nosotros seleccionamos MBR y luego OK.

Guía de Trabajos Prácticos Página 23


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

• La próxima opción es seleccionar el tipo de Mouse. Nosotros seleccionamos


PS2.

• La próxima opción es GPM, esta nos permite tener copy-paste en las consolas
virtuales. Ponemos "YES".

• Ahora nos aparece la opción de red. Como poseemos una red, ponemos “yes".
Hostname: franco
Domain Name: familia
IP: 192.168.0.5
Netmask 255.255.255.0.
Gateway: 192.168.0.1 (es un router en mi caso, con acceso a internet).

Guía de Trabajos Prácticos Página 24


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Name Server: 192.168.0.2 (PC con Windows XP en mi caso).

• Por último tenemos las configuración que realizamos. Se pueden modificar


dichas configuraciones. Ponemos “Accept”.
• Luego debemos escoger los programas que se iniciarán automáticamente. Por el
momento no chequeamos ninguno. Presionamos “OK”.

• Luego, en la pantalla de selección de consola “Console font”, ponemos “NO”.


• Luego debemos indicar si nuestro reloj se actualizará automáticamente con un
servidor llamado UTC. Indicamos la opción “Hardware clock set to” con el
valor "NO".
• En zona horaria seleccionamos "América /Buenos_Aires”.
• En la proxima pantalla debemos seleccionar la interfaz gráfica del sistema. Acá
podemos elegir entre fluxbox, kde y otros. Elegimos GNOME y luego “OK”.

• Finalmente, elegimos el password para el usuario root y listo. Escribimos Exit y


ya hemos terminado con la instalación. Reiniciamos la maquina y tenemos en
funcionamiento Slackware 10.0.

Guía de Trabajos Prácticos Página 25


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Multibooteo: GRUB

GRUB nos permite bootear un sistema de un diskette. GRUB posee su propio shell,
drivers de sistema de archivo, y función de la búsqueda. Es posible bootear utilizando el
diskette GRUB, examinar las particiones del disco, como también la búsqueda en el
Kernel.

La flexibilidad y la potencia de GRUB han influenciado para ser el booteador defecto


para Fedora. El sistema de booteo GRUB se demuestra a continuación..

Guía de Trabajos Prácticos Página 26


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 2/2006


XWINDOWS:
- Configurar escritorio:
Para determinar el nivel en que se inicia el sistema hacer: editar el archivo "/etc/inittab"
y modificar la línea "id:X:initdefault:" donde X corresponde a el nivel en que se desea
que inicie el sistema.
Los diferentes niveles de ejecución son:
# 0 - halt (No setearlo como initdefault)
# 1 – Monousuario
# 2 – Multiusuario, sin NFS
# 3 – Multiusuario, full pero sin interfaz
# 4 – No se utiliza
# 5 - Xwindows
# 6 - reboot (No setearlo como initdefault)

A continuación muestro cual fue la configuración que le aplique al archivo “/etc/inittab”

[root@localhost etc]# cat inittab


#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
<miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:


# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have
networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

Guía de Trabajos Prácticos Página 27


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting
Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown
Cancelled"

# Run gettys in standard runlevels


1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5


x:5:once:/etc/X11/prefdm -nodaemon

- Cambio de escritorio:
Ejecutar el comando "switchdesk" aparece una pantalla donde se
selecciona el escritorio para el sistema. Luego es necesario reiniciar el ordenador para
que el sistema tome la nueva configuración.
De otra manera, se puede ejecutar el comando “switchdesk + modo grafico”, por
ejemplo: “switchdesk gnome”.

[root@localhost etc]# switchdesk gnome


Red Hat Linux switchdesk 4.0
Copyright (C) 1999-2004 Red Hat, Inc
Redistributable under the terms of the GNU General Public License
Desktop now set up to run GNOME.
[root@localhost etc]#

-Entorno GNOME
Los clientes GNOME se encuentran bajo el directorio “/usr/bin” y sus archivos
de configuración en “/etc/gnome” y en los direcotorios “/usr/share/gnome”.
Ejecutando el comando “gconftool-2” podemos realizar la configuración del
escritorio GNOME.

Guía de Trabajos Prácticos Página 28


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

-Entorno KDE
KDE provee escritorio con entorno gráfico que incluye un paquete de office llamado
KOffice. Los clientes KDE están localizados bajo el directorio “/usr/bin” y sus
usuarios comienzan con la letra “k”.
Se puede acceder al centro de control a través del comando “kcontrol”.

-Exportar aplicaciones:
Para exportar aplicaciones de una maquina local a una remota es necesario realizar los
siguientes pasos:
1- Autorizar a la maquina remota: “xhost + ip_remota”  xhost + 192.168.2.243

Guía de Trabajos Prácticos Página 29


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
2- Debo indicar la maquina a la cual me conecto (suponemos que yo soy la
maquina remota) y el dispositivo por el cual se realiza en enlace: “export
display=ip_origen:dispositivo” export display=192.168.2.244:0.0
3- Idicar el la aplicación que deseo exportar: “aplicacion”  mozilla

En el caso de que desee eliminar alguna maquina remota de la lista segura: “xhost -
ip_remota”  xhost – 192.168.2.243

SISTEMA DE ARCHIVOS:
-Punto de montaje:
Un Sistema de Archivos puede ser montado en cualquier directorio, por lo general se
montan en /mnt.
Editando el archivo "/etc/fstab" se observan los diferentes directorios donde están
montados los dispositivos.

[root@localhost etc]# more fstab


LABEL=/1 / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-hdc swap swap defaults 0 0
[root@localhost etc]#

-El comando mount:


Los Sistemas de Archivos se monta con el comando mount y desmontan con el umount.
Durante la instalación uno tiene la posibilidad de indicar cuales son las particiones que
un va a montar. Uno indica las opciones y Fedora Core , automáticamente almacena la
tabla del sistema de archivos en /etc/fstab.

La sintaxis para montar es:


# mount -t type file system_to_be mounted mount_point

componentes del comando mount:


- “type” esta precedido de -t y seguido de un espacio, y luego va el tipo de Sistema de
Archivo (type)que uno esta por montar. Los Sistemas de Archivos típicos son ext2 ,
ext3, vfat, iso9660, hpfs , hfs, ntfs, entre otros.

- “file system_to_be” es el nombre del dispositivo del Sistema de Archivos que uno va a
montar, generalmente es /dev/hdx, /dev/scx , o /dev/fdx.

- “mount_point” es el directorio donde uno va a montar el Sistema de Archivos.


La única restricción para montar un Sistema de Archivos en cualquier ubicación es que
los archivos de sistema en /bin , /etc, /lib, /dev, /proc, y /tmp tienen que ser accedidos en
el bootup (en el arranque), y por esto, generalmente necesita que estén en el mismo
disco físico. Si no pueden ser accedidos en el arranque, Linux no los podrá cargar.

Guía de Trabajos Prácticos Página 30


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ejemplos de uso del comando mount:

Montar un floppy disk:


# mount -t vfat /dev/fd0 /mnt/floppy

Montar un CD-ROM:
# mount -t iso9660 /dev/hda0 /mnt/cdrom

Para desmontar un sistema de archivos, usar el comando umount, ejemplo:


# umount /dev/hda0

Montar con /etc/fstab

Un fichero especial, /etc/fstab, provee un sistema opciones predeterminadas y permite


montar puntos en los que los sistemas de archivos puedan montar automáticamente o
manualmente con comandos cortos, por lo que lo hace más fácil.

El archivo /etc/fstab puede ser escrito solo por un super-usuario. Los comandos fsck,
mount, y umount all leen información de /etc/fstab. Cada sistema de archivos tiene su
propia línea con la información sobre la misma.

En cada línea del fstab, el primer campo indica el dispositivo o el sistema de ficheros
que serán montados. El segundo campo identifica el punto de montaje en el sistema
local donde el Sistema de Archivos será montado. El tercer campo es el tipo de Sistema
de Archivos, y el cuarto campo es una lista delimitada con comas con las opciones del
montaje. Algunas de las opciones que incluye /etc/fstab son:

- ro Esta opción indica que el Sistema de Archivos es de solo lectura.


- rw Esta opción indica que el Sistema de Archivos es de lectura y escritura.
- sync La lectura en y la escritura se realizan de forma sincronizada.
- user Esta opción permite a un usuario regular montar un Sistema de Archivos.

El quinto campo de /etc/fstab es utilizado por el dump (un programa de backup utilizado
por UNIX tradicional) para determinar si al sistema de archivos se le debe realizar un
backup; 1 es sí, y 0 es no. Los valores por defecto se fijan durante la instalación inicial.
El sexto campo es utilizado por el fsck para determinarse cómo el fsck necesita
interactuar con el archivo system0 significa que el fsck nunca está funcionado en el
sistema de ficheros (un sistema de ficheros FAT32, por ejemplo); 1 significa que el fsck
funcionará en la unidad en un momento predeterminado. 2 se recomienda para los
sistemas de archivos de los usuarios que no son root para que el fsck no funcione en
ellos con frecuencia.

Aca vemos el arcivho /etc/fstab:


[root@localhost etc]# more fstab
LABEL=/1 / ext3 defaults 1 1

Guía de Trabajos Prácticos Página 31


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-hdc3 swap swap defaults 0 0
[root@localhost etc]#

-Directorios, organización:
Linux organiza la información en archivos, los cuales están contenidos en directorios.
Un directorio puede contener subdirectorios, teniendo así una estructura jerárquica,
como en cualquier otro sistema operativo. La siguiente tabla posee la descripción de los
directorios más comunes

Directorio Descripción
/ Raíz (root), forma la base del sistema de archivos.
/boot Archivos del kernel (compilados).
/bin Archivos ejecutables esenciales para todos los usuarios.
/dev Archivos de dispositivos.
/etc Archivos de configuración.
Generalmente, directorios de los usuarios. Aquí se encuentran los
/home
documentos del usuario, información del usuario, etc.
/lib Librerías esenciales y módulos del kernel.
/mnt Directorios donde ``montar'' diversos dispositivos temporalmente.
/proc Información sobre partes del sistema.
/root Directorio del usuario principal del sistema.
/sbin Archivos ejecutables para tareas de administración.
/tmp Temporal.
/usr Programas, documentación, fuentes,...compartidos por todo el sistema
/var Archivos variables del sistema, bitácoras, temporales,...

La siguiente tabla muestra los principales subdirectorios del directorio var.


Directorio Descripción
/var/catman Manuales formateados localmente.
/var/lib Información del estado de aplicaciones.
/var/local Variables del aplicaciones en /usr/local.

Guía de Trabajos Prácticos Página 32


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
/var/lock Archivos de cerrojo.
/var/log Bitácoras del sistema.
/var/named Archivos del DNS.
/var/nis Base de datos para NIS (Network Inf. Service).
/var/preserve Archivos de respaldo después de una caída para vi o ex.
/var/run Archivos relevantes a programas corriendo.
/var/spool Colas de trabajos para realizar mas tarde.
/var/spool/at Archivos creados por comando at.
/var/spool/cron Archivos creados por comando crontab.
/var/spool/lpd Archivos de impresora.
/var/spool/mail Archivos de correo de cada usuario.
/var/spool/mqueue Archivos de correo de salida.
/var/spool/news Archivos de noticias de salida.
/var/spool/smail Archivos de correo de smail.
/var/tmp Temporal.

BACKUP:
Un sistema de Backup nos permite restaurar y recuperar información importante que se
ha perdido por diferentes problemas como de hardware y software entre otros. Podemos
decir, que es muy importante para toda organización tener implementado un buen
sistema de recuperación de datos.
A la hora de implementar un sistema de Backup, es necesario definir la estrategia a
seguir. Todos los Backup consumen dinero y tiempo y son un factor determinante a la
hora de definir la estrategia.
Cuando hablamos de estrategia, nos referimos entre otras cosas, a la frecuencia con que
se realizan las copias de seguridad, la cantidad de datos que se resguardan, etc.
Por otro lado, la perdida de datos se puede producir por diferentes motivos, entre ellos
se encuentran la falla en el hardware y software acciones mal intencionadas por parte de
personas, accidentes naturales, incendios, etc.
En nuestro ejemplo de realización de Backup, comprimiremos archivos en formato tar y
zip los cuales luego pueden ser almacenados en otros dispositivos de manera que si se
pierden los datos originales del ordenador, poseamos una copia de los mismos.

-tar:
crear: tar -cvf mystuff.tar mystuff/
extraer: tar -xvf mystuff.tar
testing: tar -tvf mystuff.tar

Guía de Trabajos Prácticos Página 33


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

[root@localhost fcarrara]# tar -cvf archivoComprimido.tar archivo.txt


archivo.txt

[root@localhost fcarrara]# tar -tvf archivoComprimido.tar


-rwxrwxrwx root/clientes 15 2006-09-14 21:16:33 archivo.txt

[root@localhost fcarrara]# tar -xvf archivoComprimido.tar


archivo.txt

-zip:
crear: zip -r backup origen
extraer: unzip backup.zip(archivo q descomprimo)

[root@localhost fcarrara]# zip -r backup archivo.txt


adding: archivo.txt (stored 0%)
[root@localhost fcarrara]# ls
archivo.txt backup.zip
[root@localhost fcarrara]#
[root@localhost fcarrara]# unzip backup.zip
Archive: backup.zip
extracting: archivo.txt

También se puede descomprimir un archivo específico del .ZIP. Para eso debo hacer
“unzip backup.zip archivo_a_descomprimir”

OTROS COMANDOS:

Mke2fs:El comando mke2fs es usado para crear el sistema de archivos de Linux ext2
en un dispositivo tal como una partición de disco duro o un disquete. mke2fs
esencialmente formatea el dispositivo y crea un dispositivo vacío compatible con Linux
que puede luego ser usado para almacenar archivos y datos.
Inserte su disquete en la unidad y ejecute el comando siguiente en el intérprete de
comandos: # /sbin/mke2fs /dev/fd0
En sistemas Linux, /dev/fd0 se refiere a la primera unidad de disquete. Si su
computador tiene más de una unidad, su unidad primaria es /dev/fd0, su segunda
unidad es /dev/fd1 y así sucesivamente.

Fsck: Herramienta para verificar/reparar sistemas de archivos. Este comando se puede


utilizar para chequear un sistema de archivos luego de que lo hayamos desmontado.
Para esto se utiliza el comando 'fsck' (de file system check). Este comando determina
automáticamente cual es el tipo de sistema de archivos que queremos chequear y realiza
su función. sintaxis: # fsck /dev/hda4
El comando retorna lo siguiente:

e2fsck 1.12, 9-Jul-98 for EXT2 FS 0.5b, 95/08/09

Guía de Trabajos Prácticos Página 34


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
/dev/hda4: clean, 338/241664 files, 286449/965664 blocks

Esta salida nos indica todo esta bien con este sistema de archivos. Si acaso Linux
encontrara algún error nos dará un aviso de donde se encontró y todos los datos.

Prueba realizada en clase:

[root@localhost ~]# fsck /dev/hdc2


fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
/dev/hdc2 is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause


SEVERE filesystem damage.

Do you really want to continue (y/n)? no

check aborted.
[root@localhost ~]#

E2label: Sirve para etiquetar una partición. Para dar una etiqueta a la partición, por
ejemplo, si la nueva partición es /dev/hdc2 y quiere etiquetarla /iua:

[root@localhost ~]# e2label /dev/hdc2 /iua


[root@localhost ~]#

Mkdir: Sirve para crear directorios. Ej: # mkdir Franco

Cd: sirve para cambiar de directorio a otro.

Gzip: Se utiliza para comprimir ficheros. Puede comprimir ficheros Linux con la
herramienta de compresión gzip, bzip2, or zip.
Se recomienda usar la herramienta de compresión bzip2 porque da la mejor compresión
de todas y se encuentra en todos los sistemas operativos del tipo UNIX. La herramienta
de compresión gzip también se encuentra en los sistemas operativos del tipo UNIX. Si
necesita pasar ficheros de Linux a otros sistemas operativos como MS Windows, zip
es la herramienta más usada en estos tipos de sistemas operativos.

Tabla Herramientas de compresión

Herramienta de compresión Expansión Herramienta de descompresión


del fichero
gzip .gz gunzip

bzip2 .bz2 bunzip2


zip .zip unzip

Guía de Trabajos Prácticos Página 35


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ejemplo de utilización de gzip:

[root@localhost fcarrara]# gzip archivo.txt


[root@localhost fcarrara]#

Hdparm: Este comando permite visualizar y modificar los parametros del disco duro
para los discos IDE en Linux, de forma que es posible mejorar el rendimiento
obtenido con los mismos.Algunos parámetros básicos del comando hdparm:
- Obtener información/identificación sobre un determinado disco duro:

[root@localhost ~]# hdparm -i /dev/hdc

/dev/hdc:

Model=WDC WD82AA, FwRev=29.05T29, SerialNo=WD-WM9060127218


Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs
FmtGapReq }
RawCHS=16067/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16067/16/63, CurSects=16195536, LBA=yes, LBAsects=16195536
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=no WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3
ATA/ATAPI-4

* signifies the current active mode

[root@localhost ~]#

- Información general sobre el estado del disco duro:


[root@localhost ~]# hdparm /dev/hdc

/dev/hdc:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 16067/16/63, sectors = 16195536, start = 0
[root@localhost ~]#

- Comprobar la velocidad de transferencia:


[root@localhost ~]# hdparm -Tt /dev/hdc

/dev/hdc:
Timing cached reads: 912 MB in 2.00 seconds = 455.72 MB/sec
Timing buffered disk reads: 60 MB in 3.10 seconds = 19.35 MB/sec

Guía de Trabajos Prácticos Página 36


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
[root@localhost ~]#

Interfaz gráfica de ghdparm en version KDE:

Mknod:Crea un archivo especial(archivo que puede enviar y recibir datos). Un archivo


especial puede ser un archivo de caracteres.
Sintaxis: # mknod [options] name type [major minor]

Para seleccionar que tipo (TYPE) de dispositivo realizar utilizar uno de los siguientes
argumentos:

p : Crea un archivo FIFO (named pipe).


b : Crea un archivo de bloques (block file).
c o u : Crea un archive de caracteres.

Opciones del comando:


-m mode, --mode=mode : Determina el modo del archive del dispositivo.

Find: sirve para localizar archivos, podemos encontrar los últimos archivos.
modificados.

Rsync: Permite replicar eficientemente un sistema de archivos. La segunda gran


característica es la capacidad de archivar viejas copias de archivos que han sido
modificadas o eliminadas. Cuando se hace una copia de seguridad, le decimos a rsync
que cree un directorio llamado 'YY-DD-MM' como lugar para almacenar los cambios
incrementales. Seguidamente, rsync examina los servidores de los que hacemos copias
de seguridad de los cambios. Si un archivo ha cambiado, se copia la versión vieja al
directorio incremental, y luego sobrescribe el archivo en el directorio principal de
copias de seguridad.

Guía de Trabajos Prácticos Página 37


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La sintaxis de este comando es:
# rsync --force --ignore-errors --delete --delete-excluded --exclude-from=exclude_file
--backup --backup-dir=`date +%Y-%m-%d` -av

Los parámetros y opciones son:

• --backup: crea copias de seguridad de los archivos antes de sobrescribirlos.


• --backup-dir=`date +%Y-%m-%d`: crea un directorio de copia de seguridad
para esas copias de seguridad, las cuales aparecerán de este modo: 2006-08-15
• -av: modo de archivo y modo detallado.

-E2fsck: Permite crear un sistema de archivos Ext2 ó Ext3.


ejemplo: # mke2fs partition
# mke2fs /dev/hdc1

-Cpio: Utilidad para el archivo de datos.

-Dd: Utilidad para copiar y convertir datos.

-Fdisk: Este comando sirve para editar la tabla de particiones. Solo pueden ser
accedidos disco IDE y SCSI con fdisk. Para utilizar este comando:

# fdisk /dev/hda

Se visualizara algo similar a lo siguiente:

# fdisk /dev/hda
The number of cylinders for this disk is set to 4982. There is nothing
wrong with that,
but this is larger than 1024, and in certain setups could cause
problems with software
that runs at boot time:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSes (e.g., DOS FDISK
or the OS/2 FDISK)

Las opciones que presenta el comando son las siguientes:


a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id

Guía de Trabajos Prácticos Página 38


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Cfdisk: utilitario para partición de disco.

Df: Este comando brinda información sobre el total de espacio libre en el sistema de
archivos.
Ejemplos:
- Para ver información sobre todos los sistemas de archivos montados:
# df
Se visualiza una pantalla similar a la siguiente:

[root@localhost ~]# df
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/hdc2 3968124 2071140 1692156 56% /
tmpfs 257892 0 257892 0% /dev/shm

- Para ver el espacio libre en el sistema de archivos en el directorio actual que uno se
encuentra

# cd/
# df .

Se visualiza una pantalla similar a la siguiente


Device 512-blocks free %used iused %iused Mounted on
/dev/hd4 19368 9976 48% 4714 5% /

Cp: Sirve para copiar un archivo.


Ejemplo:
- Para copiar un archivo en el directorio actual
# cp prog.c prog.bak
- Copiar una archivo en otro directorio
cp jones /home/nick/clients
crea el archivo jones en el directorio /home/nick/clients

ARCHIVOS:

-/etc/X11xorg.conf: este archivo guarda información sobre la configuración e


información de sistema tales como: especificaciones del monitor, chipset de la tarjeta
de vídeo, memoria de la tarjeta de vídeo.

Realizaremos la configuracón de X11 tomando como ejemplo la configuración del


monitor.

Guía de Trabajos Prácticos Página 39


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
El primer paso es generar una configuración inicial. Como root ejecute:

# Xorg -configure

Esto generará la estructura del archivo de configuración de X11 en el directorio /root


con el nombre xorg.conf.new. El programa X11 intentará encontrar el hardware
gráfico del sistema y escribirá el archivo de configuración que cargará los
controladores adecuados que se han detectado.

El siguiente paso es probar la configuración para verificar que Xorg puede trabajar con
el hardware gráfico del sistema. Escriba:

# Xorg -config xorg.conf.new

Si aparece u cuadrado negro y gris junto con el cursor del ratón de X la configuración
ha tenido éxito. Para salir de la prueba pulse Ctrl+Alt+Retroceso a la vez.

Después, modifique xorg.conf. a su gusto. Estos valores se añaden al fichero


xorg.conf.new en la sección "Monitor":

Section "Monitor"

Identifier "Monitor0"

VendorName "Monitor Vendor"

ModelName "Monitor Model"

HorizSync 30-107

VertRefresh 48-120

EndSection

Las palabras HorizSync y VertRefresh podrían no existir en el fichero de


configuración. Si no existen es necesario añadirlas con la frecuencia horizontal correcta
puesta después de la palabra HorizSync y la frecuencia vertical correcta después de la
palabra VertRefresh.

X permite usar las características DPMS (Energy Star) con los monitores que lo
soportan. El programa controla el “timeout”, y puede forzar los modos “standby”,
suspendido, o apagado. Si desea habilitar las características DPMS para su monitor
tendrá que añadir la siguiente línea en la sección monitor:

Option "DPMS"

Mientras el fichero de configuración xorg.conf.new sigue abierto en el editor


seleccione la resolución por defecto y la profundidad de color deseada. Esto se define
en la sección "Screen":

Guía de Trabajos Prácticos Página 40


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Section "Screen"

Identifier "Screen0"

Device "Card0"

Monitor "Monitor0"

DefaultDepth 24

SubSection "Display"

Viewport 0 0

Depth 24

Modes "1024x768"

EndSubSection

EndSection

La palabra DefaultDepth describe la profundidad de color a la que arrancará por


defecto. La palabra Modes describe la resolución a la que funcionará para esa
profundidad de color. En el ejemplo anterior la profundidad de color es 24 bits por
pixel. En esta profundidad de color la resolución aceptada es 1024 por 768 pixels.

Para acabar guarde el fichero de configuración y pruébelo usando el modo de prueba


descrito anteriormente.

Si todo es correcto el fichero de configuración tiene que instalarse en un lugar donde lo


encuentre. Este lugar es para nuestro caso /etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

El proceso de configuración de X11 ahora está completo.

Guía de Trabajos Prácticos Página 41


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 3/2006


CLIENTE, SERVIDOR, IP, DNS:

- Definición Estática de IP:


ir a /etc/resolv.conf y poner el nameserver correcto: “nameserver 192.168.2.1”

Luego ejecutar los siguientes comandos:


a) # ifconfig eth0 192.168.2.243 netmask 255.255.255.0
b) # route add default gw 192.168.2.254

Mantener la configuración en la definición de la IP:


ir a “/etc/sysconfig/network-scripts” y modificar el archivo “ifcfg-eth0” y escribir los
siguientes valores:

DEVICE=eth0 (indica el dispositivo de red)


BOOTPROTO=static (indica que la IP es estática, si el valor es “yes” la ip es asignada
por un servidor DHCP)
HWADDR=00:D0:09:FF:98:86 (Dirección de la placa de red en exadecimal)
ONBOOT=yes
IPADDR=192.168.2.243
NETMASK=255.255.255.0
GATEWAY=192.168.2.254

Luego de incluir estos datos es necesario reiniciar el servicio de red. Para esto, debemos
ejecutar: “/etc/init.d/network restart”

-IP dinámica (DHCP):


De manera que la IP del ordenador sea dinámica debemos modificar el archivo
“/etc/sysconfig/network-scripts/ifcfg-eth0” poniendo el valor “yes” en la variable
“BOOTPROTO”.

-Rutas:
Para definir rutas, estando logueado como root y con perfil de root (# su -l)
introducimos el siguiente comando:
# route add default gw 192.168.2.254

-Crear direcciones virtuales:


Para crear una nueva IP en nuestra maquina debemos generar un archivo dentro de
“/etc/sysconfig/network-scripts/” con el nombre “/ifcfg-eth0:0” en nuestro caso. La
numeración 0:0 significa que corresponde al primer dispositivo virtual del primer
dispositivo ethernet. Luego modificamos este arhcivo con los siguientes datos:

DEVICE=eth0:0
IPADDR=192.168.2.243

Guía de Trabajos Prácticos Página 42


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
NETMASK=255.255.255.0
BOOTPROTO=static
HWADDR=00:D0:09:FF:98:86
ONBOOT=yes

Reiniciamos el servicio de red: # /etc/init.d/network restart


Finalmente comprobamos si fue creada satisfactoriamente la nueva interfaz al ejecutar
el comando “ifconfig”.

-Armar un router, pasos:


- Antes que nada, debemos asignar correctamente las IP´s.
- Asignamos al servidor la siguiente ip: 192.168.2.243
- #ifconfig eth0:1 192.168.2.243 netmask 255.255.255.0
- Luego, debemos activar el forwarding (reenvío de paquetes):
o # echo 1 > /proc/sys/net/ipv4/ip_forward
o # cat /proc/sys/net/ipv4/ip_forward
1
#

Observamos que al hacer cat a el archivo “/proc/sys/net/ipv4/ip_forward” obtenemos el


valor “1”, esto significa que esta activado el reenvío de paquetes.

o Ahora debemos configurar las maquinas clientes con el GW correcto, osea


el IP del servidor. Para eso hacemos:
# route add default gw 192.168.2.243

Con esto ya tendremos nuestro router Linux. Hay que tener cuidado con el firewall, ya
que puede impedir el funcionamiento de nuestro router. En la instalación realizada,
desactivamos el firewall.

ARCHIVOS:

-Archivo /etc/host.conf

El archivo /etc/host.conf , conocido como el archivo de configuración de


resolución, especifica los servicios a utilizar para la resolución de nombres y el orden
en que ellos van a ser utilizados. Este archivo ha sido reemplazado por
/etc/nsswitch.conf, pero todavía se proporciona para los usos que utilizan otras librerías.

Por defecto con Fedora, este archivo contiene :

order hosts,bind

El “order” demostrado aquí, primero lo consulto en /etc/hosts para un hostname. Si el


hostname se encuentra en /etc/hosts, utiliza el IP address especificado allí. Si el
hostname no se encuentra en /etc/hosts, intenta resolver el nombre usando DNS

Guía de Trabajos Prácticos Página 43


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
(BIND). Otra opción está disponible, aunque no es fijada por el defecto. Éste es el
NIS, que es servicio informativo de la red de Sun.

-Archivo /etc/nsswitch.conf

El archivo /etc/nsswitch.conf es el archivo de base de datos del sistema y conocido


como archivo de configuración de servicio de nombres. Contiene los métodos para
muchos tipos de operaciones de búsqueda, pero aquí nos referimos a la resolución del
DNS, así que la línea que estamos interesados adentro es la línea de los anfitriones. Esta
línea define los métodos que se utilizarán para resolver los hostnames y la orden en los
cuales aplicarlos.

Los métodos usados son:

- db Local database files (*.db)  (archivos de base de datos locales).


- files Use the local file /etc/hosts  (los archivos utilizan el archivo
local /etc/hosts).
- dns Use BIND  (dns utiliza BIND).
- nis Use Sun's NIS ( nis utiliza el NIS de Sun ).
- nisplus Use Sun's NIS+ (nisplus utilize el NIS+ de Sun).

El arhivo por defecto de Fedora Core se ve así:

passwd: files
shadow: files
group: files

#hosts: db files nisplus nis dns


hosts: files dns

Con este defecto, los mismos métodos y orden se especifican por defecto en
/etc/host.conf. Se busca primero en /etc/hosts, y luego se utiliza DNS.

Otro ejemplo sería:


hosts: files dns nisplus nis

En este ejemplo, las búsquedas del nombre que fallan en /etc/hosts y con el DNS
continúan al NIS mantienen (nisplus y nis). El NIS incluido con la base de Fedora es el
demonio del ypserv.
Cuando estás probando tu configuración, puede ser que desees parar de buscar en un
punto específico. Puedes utilizar la entrada [NOTFOUND=return]. Por ejemplo, para
parar de buscar después de mirar en /etc/hosts, utilizarías la línea:
hosts: files [NOTFOUND=return] dns nisplus nis

Guía de Trabajos Prácticos Página 44


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
-Archivo /etc/resolv.conf

El archivo /etc/resolv.conf especifica cómo se hacen las búsquedas del DNS. El archivo
contiene una lista de los nameservers (servidores de DNS a conectar) y de algunas
opciones.

Por ejemplo, /etc/resolv.conf generalmente contiene por lo menos dos entradas del
nameserver, especificando un nameserver primario y secundario. Este ejemplo utiliza
una dirección utilizada en el IUA:

nameserver 192.168.1.2

Las direcciones del IP enumeradas en el archivo de /etc/resolv.conf son asignadas por


una ISP (en nuestro caso las asignamos nosotros) y representan generalmente los
nameservers remotos. Otras palabras claves opcionales, tales como domain y search, se
utilizan para especificar un dominio local y para buscar la lista de preguntas; los dos
términos son mutuamente exclusiva.

La información en /etc/resolv.conf se puede configurar de la herramienta de la sistema-


system-config-network del menu Network, item System Settings. La paleta Devices
permite que incorporar o corregir la información del dispositivo. En nuestro caso a esta
configuración la realizamos manualmente editando el archivo /etc/resolv.conf.

-Archivo /etc/hosts

El archivo /etc/hosts contiene una tabla de los hosts locales (hostnames and IP
addresses) usados para el DNS- type lookups en operaciones de búsqueda. Se utiliza el
archivo si los hosts claves se incluyen en la línea “order” de /etc/host.conf.

Usar /etc/hosts para proporcionar hostnames y alias de hostname puede ser eficaz
cuando está utilizado en redes pequeñas. Por ejemplo, un pequeño /etc/hosts muestra
esto:

...
192.168.2.3 dogdog.hudson.com dogdog webserver #always breaks
192.168.2.4 humphrey.hudson.com humphrey mailserver
192.168.2.5 pluto.hudson.com pluto music repository
192.168.2.6 mickey.hudson.com fileserver
...

Este ejemplo demuestra una lista corta de hosts. El formato del archivo es un IP address,
un hostname/Domain Name, y alias (tales como dogdog y mickey). Usando este
acercamiento, un administrador de sistema mantendría y actualizaría al día la lista de
hosts principales, y después replicaría el archivo completo de /etc/hosts a cada
computadora en el LAN. Los usuarios pueden entonces tener acceso a otros sistemas
simplemente usando el hostname alias (por ejemplo dogdog). El formato de /etc/hosts es
fácil de entender y fácil mantener, y se puede utilizar conjuntamente con el DNS, y

Guía de Trabajos Prácticos Página 45


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
conjuntamente con un servidor dinámico del protocolo de la configuración del anfitrión
(DHCP) en la misma red.

Dos desventajas de usar /etc/hosts llegan a ser fácilmente evidentes en una red grande:
mantenimiento y réplica. Las listas enormes de las direcciones IP, de los hostnames, y
del aliasesalong cambian muy regularmente y hay que asegurar que estos cambios estén
actualizados en cada host día a día

El archivo de /etc/hosts se puede corregir/editar desde la consola o con la herramienta


de configuración del GUI, que se puede acceder a través del menú de la red en el menú
de los ajustes del sistema (System Settings menu). La paleta de hosts permite el corregir
del archivo.

COMANDOS:

host: Determina la dirección IP de un "Host" , host -a despliega toda la información de


DNS.
[root@localhost ~]# host 192.168.2.243
Host 243.2.168.192.in-addr.arpa not found: 3(NXDOMAIN)

ifconfig: Permite configurar una interfase de Red y ver el "status" de ésta. Por ejemplo,
ifconfig <interfase>  ifconfig eth0
En la página 39 sección “Definición estática de IP” se hace uso de este comando para
configurar una interfase de red.

[root@localhost ~]# ifconfig


eth0 Link encap:Ethernet HWaddr 00:D0:09:FC:7A:1F
inet addr:192.168.2.243 Bcast:192.168.2.255
Mask:255.255.255.0
inet6 addr: fe80::2d0:9ff:fefc:7a1f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:770 errors:0 dropped:0 overruns:0 frame:0
TX packets:287 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87447 (85.3 KiB) TX bytes:37632 (36.7 KiB)
Interrupt:5 Base address:0xe000

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2539 errors:0 dropped:0 overruns:0 frame:0
TX packets:2539 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4509674 (4.3 MiB) TX bytes:4509674 (4.3 MiB)
[root@localhost ~]#

[root@localhost ~]# ifconfig eth0


eth0 Link encap:Ethernet HWaddr 00:D0:09:FC:7A:1F

Guía de Trabajos Prácticos Página 46


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
inet addr:192.168.2.243 Bcast:192.168.2.255
Mask:255.255.255.0
inet6 addr: fe80::2d0:9ff:fefc:7a1f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:811 errors:0 dropped:0 overruns:0 frame:0
TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:92293 (90.1 KiB) TX bytes:40020 (39.0 KiB)
Interrupt:5 Base address:0xe000
[root@localhost ~]#

ifup: Habilita la interfase especificada, ejemplo: ifup eth0 .

[root@localhost ~]# ifup eth0:0


[root@localhost ~]#

ifdown: Deshabilita la interfase especificada, ejemplo: ifdown eth0 .

[root@localhost ~]# ifdown eth0:0


[root@localhost ~]#

netstat: la información sobre las conexiones de red activas.

[root@localhost ~]# netstat -l


Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost.localdomain:50000 *:* LISTEN
tcp 0 0 localhost.localdomain:50002 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
udp 0 0 *:filenet-tms *:*
udp 0 0 *:mdns *:*
udp 0 0 *:filenet-rpc *:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6345 @/tmp/fam-root-
unix 2 [ ACC ] STREAM LISTENING 4148 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 4322 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 5565 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 5693 /tmp/ssh-
yguLAc1936/agent.1936
unix 2 [ ACC ] STREAM LISTENING 5719 /tmp/orbit-root/linc-7c1-0-
7a3dd32f099f
unix 2 [ ACC ] STREAM LISTENING 5728 /tmp/orbit-root/linc-790-0-
238e4e785808
unix 2 [ ACC ] STREAM LISTENING 5894 /tmp/.ICE-unix/1936
unix 2 [ ACC ] STREAM LISTENING 5903 /tmp/keyring-5085So/socket
unix 2 [ ACC ] STREAM LISTENING 5915 /tmp/orbit-root/linc-7c6-0-
551bdbd54aef5
unix 2 [ ACC ] STREAM LISTENING 5934 /tmp/orbit-root/linc-7c8-0-
218d970f925ff
unix 2 [ ACC ] STREAM LISTENING 5962 /tmp/orbit-root/linc-7cd-0-
7aaf43b866322
unix 2 [ ACC ] STREAM LISTENING 4496 /var/run/avahi-daemon/socket

Guía de Trabajos Prácticos Página 47


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
unix 2 [ ACC ] STREAM LISTENING 3882
/var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 3922 /var/run/sdp
unix 2 [ ACC ] STREAM LISTENING 4286 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 4561 @/tmp/hald-local/dbus-
OiXEzU6PX1
unix 2 [ ACC ] STREAM LISTENING 5700 @/tmp/dbus-YKV9154Pqj
unix 2 [ ACC ] STREAM LISTENING 5543 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 6189 /tmp/mapping-root
unix 2 [ ACC ] STREAM LISTENING 6715 /tmp/gedit.root.1148357902
[root@localhost ~]#

netstat -a: Todas la conexiones de Red originadas y recibidas por el "Host"

[root@localhost ~]#netstat -a

unix 3 [ ] STREAM CONNECTED 6236


unix 3 [ ] STREAM CONNECTED 6229
/var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 6228
unix 3 [ ] STREAM CONNECTED 6227 /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 6226
unix 3 [ ] STREAM CONNECTED 6234 /tmp/.ICE-unix/1936
unix 3 [ ] STREAM CONNECTED 6216
unix 3 [ ] STREAM CONNECTED 6205 /tmp/.X11-unix/X0
unix 3 [ ] STREAM CONNECTED 6204
unix 3 [ ] STREAM CONNECTED 6202 @/tmp/dbus-YKV9154Pqj
unix 3 [ ] STREAM CONNECTED 6201
unix 3 [ ] STREAM CONNECTED 6203 /tmp/mapping-root
unix 3 [ ] STREAM CONNECTED 6185
unix 3 [ ] STREAM CONNECTED 6184 /tmp/orbit-root/linc-7d9-0-
17626f35dc3dc
unix 3 [ ] STREAM CONNECTED 6183
unix 3 [ ] STREAM CONNECTED 6182 /tmp/orbit-root/linc-7e2-0-
74fce86cd279a
unix 3 [ ] STREAM CONNECTED 6181
unix 3 [ ] STREAM CONNECTED 6169 /tmp/orbit-root/linc-7d9-0-
17626f35dc3dc
unix 3 [ ] STREAM CONNECTED 6168
unix 3 [ ] STREAM CONNECTED 6167 /tmp/orbit-root/linc-7e4-0-
6b392d1a52667
unix 3 [ ] STREAM CONNECTED 6166
unix 3 [ ] STREAM CONNECTED 6159 /tmp/orbit-root/linc-7e4-0-
6b392d1a52667
unix 3 [ ] STREAM CONNECTED 6158
unix 3 [ ] STREAM CONNECTED 6157 /tmp/orbit-root/linc-7e2-0-
74fce86cd279a
unix 3 [ ] STREAM CONNECTED 6156
unix 3 [ ] STREAM CONNECTED 6155 /tmp/orbit-root/linc-7db-0-
53e640041de
unix 3 [ ] STREAM CONNECTED 6154
unix 3 [ ] STREAM CONNECTED 6153 /tmp/orbit-root/linc-7e2-0-
74fce86cd279a
unix 3 [ ] STREAM CONNECTED 6152

Guía de Trabajos Prácticos Página 48


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
netstat -r: Muestra la tabla de ruteo "routing table" del sistema

[root@localhost ~]# netstat -r


Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt
Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.2.254 0.0.0.0 UG 0 0 0 eth0
[root@localhost ~]#

netstat -i: Estadisticas de red de cada interfase

[root@localhost ~]# netstat -i


Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR
Flg
eth0 1500 0 1511 0 0 0 1341 0 0 0
BMRU
lo 16436 0 2539 0 0 0 2539 0 0 0
LRU
[root@localhost ~]#

nslookup: Busca información en los servidores DNS, ejemplo: nslookup -query=mx


osomosis.com , si no se especifican parámetros se entra en modo interactivo

[root@localhost ~]# nslookup -query=mx google.com


Server: 192.168.2.2
Address: 192.168.2.2#53

Non-authoritative answer:
google.com mail exchanger = 10 smtp1.google.com.
google.com mail exchanger = 10 smtp2.google.com.
google.com mail exchanger = 10 smtp3.google.com.
google.com mail exchanger = 10 smtp4.google.com.

Authoritative answers can be found from:


google.com nameserver = ns1.google.com.
google.com nameserver = ns2.google.com.
google.com nameserver = ns3.google.com.
google.com nameserver = ns4.google.com.
ns1.google.com internet address = 216.239.32.10
ns2.google.com internet address = 216.239.34.10
ns3.google.com internet address = 216.239.36.10
ns4.google.com internet address = 216.239.38.10

route add: Permite agregar tablas de ruteo de y hacia el "Host". Ejemplo: Para guiar
toda la información de la red 192.168.2.243 netmask 255.255.255.0 vía la interfase
eth0:

Guía de Trabajos Prácticos Página 49


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
ping maquina: Para comprobar si tenemos contacto con la máquina maquina (maquina:
nombre o IP)

[root@localhost ~]# ping 192.168.2.254


PING 192.168.2.254 (192.168.2.254) 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=255 time=1.21 ms
364 bytes from 192.168.2.254: icmp_seq=2 ttl=255 time=1.32 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=255 time=1.29 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=255 time=1.34 ms
64 bytes from 192.168.2.254: icmp_seq=5 ttl=255 time=1.30 ms
64 bytes from 192.168.2.254: icmp_seq=6 ttl=255 time=1.33 ms
64 bytes from 192.168.2.254: icmp_seq=7 ttl=255 time=1.30 ms
64 bytes from 192.168.2.254: icmp_seq=8 ttl=255 time=1.33 ms
64 bytes from 192.168.2.254: icmp_seq=9 ttl=255 time=1.31 ms
64 bytes from 192.168.2.254: icmp_seq=10 ttl=255 time=1.33 ms
64 bytes from 192.168.2.254: icmp_seq=11 ttl=255 time=1.32 ms
64 bytes from 192.168.2.254: icmp_seq=12 ttl=255 time=1.33 ms
64 bytes from 192.168.2.254: icmp_seq=13 ttl=255 time=1.30 ms

--- 192.168.2.254 ping statistics ---


13 packets transmitted, 13 received, 0% packet loss, time 12002ms
rtt min/avg/max/mdev = 1.211/1.312/1.342/0.038 ms
[root@localhost ~]#

Ping y Traceroute:
Son dos aplicaciones simples y basadas en ICMP. El Ping usa los mensajes ICMP Echo
y Echo Reply para determinar si un host es alcanzable. El Traceroute envía datagramas
IP con bajos TTLs para que expiren durante la ruta que los dirige al destino. Utiliza los
valores de los mensajes ICMP Time Exceeded para determinar en que parte de la red
expiraron los datagramas y reconstruye así un esquema de la ruta hasta el host de
destino.
El programa "traceroute" nos permite determinar la ruta que siguen los datagramas IP
de host a host, puede ser útil cuando se usa para la depuración. El "traceroute" se basa
en ICMP. Envía un datagrama IP con un tiempo de vida(TTL) de 1 al host de destino.
El primer "router" que vea el datagrama decrementará el TTL a 0 y devolverá el
mensaje ICMP "Tiempo excedido"("Time Exceeded"), además de eliminar el
datagrama. De este modo se identifica el primer "router" del camino. Este proceso se
puede repetir sucesivamente con valores mayores del TTL con el fin de identificar la
serie de "routers" que se encuentran en el camino hasta el host de destino. En realidad,
el "traceroute" envía al host de destino datagramas UDP que referencian un número de
puerto que está fuera del rango usado normalmente. Esto permite al "traceroute"
determinar cuando se ha alcanzado el host de destino, es decir, cuando recibe el mensaje
ICMP "Puerto inalcanzable"("Port Unreachable"). Traceroute, muestra la ruta de tu
conexión.

Prueba realizada con el comando “traceroute”:

[root@200-127-19-75 /]# traceroute google.com


traceroute to google.com (64.233.187.99), 30 hops max, 40 byte packets
1 * * *

Guía de Trabajos Prácticos Página 50


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
2 192.168.9.9 (192.168.9.9) 30.930 ms 37.275 ms 34.282 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 67.17.193.81 (67.17.193.81) 40.001 ms 37.015 ms 37.590 ms
9 * * *
10 * * *
11 209.85.130.18 (209.85.130.18) 180.008 ms 209.85.130.14
(209.85.130.14) 184.901 ms 209.85.130.16 (209.85.130.16) 182.926 ms
12 72.14.238.136 (72.14.238.136) 206.003 ms 72.14.238.97
(72.14.238.97) 190.941 ms 190.991 ms
13 72.14.239.21 (72.14.239.21) 198.836 ms 72.14.236.173
(72.14.236.173) 191.876 ms 72.14.238.157 (72.14.238.157) 188.872 ms
14 72.14.239.16 (72.14.239.16) 196.900 ms 72.14.236.19
(72.14.236.19) 198.912 ms 216.239.49.222 (216.239.49.222) 191.874 ms
15 64.233.187.99 (64.233.187.99) 209.860 ms 216.239.49.226
(216.239.49.226) 199.875 ms 201.903 ms
[root@200-127-19-75 /]#

Guía de Trabajos Prácticos Página 51


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 4/2006


INSTALACIÓN DE PAQUETES:
RPM

El RPM, es un sistema de gestión de paquetes que puede ser utilizado por cualquiera y
funciona sobre la plataforma Fedora Linux como otras distribuciones de sistemas Linux
y Unix, Red Hat, etc

Al usuario, RPM le proporcion muchas características que le permiten administrar el


sistema de un modo fácil y rápido. La instalación, la desinstalación y la actualización de
los paquetes RPM son operaciones que requieren una sola línea de comandos. RPM
contiene una base de datos de paquetes instalados y de sus archivos, que le permitirá
efectuar cualquier tipo de verificación y de consulta del sistema.

Instalar

Los paquetes RPM tienen normalmente nombres como foo-1.0-1.i386.rpm, que


contienen el nombre del paquete (foo), la versión (1.0),el release (1) y la arquitectura
del sistema sobre el que se mueven (i386). Instalar un paquete es tan simple como:

Instalación realizada en clase:

[root@localhost home]# rpm -ivh gpart-0.1-1.h.1.fc3.rf.i386.rpm


warning: gpart-0.1-1.h.1.fc3.rf.i386.rpm: V3 DSA signature: NOKEY, key
ID 6b8d79
e6
Preparing... ################################ [100%]
1:gpart ################################ [100%]
[root@localhost home]#

Paquete que ya ha sido instalado

Si el paquete ya ha sido instalado, verá:

[root@localhost home]# rpm -ivh gpart-0.1-1.h.1.fc3.rf.i386.rpm


gpart package gpart-0.1-1 is already installed
error: gpart-0.1-1.h.1.fc3.rf.i386.rpm cannot be installed
[root@localhost home]#

Dependencias

Los paquetes RPM pueden "depender" de otros paquetes, lo que significa que requieren
que otros paquetes sean instalados en el sistema para que funcione correctamente. Si

Guía de Trabajos Prácticos Página 52


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
intenta instalar un paquete para el cual se presenta el caso de una dependencia no
resuelta, verá aparecer en la pantalla lo siguiente:

[root@localhost home]# rpm -ivh bar-1.0-1.i386.rpm


failed dependencies:
foo is needed by bar-1.0-1
[root@localhost home]#

Para solucionar este error se debe instalar los paquetes solicitados.

Desinstalación

Desinstalar un paquete hacemos:

[root@localhost home]# rpm -e gpart


[root@localhost home]#

Actualización

La actualización de un paquete se realiza de la siguiente manera:

[root@localhost home]# rpm -Uvh gpart-0.1-1.h.1.fc3.rf.i386.rpm


foo ####################################
[root@localhost home]#

RPM desinstala automáticamente las viejas versiones del paquete gpart.

Arrancar Gnome-RPM

Es posible arrancar Gnome-RPM desde una ventana del Terminal con el siguiente
comando:

[root@localhost home]# gnorpm &

YUM
YUM (Yellow dog Updater, Modified) es un gestor automático de paquetería rpm. De
forma totalmente automática, el programa es capaz de calcular y encontrar las
dependencias entre paquetes, ver si están disponibles, descargarlas e instalarlarlas.

Configuración
El fichero principal de configuración de YUM se encuentra en /etc/yum.conf y su
estructura es muy sencilla:

[root@localhost ~]# cat /etc/yum.conf


[main]
cachedir=/var/cache/yum
keepcache=0

Guía de Trabajos Prácticos Página 53


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800

# PUT YOUR REPOS HERE OR IN separate files named file.repo


# in /etc/yum.repos.d
[root@localhost ~]#

Sección [main]: Donde se configuran las opciones globales del sistema, tales como el
directorio de almacenamiento temporal (caché), el nivel de depuración, el archivo de
log, etc.
Sección [Repositorio]: En esta sección configuraremos cada repositorio (sitio de
distribución de paquetería) particular. En las últimas distribuciones de Fedora Core,
también podemos almacenar los repositorios por separado bajo la rama
/etc/yum.repos.d/nombre_repositorio.repo.

[root@localhost ~]# cd /etc/yum.repos.d/


[root@localhost yum.repos.d]# dir
fedora-core.repo fedora-legacy.repo
fedora-development.repo fedora-updates.repo
fedora-extras-development.repo fedora-updates-testing.repo
fedora-extras.repo
[root@localhost ~]#

Variables: Usadas en las opciones name, baseurl y los comandos del archivo de
configuración, ayudan al mantenimiento del mismo. Dichas variables son las siguientes:

Uso del programa


Instalado el programa y configuradas las opciones, es hora de tratar el uso de YUM. Si
tecleamos el comando yum directamente en la consola y pulsamos la tecla Intro,
obtendremos una salida similar a esta:
[root@myserver ~]# yum
You need to give some command

usage: yum [options] < update | install | info | remove | list |


clean | provides | search | check-update | groupinstall |
groupupdate | grouplist | groupinfo | groupremove |
makecache | localinstall | erase | upgrade | whatprovides |
localupdate | resolvedep | shell | deplist >
Aunque las opciones más usadas se reducen a menos de cinco, pasaremos a describir
todas ellas a continuación. Hay que tener en cuenta que todos los comandos deberían
llevar al final, si no se especifica lo contrario, el nombre del paquete o grupo de
paquetes a tratar (por ejemplo yum install firefox o yum groupinstall "GNOME Desktop
Environment"). Algunas posibilidades que nos otrorga YUM.

Guía de Trabajos Prácticos Página 54


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• yum install, yum groupinstall - Instala la última versión del paquete o grupo de
paquetes especificado, atendiendo a todas las dependencias necesarias.
• yum update, yum groupupdate - Actualiza el paquete a la última versión y
atiende todas las dependencias necesarias. Esta opción se puede ejecutar sin
especificar ningún paquete, en cuyo caso la órden actualizará todos los paquetes
actualizables que estén instalados en la máquina. Se puede añadir el flag
--obsoletes al final y se tendrán en cuenta en la actualización todos los paquetes
que pertenezcan a versiones anteriores, lo cual es bastante útil cuando queremos
usar YUM para actualizar un sistema al completo).

Ejemplo realizado en clase:

[root@localhost etc]# yum install mc


Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
mc is installed and is the latest version.
No actions to take
[root@localhost etc]#

Antes de la opciones que acabamos de ver, pueden incluirse otras genéricas que nos
ayudarán en situaciones determinadas

MANEJO DE PROCESOS:

Ps: El comando ps ax muestra una lista de los procesos que se encuentran actualmente
en el sistema, incluyendo los procesos que pertenecen a otros usuarios. Para mostrar el
propietario de un proceso, utilice el comando ps aux. Esto es una lista estática de
información, es decir, es una representación instantánea de los procesos que están en
ejecución en el momento de invocar el comando. La salida ps puede ser larga. Para
evitar que haga scroll fuera de la pantalla, puede canalizarla a través de less:
ps aux | less

Puede utilizar el comando ps en combinación con el comando grep para ver si un


proceso en concreto está en ejecución. Por ejemplo, para ver si emacs sigue en
ejecución, utilice el comando ps ax | grep emacs.

[root@localhost yum.repos.d]# ps
PID TTY TIME CMD
3914 pts/1 00:00:00 bash
4230 pts/1 00:00:00 ps
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 1988 672 ? S 18:49 0:00 init [5]

Guía de Trabajos Prácticos Página 55


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
root 2 0.0 0.0 0 0 ? SN 18:49 0:00
[ksoftirqd/0]
root 3 0.0 0.0 0 0 ? S 18:49 0:00
[watchdog/0]
root 4 0.0 0.0 0 0 ? S< 18:49 0:00
[events/0]
root 5 0.0 0.0 0 0 ? S< 18:49 0:00 [khelper]
root 6 0.0 0.0 0 0 ? S< 18:49 0:00 [kthread]
root 8 0.0 0.0 0 0 ? S< 18:49 0:00
[kblockd/0]
root 9 0.0 0.0 0 0 ? S< 18:49 0:00 [kacpid]
root 80 0.0 0.0 0 0 ? S< 18:49 0:00 [khubd]
root 133 0.0 0.0 0 0 ? S 18:49 0:00 [pdflush]
root 134 0.0 0.0 0 0 ? S 18:49 0:00 [pdflush]
root 136 0.0 0.0 0 0 ? S< 18:49 0:00 [aio/0]
root 1483 0.0 0.0 1820 472 ? Ss 18:50 0:00
/usr/bin/hidd -
root 1566 0.0 0.1 1872 728 ? Ss 18:50 0:00
/usr/sbin/autom
root 1586 0.0 0.1 1940 516 ? S 18:50 0:00
/usr/sbin/smart
root 1595 0.0 0.0 1596 468 ? Ss 18:50 0:00
/usr/sbin/acpid
root 1604 0.0 0.0 15208 496 ? Ssl 18:50 0:00 ./hpiod
root 1609 0.0 0.9 11996 5080 ? S 18:50 0:00
python ./hpssd.
root 1619 0.0 0.2 4968 1108 ? Ss 18:50 0:00
/usr/sbin/sshd
root 1628 0.0 0.0 1820 344 ? Ss 18:50 0:00 gpm -m
/dev/inp
root 1637 0.0 0.2 5172 1128 ? Ss 18:50 0:00 crond
xfs 1668 0.0 0.3 3692 1720 ? Ss 18:50 0:00 xfs
-droppriv -
root 1686 0.0 0.0 2160 460 ? Ss 18:50 0:00
/usr/sbin/atd
avahi 1750 0.0 0.2 2800 1444 ? Ss 18:50 0:00 avahi-
daemon: r
avahi 1751 0.0 0.0 2800 320 ? Ss 18:50 0:00 avahi-
daemon: c
68 1760 0.0 0.6 4944 3260 ? Ss 18:50 0:02 hald
root 1761 0.0 0.1 3132 1024 ? S 18:50 0:00 hald-
runner
root 2648 0.0 0.4 7808 2424 ? Ss 19:30 0:03 sshd:
root@pts/
root 2650 0.0 0.3 4708 1568 pts/2 Ss 19:30 0:00 -bash
root 2744 0.0 0.4 7808 2416 ? Ss 19:36 0:00 sshd:
root@pts/
root 2747 0.0 0.2 4584 1512 pts/4 Ss+ 19:36 0:00 -bash
root 3909 0.0 0.4 7808 2400 ? Ss 20:21 0:00 sshd:
root@pts/
root 3914 0.0 0.3 4704 1620 pts/1 Ss 20:21 0:00 -bash
root 3972 5.5 9.0 56380 46852 pts/2 S+ 20:24 0:12
/usr/bin/python
root 4004 3.0 2.3 18796 12084 tty7 Ss+ 20:25 0:04
/usr/bin/Xorg :
root 4027 0.0 0.2 4580 1476 tty1 Ss+ 20:25 0:00 -bash

Guía de Trabajos Prácticos Página 56


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
root 4232 0.0 0.1 4180 972 pts/1 R+ 20:27 0:00 ps aux
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# ps aux | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 1988 672 ? S 18:49 0:00 init [5]
root 2 0.0 0.0 0 0 ? SN 18:49 0:00
[ksoftirqd/0]
root 3 0.0 0.0 0 0 ? S 18:49 0:00
[watchdog/0]
root 4 0.0 0.0 0 0 ? S< 18:49 0:00
[events/0]
root 5 0.0 0.0 0 0 ? S< 18:49 0:00 [khelper]
root 6 0.0 0.0 0 0 ? S< 18:49 0:00 [kthread]
root 8 0.0 0.0 0 0 ? S< 18:49 0:00
[kblockd/0]
root 9 0.0 0.0 0 0 ? S< 18:49 0:00 [kacpid]
root 80 0.0 0.0 0 0 ? S< 18:49 0:00 [khubd]
root 133 0.0 0.0 0 0 ? S 18:49 0:00 [pdflush]
root 134 0.0 0.0 0 0 ? S 18:49 0:00 [pdflush]
root 136 0.0 0.0 0 0 ? S< 18:49 0:00 [aio/0]
root 135 0.0 0.0 0 0 ? S 18:49 0:00 [kswapd0]
root 223 0.0 0.0 0 0 ? S< 18:49 0:00 [kseriod]
root 298 0.0 0.0 0 0 ? S< 18:49 0:00
[kpsmoused]
root 314 0.0 0.0 0 0 ? S 18:50 0:00
[kjournald]
root 353 0.0 0.0 0 0 ? S< 18:50 0:00 [kauditd]
root 377 0.0 0.1 2208 668 ? S<s 18:50 0:00
/sbin/udevd -d
root 678 0.0 0.0 0 0 ? S< 18:50 0:00
[kgameportd]
root 1091 0.0 0.0 0 0 ? S< 18:50 0:00
[kmirrord]
root 1387 0.0 0.1 1656 556 ? Ss 18:50 0:00 syslogd
-m 0
root 1390 0.0 0.0 1600 396 ? Ss 18:50 0:00 klogd -
[1]+ Stopped ps aux | less
[root@localhost yum.repos.d]#

kill
Kills the process PIDnumber that we want to (it stops running) kill
kill -9 -HUP PIDnumbe does the same. Kill -STOP PIDnumber Stopis until a
PIDnumber new command the NumberPID process. Kill -CONT PIDnumber
Resumes the numberPID process that we stopped before.
killall
Kills processname.
processname
Killall a* Mata todos los procesos q comienzan con a

[root@localhost yum.repos.d]# killall a*


a*: no process killed
[root@localhost yum.repos.d]#

Guía de Trabajos Prácticos Página 57


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
[root@localhost yum.repos.d]# kill -9 1453
[root@localhost yum.repos.d]#

[root@localhost yum.repos.d]# killall pam-panel-icon


[root@localhost yum.repos.d]#

Top: El comando top muestra los procesos que se encuentran actualmente en ejecución
así como información importante sobre los mismos, como la memoria que utilizan y el
tiempo de CPU que consumen. El resultado se muestra en una lista en tiempo real e
interactiva. Un ejemplo de la salida en pantalla de top sería:

[root@localhost yum.repos.d]# top


top - 20:33:29 up 1:43, 5 users, load average: 0.10, 0.58, 0.53
Tasks: 97 total, 2 running, 94 sleeping, 1 stopped, 0 zombie
Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi,
0.0% si
Mem: 515788k total, 440272k used, 75516k free, 40728k
buffers
Swap: 1437808k total, 0k used, 1437808k free, 267680k
cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4456 root 16 0 109m 37m 15m R 4.0 7.4 0:19.29 firefox-
bin
4289 root 15 0 99.2m 12m 7068 S 1.0 2.5 0:10.58 Xorg
4479 root 16 0 2124 1008 796 R 0.7 0.2 0:00.11 top
1 root 16 0 1988 672 572 S 0.0 0.1 0:00.70 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00
ksoftirqd/0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00
watchdog/0
4 root 10 -5 0 0 0 S 0.0 0.0 0:00.05 events/0
5 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 khelper
6 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthread
8 root 10 -5 0 0 0 S 0.0 0.0 0:00.04 kblockd/0
9 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
80 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khubd
133 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
134 root 15 0 0 0 0 S 0.0 0.0 0:00.03 pdflush
136 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
135 root 15 0 0 0 0 S 0.0 0.0 0:00.06 kswapd0

comando u de top

Which user (blank for all): r


[root@localhost yum.repos.d]#

tabla de comandos interactivos con el top


Comando Descripción
[Espacio] Realiza un refresco de la pantalla
[h] Muestra la pantalla de ayuda

Guía de Trabajos Prácticos Página 58


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Comando Descripción
[k] Mata un proceso. Se le pedirá que
introduzca el ID del proceso así como la
señal que hay que enviarle.
[n] Cambia el número de procesos que se
muestran en pantalla. Se le pedirá que
introduzca un número.
[u] Ordena por usuario.
[M] Ordena por ocupación de memoria.
[P] Ordena por ocupación de CPU.

Nice: Este comando sirve para indicar la prioridad de un programa con respecto a otros.
La prioridad (o “nice value”) es medida entre -20 a 20. El número 20 positivo indica la
menor prioridad posible, mientras que el número 20 negativo indica la mayor prioridad.

El valor de nice se indica al iniciar un programa:

$ nice -5 lynx

En este caso se indica que el programa lynx se iniciará con un valor nice de 5. Los
programas por default inician con un valor 10, y sólo root puede otorgar valores
menores a cero, o sea, un usuario normal sólo se puede mover dentro de los números
positivos.

# nice --5 top

Esto indica que el programa top se iniciará con un valor nice de -5. Nótese tanto el
doble guión como el hecho de que es root quien tiene que correr este comando para
poder otorgar valores menores a cero.

uptime : Hora actual, tiempo que lleva el sistema corriendo desde el ultimo "reboot",
usuarios conectados al servidor, carga del sistema en los últimos 1,5 y 15 minutos.
[root@localhost yum.repos.d]# uptime
20:36:04 up 1:46, 5 users, load average: 0.54, 0.56, 0.53
[root@localhost yum.repos.d]#

Vmstat: Es muy similar a top ya que es un condensado de los procesos del sistema,
para que esta herramienta se vuelva dinámica se deben especificar los argumentos:
vmstat -n <numero de segundos por actualizacion >

[root@localhost yum.repos.d]# vmstat


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

Guía de Trabajos Prácticos Página 59


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 72524 41016 231440 0 0 73 39 325 502 11 2 86 2
[root@localhost yum.repos.d]#

[root@localhost yum.repos.d]# vmstat -n 5


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
3 0 0 72372 41072 231820 0 0 73 38 325 503 11 2 86 2
0 0 0 72248 41080 231820 0 0 0 6 264 466 0 0 100 0

CAMBIAR FECHA DEL SISTEMA:


Suponemos que queremos colocar la fecha: 25-Feb-2000 y la hora 16:25.
Esto lo haremos como root:

[root@localhost yum.repos.d]# date --set "2006-09-18 20:32"


lun sep 18 20:32:00 ART 2006
[root@localhost yum.repos.d]#

Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS:

[root@localhost yum.repos.d]# hwclock --set --date="2006-09-18 20:32"


Fri Feb 23 16:25:06 2006 -0.010586 seconds
[root@localhost yum.repos.d]#

SINCRONIZAR RELOJ :

1.- Sincronización del reloj con un servidor de NTP:

[root@localhost ]# ntpdate swisstime.ethz.ch


[root@localhost ]#

2.- Ejecución periódica de un script:


Podemos ejecutar periódicamente un script para mantener la sincronización del reloj.
Para esto, en un archivo llamado /etc/cron.hourly/ntp, lo editamos y escribimos
estas líneas:

[root@localhost ]# cat /etc/cron.hourly/ntp


#!/bin/bash
/usr/sbin/ntpdate -u swisstime.ethz.ch
[root@localhost ]#

Luego le damos los siguientes permisos:

[root@localhost ]# chmod 755 /etc/cron.hourly/ntp


[root@localhost ]#

Con esto conseguimos tener sincronización con un servidor.

Guía de Trabajos Prácticos Página 60


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo práctico Nro. 5/2006


Fecha Inicio: 7/10/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 1 y 2 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Administración de usuarios, Materia: Planeamiento y Control de
grupos y quotas. Proyectos Informáticos

Objetivo:
• Explorar los comandos relacionados.
• Ser capaces de configurar usuarios y grupos.
• Ser capaces de configurar los permisos en los archivos y directorios.
• Manejar los ambientes de Xwindows y línea de comandos.
• Poder obtener ayuda en línea.
• Instalación y configuración sobre escritorios: KDE y Gnome.

Actividades:
• Leer y explorar el capitulo 9 del libro Red Hat Linux Fedora 3.
• Instalar y explorar los escritorios KDE y Gnome, respecto de las herramientas de
configuración (Linuxconf, etc.).

Comandos a comprender:
 adduser, useradd
 chmod
 chown
 chgrp, chown
 edquota
 newgrp
 passwd
 quotaon
 quota
 quotacheck
 quotaoff
 repquota
 su, sudo
 newusers, userpasswd, cosh, logname, system-config-users

Archivos a configurar y comprender:


 /etc/passwd
 /etc/shadow
 /etc/group

Guía de Trabajos Prácticos Página 61


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Bibliografía básica:

• Red Hat Linux Fedora 3 - Unleashed - de Bill Ball Hoyt Duff, Ed. SAMS, 2005.
Sitios de referencia
• www.redhat.com
• www.insflug.org
• www.linuxdoc.com
• stommel.tamu.edu/~baum/linuxlist/linuxlist/
• linux.tucows.com/
• Como buscador preferido: www.google.com, especialmente por el servicio de
traducción.

Guía de Trabajos Prácticos Página 62


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Administración de Archivos

La seguridad en sistemas de archivos se implementa a través de permisos. En Linux hay


tres permisos básicos que son:
- Lectura  r
- Escritura  w
- Ejecución  x

Para cualquier archivo o directorio, los permisos pueden ser establecidos en tres
categorías:
- Propietario: lectura, escritura y ejecución
- Grupo: lectura, escritura y ejecución
- Todos (global): : lectura, escritura y ejecución

A través del comando ls –l se puede visualizar esta información. En la primera columna


veremos algo como “-rw-r—r--”, esto representa los permisos para el propietario, grupo
y todos.

Propietario Grupo Todos


-r w - r-- r--

Ejemplo del comando:

En la primera columna podemos ver los permisos de los archivos. Por ejemplo: el
archivo llamado “mtrr” tiene permisos de lectura y escritura para su dueño (que es
root) y de solo lectura para el grupo (también root) y para todos los usuarios.

Herramientas de manejo de permisos:

chown: modifica el propietario de un archivo:

Guía de Trabajos Prácticos Página 63


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
[root@localhost fcarrara]# chown root archivo.txt
[root@localhost fcarrara]#

En este ejemplo, pongo a root como propietario del archivo archivo.txt.

Con el siguiente comando observo las propiedades del archivo:


[root@localhost fcarrara]# ls -l
total 4
-rw-rw-r-- 1 root root 15 sep 14 21:16 archivo.txt
[root@localhost fcarrara]#

chmod : Modificar permisos de un archivo, directorio, etc.


[root@localhost fcarrara]# chmod 777 archivo.txt
[root@localhost fcarrara]#

El número 777, representa que dí permisos para lectura, escritura, y ejecución tanto al
propietario, el grupo como a todos.

La siguiente tabla nos muestra las 8 posibles variantes de cada uno de estos números.

0 –––  Ningún tipo de permiso definido.


1 ––x  Permiso de ejecución.
2 –w–  Permiso de escritura.
3 –wx  Permisos de escritura y ejecución.
4 r––  Permiso de lectura.
5 r–x  Permisos de lectura y ejecución.
6 rw–  Permisos de lectura y escritura.
7 rwx  Permisos de lectura, escritura y ejecución.

Usuarios:

Fedora posee tres tipos de cuentas de usuario: el súper usuario (root), el usuario de uso
diario, y el usuario del sistema. El tipo de usuario es muy importante porque determina
los permisos y responsabilidad que uno va a tener sobre los archivos.

Todos los usuarios deben tener cuentas en el sistema. En Fedora, la información de las
cuentas de usuario se encuentran en /etc/passwd. Cada cuenta posee un nombre
de usuario, contraseña (las contraseñas se encuentran en /etc/shadow),
ID de usuario (UID) y ID de grupo (GID), el quinto campo contiene
formación especifica del usuario.

Mas adelante, en la sección Archivos a configurar se detallan los archivos


/etc/passwd y /etc/shadow.

Guía de Trabajos Prácticos Página 64


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Grupos:

Los grupos nos permiten manejar usuarios de manera mas fácil. De manera de no tener
que asignar permisos de manera individual por cada usuario, podemos usar grupos para
otorgar o revocar permisos a un gran número de usuarios de manera rápida.

Todos los grupos están listados en /etc/group . A continuación vemos este archivo en
la máquina que utilizamos:

[fedora@200-127-19-238 etc]$ cat group


root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
dbus:x:81:
rpm:x:37:
ntp:x:38:
apache:x:48:
utmp:x:22:
nscd:x:28:
floppy:x:19:
vcsa:x:69:
netdump:x:34:
pcap:x:77:
slocate:x:21:
avahi:x:70:
named:x:25:
mailnull:x:47:
smmsp:x:51:
haldaemon:x:68:
rpc:x:32:
rpcuser:x:29:
nfsnobody:x:65534:
sshd:x:74:
xfs:x:43:
beagleindex:x:58:

Guía de Trabajos Prácticos Página 65


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
hsqldb:x:96:
gdm:x:42:
fedora:x:500:
fcarrara:x:501:
clientes:x:502:fcarrara
invitado:x:503:
[fedora@200-127-19-238 etc]$

- Vamos a realizar un ejemplo de la utilización de grupos:

Queremos que el PEN-DRIVE (/dev/scd0) de nuestra máquina pueda ser usado por
fcarrara, para esto, debemos realizar lo siguiente:

Vemos que el PEN es propiedad de root:


[root@200-127-19-238 ~]# ls -l /dev/sdb1
brw-r----- 1 root root 8, 17 oct 19 16:28 /dev/sdb1

Agregamos un nuevo grupo:


[root@200-127-19-238 ~]# groupadd pendrive
[root@200-127-19-238 ~]#

Cambiamos el grupo dueño del dispositivo:


[root@200-127-19-238 ~]# chgrp pendrive /dev/scd0

Agregamos el usuario aprobado al grupo:


[root@200-127-19-238 ~]# usermod -G pendrive fcarrara

Asegurarse de que el usuario fcarrara sea el administrador del grupo:


[root@200-127-19-238 ~]# gpasswd -A fcarrara pendrive

De esta manera el usuario fcarrara tiene permiso para utilizar el PEN-DRIVE. Todos los
demás usuario que sean agregados al grupo tendrán la misma posibilidad.

Cambios usuarios en sesión su:


Conceder privilegios de administrador de sistema a usuarios regulares
Puede ser necesario que los usuarios regulares ejecuten un comando como si fueran el
usuario root. No se necesitan generalmente estas capacidades, sino que puede ser que en
un determinado momento se requiera acceso a ciertos dispositivos o que funcionen
temporalmente para propósitos de prueba u otros.

Hay dos maneras de correr comandos con privilegios de root: El primer es útil si eres el
super-user y el usuario; el segundo si no eres el usuario regular (como en una red
grande, multiusos).
Cambiar Identidad del usuario temporalmente con el comando del su
Si eres usuario root, pero accedes con un usuario regular porque no requieres realizar
tareas administrativas y necesitas hacer algo que solamente el super-ususario puede
hacer, el comando del su está disponible para este propósito.

Guía de Trabajos Prácticos Página 66


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La sintaxis del comando su es:

$ su opción uusario argumentos

Ejemplo realizado en clase:


Siendo usuario fedora, cambio a usuario root:
[fedora@200-127-186-173 ~]$ su root
Contraseña:
[root@200-127-186-173 fedora]#

Cargo el perfil del usuario root:


[root@200-127-186-173 fedora]# su -l

SUDO:
Es a menudo necesario delegar parte de la autoridad que el root maneja. Para un sistema
grande, esto tiene sentido porque no hay un individuo siempre disponible para realizar
funciones del super-usuario. El problema que hay es que los permisos del UNIX vienen
con una autoridad todo o nada. Incorporar sudo nos permite permita la asignación de
una, varios, o todos los comandos del sistema del root.

Después de que se configure, usar sudo es simple. Un usuario autorizado precede


simplemente el comando autoridad-necesario del super-usuario con el comando del
sudo:

$ sudo command

Después de conseguir la contraseña del usuario, el sudo comprueba el archivo de


/etc/sudoers para ver si autoricen a ese usuario a ejecutar ese comando particular; si
es así el sudo genera un “boleto” para una longitud del tiempo específica que autoriza el
uso de ese comando.

Tres páginas se asocian a sudo: sudo, sudoers, y visudo. El primero cubre el comando
en sí mismo, el segundo el formato del archivo de /etc/sudoers, y el tercero el uso del
editar especial para /etc/sudoers.

El archivo etc/sudores de nuestra computadora se ve así:


[root@200-127-19-238 ~]# cat /etc/sudoers
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers
file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification

Guía de Trabajos Prácticos Página 67


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC
KDEDIR \
LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
LANG LC_ADDRESS LC_CTYPE LC_COLLATE
LC_IDENTIFICATION \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME
LC_NUMERIC \
LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE
LINGUAS \
_XKB_CHARSET"

# Runas alias specification


# User privilege specification
root ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
[root@200-127-19-238 ~]#

El formato básico de una línea de este archivo es:

$ uusario host_computer=comando

para comentar una línea hacemos:


# %wheel ALL=(ALL) NOPASSWD: ALL
Cualquier usuario que este en el lugar del wheel puede ejecutar un
comando sin contraseña. Ejemplo: suponga que le damos permisos al
usuario fedora para controlar la interfaz gráfica de gestión de
usuarios. Para eso agregamos la siguiente línea al archivo
/etc/sudoers.

fedora ALL=/system-config-users

Nuestro archivo quedaría de la siguiente manera:(con negrita resaltamos la nueva


línea):
[root@200-127-19-238 ~]# cat /etc/sudoers
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers
file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification

Guía de Trabajos Prácticos Página 68


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
# Defaults specification

Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC
KDEDIR \
LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
LANG LC_ADDRESS LC_CTYPE LC_COLLATE
LC_IDENTIFICATION \
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME
LC_NUMERIC \
LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE
LINGUAS \
_XKB_CHARSET"

# Runas alias specification


# User privilege specification
root ALL=(ALL) ALL
fedora ALL=/usr/bin/system-config-users
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password


# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
[root@200-127-19-238 ~]#

El comando “sudo -l” presenta una lista a los usuarios con la lista de comandos que
pueden utilizar.

Para el usuario fedora, tenemos los siguientes permisos:


[root@200-127-19-238 ~]# su fedora
[fedora@200-127-19-238 root]$ sudo -l
Password:
User fedora may run the following commands on this host:
(root) /usr/bin/system-config-users
[fedora@200-127-19-238 root]$

Observamos que el usuario fedora puede ejecutar “/usr/bin/system-config-users”

Otros comandos:
Useradd: agregar usuario, ejemplo:
[root@localhost ~]# useradd fcarrara
[root@localhost ~]#

chmod : Modificar permisos de un archivo, directorio, etc.


[root@localhost fcarrara]# chmod 777 archivo.txt
[root@localhost fcarrara]#

Guía de Trabajos Prácticos Página 69


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
En este ejemplo dí permisos para lectura, escritura, y ejecución tanto al propietario, el
grupo como a todos.

Chown: modifica el propietario de un archivo:


[root@localhost fcarrara]# chown root archivo.txt
[root@localhost fcarrara]#

En este ejemplo, pongo a root como propietario del archivo archivo.txt.

chgrp: este comando se utiliza para cambiar el grupo que tiene acceso a directorios o
archivos determinados. En el ejemplo, tengo un archivo que pertence al grupo root y lo
cambio al grupo clientes.
[root@localhost fcarrara]# ls -l
total 4
-rwxrwxrwx 1 root root 15 sep 14 21:16 archivo.txt
[root@localhost fcarrara]# chgrp clientes archivo.txt
[root@localhost fcarrara]# ls -l
total 4
-rwxrwxrwx 1 root clientes 15 sep 14 21:16 archivo.txt
[root@localhost fcarrara]#

groupadd: Crea un nuevo grupo


[root@localhost fcarrara]# groupadd clientes
[root@localhost fcarrara]#

groupdel: borra un grupo.


[root@localhost fcarrara]# groupdel clientes
[root@localhost fcarrara]#

gpasswd: cambia la contraseña de un grupo.

[root@localhost fcarrara]# gpasswd clientes


Cambiando la contraseña para el grupo clientes
Nueva contraseña:
Reintroduzca la nueva contraseña:
[root@localhost fcarrara]#

passwd: permite para cambiar la contraseña del un usuario. En clase, modifique el pass
del usuario fcarrara desde el usuario root.

[root@localhost fcarrara]# passwd fcarrara


Changing password for user fcarrara.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost fcarrara]#

Grpck: Comando para chequear el archivo /etc/group.

[root@200-127-19-238 ~]# grpck

Guía de Trabajos Prácticos Página 70


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
[root@200-127-19-238 ~]#

system-config-users: entorno gráfico para gestionar usuarios y grupos. Ejecuto el


comando para ver el gestionador.

[fedora@200-127-19-238 root]$ system-config-users


[fedora@200-127-19-238 root]$

Archivos a configurar:

- /etc/passwd

El archivo de contraseñas es /etc/passwd. El formato de cada línea es el siguiente:

username:password:uid:gid:gecos:homedir:shell

Los dos puntos separan los campos en el archivo de /etc/passwd. Si no hay


información disponible para un campo, ese campo es vacío, pero aparecen los dos
puntos de ese campo. Si un asterisco aparece en el campo de la contraseña, no le
permitirá a ese usuario abrir sesión. Esto permite poder inhabilitar y reinstalar
fácilmente un usuario más adelante sin tener que ser creado de nuevamente.

Guía de Trabajos Prácticos Página 71


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Archivo /etc/passwd de nuestra computadora:

[root@200-127-19-238 ~]# cat /etc/passwd


root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
pcap:x:77:77::/var/arpwatch:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
beagleindex:x:58:58:User for Beagle
indexing:/var/cache/beagle:/bin/false
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
fedora:x:500:500:fedora:/home/fedora:/bin/bash
fcarrara:x:501:501::/home/fcarrara:/bin/bash
invitado:x:502:503::/home/invitado:/bin/bash
[root@200-127-19-238 ~]#

- /etc/shadow
Se considera un riesgo mantener cualquier contraseña en /etc/passwd porque
cualquier persona con permiso de lectura puede ejecutar un programa malicioso para
obtener las contraseñas del archivo. Para evitar este riesgo, las contraseñas sombra se
utilizan de modo que solamente un x aparezca en el campo de la contraseña de
/etc/passwd; las contraseñas verdaderas se mantienen en /etc/shadow, un archivo
que se pueda leer solamente por el sysadmin.

Guía de Trabajos Prácticos Página 72


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Las contraseñas sombra se permiten automáticamente durante la fase de la instalación
del sistema operativo en los sistemas de Fedora.
Examinemos nuestro archivo sombra de /etc/shadow:

[root@200-127-19-238 ~]# cat /etc/shadow


root:$1$VkMU3QkD$G7MxqZFkTwwYWx4oQpDtX/:13429:0:99999:7:::
bin:*:13429:0:99999:7:::
daemon:*:13429:0:99999:7:::
adm:*:13429:0:99999:7:::
lp:*:13429:0:99999:7:::
sync:*:13429:0:99999:7:::
shutdown:*:13429:0:99999:7:::
halt:*:13429:0:99999:7:::
mail:*:13429:0:99999:7:::
news:*:13429:0:99999:7:::
uucp:*:13429:0:99999:7:::
operator:*:13429:0:99999:7:::
games:*:13429:0:99999:7:::
gopher:*:13429:0:99999:7:::
ftp:*:13429:0:99999:7:::
nobody:*:13429:0:99999:7:::
dbus:!!:13429:0:99999:7:::
rpm:!!:13429:0:99999:7:::
ntp:!!:13429:0:99999:7:::
apache:!!:13429:0:99999:7:::
nscd:!!:13429:0:99999:7:::
vcsa:!!:13429:0:99999:7:::
netdump:!!:13429:0:99999:7:::
pcap:!!:13429:0:99999:7:::
avahi:!!:13429:0:99999:7:::
named:!!:13429:0:99999:7:::
mailnull:!!:13429:0:99999:7:::
smmsp:!!:13429:0:99999:7:::
haldaemon:!!:13429:0:99999:7:::
rpc:!!:13429:0:99999:7:::
rpcuser:!!:13429:0:99999:7:::
nfsnobody:!!:13429:0:99999:7:::
sshd:!!:13429:0:99999:7:::
xfs:!!:13429:0:99999:7:::
beagleindex:!!:13429:0:99999:7:::
hsqldb:!!:13429:0:99999:7:::
gdm:!!:13429:0:99999:7:::
fedora:$1$qHU6dKmZ$4vpCmHcFwjWpa6HvHjyeC1:13429:0:99999:7:::
fcarrara:!!:13438:0:99999:7:::
invitado:!!:13440:0:99999:7:::
[root@200-127-19-238 ~]#

- /etc/group
Esta explicado en la sección grupos

Creación y Manipulación de quotas de Usuario

Guía de Trabajos Prácticos Página 73


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Como primer paso, deberemos crear una partición de las formas vistas en los prácticos
anteriores. De esta manera, podemos utilizar los comandos fdisk o cfdisk para el caso de
las alternativas textuales. No obstante, también podríamos utilizar un gestor gráfico, tal
es el caso que ejemplificaremos ahora, ya que en los prácticos anteriores no se
mencionó.
La alternativa gráfica consiste en la instalación (por cualquiera de los medios
observados) de la aplicación “gparted”.
Así podríamos ejecutar lo siguiente: “yum install gparted”, que nos instalaría la
aplicación mencionada.

[root@201-212-115-243 ~]# yum install gparted


Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core
[1/3]
core 100% |=========================| 1.1 kB
00:00
extras
[2/3]
extras 100% |=========================| 1.1 kB
00:00
updates
[3/3]
updates 100% |=========================| 1.2 kB
00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 1.6 MB
00:24
extras : ##################################################
5476/5476
Added 33 new packages, deleted 16 old in 4.42 seconds
primary.xml.gz 100% |=========================| 375 kB
00:07
updates : ##################################################
1004/1004
Added 258 new packages, deleted 283 old in 3.00 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for gparted to pack into transaction set.
gparted-0.3.1-1.fc5.i386. 100% |=========================| 10 kB
00:00
---> Package gparted.i386 0:0.3.1-1.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: libgdkmm-2.4.so.1 for package: gparted
--> Processing Dependency: libglibmm-2.4.so.1 for package: gparted
--> Processing Dependency: libpangomm-1.4.so.1 for package: gparted
--> Processing Dependency: libatkmm-1.6.so.1 for package: gparted
--> Processing Dependency: libgtkmm-2.4.so.1 for package: gparted
--> Processing Dependency: libsigc-2.0.so.0 for package: gparted
--> Processing Dependency: libparted-1.7.so.1 for package: gparted
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.

Guía de Trabajos Prácticos Página 74


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
---> Downloading header for parted to pack into transaction set.
parted-1.7.1-15.fc5.i386. 100% |=========================| 24 kB
00:00
---> Package parted.i386 0:1.7.1-15.fc5 set to be updated
---> Downloading header for gtkmm24 to pack into transaction set.
gtkmm24-2.8.9-1.fc5.i386. 100% |=========================| 6.8 kB
00:00
---> Package gtkmm24.i386 0:2.8.9-1.fc5 set to be updated
---> Downloading header for libsigc++20 to pack into transaction set.
libsigc++20-2.0.17-1.i386 100% |=========================| 5.7 kB
00:00
---> Package libsigc++20.i386 0:2.0.17-1 set to be updated
---> Downloading header for glibmm24 to pack into transaction set.
glibmm24-2.8.12-1.i386.rp 100% |=========================| 5.5 kB
00:00
---> Package glibmm24.i386 0:2.8.12-1 set to be updated
--> Running transaction check

Dependencies Resolved

======================================================================
=======
Package Arch Version Repository
Size
======================================================================
=======
Installing:
gparted i386 0.3.1-1.fc5 extras
487 k
Installing for dependencies:
glibmm24 i386 2.8.12-1 extras
144 k
gtkmm24 i386 2.8.9-1.fc5 extras
960 k
libsigc++20 i386 2.0.17-1 extras
49 k
Updating for dependencies:
parted i386 1.7.1-15.fc5 updates
543 k

Transaction Summary
======================================================================
=======
Install 4 Package(s)
Update 1 Package(s)
Remove 0 Package(s)
Total download size: 2.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): parted-1.7.1-15.fc 100% |=========================| 543 kB
00:08
(2/5): gtkmm24-2.8.9-1.fc 100% |=========================| 960 kB
00:14
(3/5): libsigc++20-2.0.17 100% |=========================| 49 kB
00:01

Guía de Trabajos Prácticos Página 75


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
(4/5): glibmm24-2.8.12-1. 100% |=========================| 144 kB
00:02
(5/5): gparted-0.3.1-1.fc 100% |=========================| 487 kB
00:07
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID
1ac70ce6
Public key for gtkmm24-2.8.9-1.fc5.i386.rpm is not installed
Retrieving GPG key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-
extras
Importing GPG key 0x1AC70CE6 "Fedora Project <fedora-
extras@fedoraproject.org>"
Is this ok [y/N]: y
Key imported successfully
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: libsigc++20 #########################
[1/6]
Installing: glibmm24 #########################
[2/6]
Installing: gtkmm24 #########################
[3/6]
Updating : parted #########################
[4/6]
Installing: gparted #########################
[5/6]
Cleanup : parted #########################
[6/6]

Installed: gparted.i386 0:0.3.1-1.fc5


Dependency Installed: glibmm24.i386 0:2.8.12-1 gtkmm24.i386 0:2.8.9-
1.fc5 libsigc++20.i386 0:2.0.17-1
Dependency Updated: parted.i386 0:1.7.1-15.fc5
Complete!
[root@201-212-115-243 ~]#

Posteriormente, para iniciarla, deberemos teclear “gparted&”, lo que nos presentará una
pantalla gráfica de uso muy intuitivo. Aquí, deberíamos crear una partición para
almacenar nuestro sistema de cuotas.

[root@201-212-115-243 ~]# gparted&


[1] 3244
[root@201-212-115-243 ~]# ======================
libparted : 1.7.1
======================
El procedimiento es bastante sensillo. Mostraremos las imágenes de creación de la
partición:

Guía de Trabajos Prácticos Página 76


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Guía de Trabajos Prácticos Página 77


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

El paso siguiente, consiste en dar un formato a la partición. Este, puede ser realizado de
cualquiera de las formas vistas en prácticos anteriores (mkfs, mke2fs). Otra alternativa,
consistiría en utilizar la opción de formateo desde la herramienta gparted.

Luego debemos montar dicha partición. Primero creamos el directorio de montaje. Por
ello, crearemos el directorio “quotasUser” en la que montaremos nuestra partición. Para
eso ejecutaremos lo siguiente, en el directorio root:

[root@201-212-115-243 /]# mkdir quotasUser


[root@201-212-115-243 /]#

Posteriormente, montamos la partición en el directorio especificado, mediante la


siguiente instrucción:

[root@201-212-115-243 /]# mount /dev/sda5 /quotasUser/


[root@201-212-115-243 /]#

Una vez que hemos montado el sistema de archivos que utilizaremos para las quotas de
los usuarios, debemos habilitarlas para tal efecto, por lo que deberemos modificar el
archivo “fstab” ubicado en el directorio “/etc” (el mismo ya fue revisado en prácticos
anteriores). En dicho archivo, deberemos modificar la línea que se refiere a nuestro
directorio recién montado (“/quotasUser”), agregando en la cuarta columna los
parámetros “userquota, grpquota”. De esta manera, dicha línea deberá contener lo
siguiente:

“/dev/sda5 /quotasUser ext3 rw, usrquota, grpquota 0 0”

En caso de que dicha línea no existiera se puede cargar directamente en dicho archivo
para automatizar su montaje. Una manera de hacerlo, consiste en copiar la línea
correspondiente del archivo /etc/mtab, obviamente después de haber sido montada la
partición correspondiente.

[root@201-212-115-243 etc]# cat mtab


/dev/sda2 / ext3 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
automount(pid2050) /net autofs rw,fd=4,pgrp=2050,minproto=2,maxproto=4
0 0
/dev/sdb1 /mnt/pen vfat rw 0 0
/dev/sda5 /quotasUser unknown rw 0 0
[root@201-212-115-243 etc]# vi fstab
[root@201-212-115-243 etc]# cat fstab
LABEL=/ / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0

Guía de Trabajos Prácticos Página 78


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda4 swap swap defaults 0 0
/dev/sda5 /quotasUser ext3 rw, usrquota, grpquota 0 0
[root@201-212-115-243 etc]#

Posteriormente a dicho paso, debemos remontar la partición a la que le hemos


modificado los parámetros. Para ello, ejecutamos la siguiente instrucción:

[root@201-212-115-243 ~]# mount -o remount /dev/sda5


[root@201-212-115-243 ~]#

Si luego de ejecutar dicha instrucción no se nos muestra ningún mensaje de error,


significa que hemos podido remontar nuestra partición.
Ahora es momento de crear los archivos de configuración que utilizaremos para la
administración de las quotas de usuario. Así, tipearemos dentro del directorio
“quotasUser”:

[root@201-212-115-243 /]# cd quotasUser/


[root@201-212-115-243 quotasUser]# touch aquota.user aquota.group
quota.user quota.group

Antes de continuar, cambiaremos los permisos de dichos archivos para evitar que
puedan ser modificados por el resto de los usuarios, haciéndolos administrables
solamente por el root. De esta manera, ejecutaremos lo siguiente:
[root@201-212-115-243 quotasUser]# ls
aquota.group aquota.user lost+found quota.group quota.user
[root@201-212-115-243 quotasUser]# chmod 600 quota.user
[root@201-212-115-243 quotasUser]# chmod 600 quota.group
[root@201-212-115-243 quotasUser]# chmod 600 aquota.user
[root@201-212-115-243 quotasUser]# chmod 600 aquota.group
[root@201-212-115-243 quotasUser]#

Nota: En el caso del formato antiguo de cuotas, estos archivos deben llamarse
quota.user y quota.group. En el caso del formato nuevo, aquota.user y aquota.group. por
lo que dependiendo de nuestras versiones de kernel deberíamos optar por uno u otro. En
este caso creamos todos, y el sistema utilizará el que corresponda.

Posteriormente a este paso, hemos creado los archivos necesarios de configuración, pero
hasta el momento están vacíos. Para que el sistema los cargue con información por
defecto, se debe ejecutar la siguiente instrucción:
[root@201-212-115-243 ~]# quotacheck -avug

Esta, nos permite verificar que los archivos de configuración de usuario existan, y en
caso de que no existieran, los creará (“aguota.group” y “aguota.user”).

Guía de Trabajos Prácticos Página 79


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La primera vez que ejecutemos dicha instrucción, se nos presentaran una serie de
mensajes como los siguientes:
[root@201-212-115-243 ~]# quotacheck -avug
quotacheck: WARNING - Quotafile /quotasUser/aquota.user was probably
truncated. Can't save quota settings...
quotacheck: WARNING - Quotafile /quotasUser/aquota.group was probably
truncated. Can't save quota settings...
quotacheck: Scanning /dev/sda5 [/quotasUser] done
quotacheck: Checked 3 directories and 6 files
[root@201-212-115-243 ~]#

Los mismos se refieren a los archivos de configuración, ya que al estar vacíos, el


sistema los detecta como truncados.
No obstante, si volvemos a ejecutar dicha instrucción, no obtendremos ningún mensaje
de error o advertencia, ya que los ficheros ya existirán.

[root@201-212-115-243 ~]# quotacheck -avug


quotacheck: Scanning /dev/sda5 [/quotasUser] done
quotacheck: Checked 3 directories and 6 files
[root@201-212-115-243 ~]#

- Activando las cuotas:

Ahora es el momento de activar el uso de quotas. Para ello, debemos utilizar el


comando “quotaon” de la siguiente forma:

“quotaon /quotasUser”
Si dicha ejecución no nos devuelve ningún error, significa que hemos conseguido
activar el uso de cuotas.

[root@201-212-115-243 /]# quotaon /quotasUser/


[root@201-212-115-243 /]#

De la misma manera, si quisiéramos desactivar las quotas, utilizaremos el comando:


“quotaoff /quotasUser”

[root@201-212-115-243 /]# quotaoff /quotasUser/


[root@201-212-115-243 /]#

- Asignando quotas

Ahora bien, si quisiéramos asignar una quota a un usuario, solo debemos utilizar el
siguiente comando:

[root@201-212-115-243 ~]# edquota fedora

No obstante, la opción para definir una cuota para un grupo de usuarios, es utilizar el
parámetro “-g <nombre grupo>”. De esta manera, si tuviéramos un grupo llamado
“grupo”, deberíamos ejecutar la siguiente instrucción:

Guía de Trabajos Prácticos Página 80


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

“edquota –g grupo”

Nota: El ejemplo a continuación se desarrollará tomando como base un usuario en


particular, pero también es aplicable a un grupo particular.

La ejecución del comando anterior (edquota fedora), (para un usuario particular) nos
presenta un editor que muestra lo siguiente:

Disk quotas for user fedora (uid 500):


Filesystem blocks soft hard inodes soft hard
/dev/sda5 0 0 0 0 0 0
~
~
~
"/tmp//EdP.auetMhk" 3L, 217C

Como se puede observar en la imagen, tenemos varios campos que poseen un


significado determinado.

- Blocks: Corresponde a la cantidad de bloques de 1 Kb que está utilizando el usuario.

- Soft: Limite de gracia, o límite suave. Corresponde a un limite de bloques de 1 KB


que el usuario puede utilizar, y que puede rebasar hasta que sea excedido el periodo de
gracia (de modo predeterminado son 7 días).

- Hard: Limite absoluto, o límite duro. Limite que no puede ser rebasado por el usuario
bajo circunstancia alguna. Por lo que el usuario no podrá escribir más archivos.

- Inodes: Inodos. Corresponde al número de ficheros que está utilizando el usuario.

Otro aspecto para resaltar, es que en dicha ventana, solo nos aparecerán las particiones
que tengan habilitadas las cuotas, en este caso, solamente sda5.

Ahora bien, supongamos que queremos asignar una cuota absoluta a dicho usuario de 3
Mb, mientras que la cuota de gracia será de 2 Mb. Para ello, deberíamos modificar
dicho archivo para que dijera lo siguiente:

Disk quotas for user fedora (uid 500):


Filesystem blocks soft hard inodes soft hard
/dev/sda5 0 2048 3072 0 0 0
~

Cabe aclarar, que el usuario en este caso, podrá rebasarse en la quota de gracia, pero
nunca en la quota absoluta (hard).

Guía de Trabajos Prácticos Página 81


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Solo nos resta, definir el tiempo durante el cual el usuario podrá excederse de la cuota
de gracia. Para ello, debemos utilizar el siguiente comando:

[root@201-212-115-243 ~]# edquota -t


[root@201-212-115-243 ~]#

Se nos presentará una pantalla como la siguiente, que en este caso nos presentará los
valores por defecto de las particiones que estén habilitadas para quotas.
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda5 7days 7days
~
~

La cuota de gracia establece los límites de bloques o inodos que un usuario tiene en
una partición. Cuando el usuario excede el límite establecido por la cuota de gracia, el
sistema advierte al usuario que se ha excedido la cuota del disco sin embargo permite al
usuario continuar escribiendo hasta que trascurre el tiempo establecido por el periodo de
gracia, tras el cual al usuario se le impide continuar escribiendo sobre la partición.
Continuando con nuestro ejemplo anterior, si quisiéramos que la quota de gracia pueda
rebasarse durante 3 días, deberíamos modificar dicho archivo para que dijera 3 días.

Grace period before enforcing soft limits for users:


Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda5 3days 3days
~
~

Finalmente, el último paso para que el usuario pueda utilizar la quota consiste en crearle
una carpeta, de la que sea dueño (con todo lo que ello implica), y así podrá utilizar el
espacio en disco que se le asigno. De lo contrario, recibiremos un mensaje que nos
indica que no se posee cuota, como el siguiente:

[fedora@201-212-115-243 ~]$ quota


Disk quotas for user fedora (uid 500): none
[fedora@201-212-115-243 ~]$

Para crearle la carpeta, debemos hacer lo siguiente:

[root@201-212-115-243 quotasUser]# mkdir fedora


[root@201-212-115-243 quotasUser]# chown fedora fedora
[root@201-212-115-243 quotasUser]#

Así, posteriormente ejecutamos el comando quota, y se nos mostrará lo siguiente:

Guía de Trabajos Prácticos Página 82


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

[fedora@201-212-115-243 ~]$ quota


Disk quotas for user fedora (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 8 2048 3072 1 0 0
[fedora@201-212-115-243 ~]$

- Comprobar el funcionamiento de la cuota:


Hasta aquí, ya hemos creado un usuario (pepe) con una cuota de disco bastante pequeña.
Ahora debemos comprobar que realmente funciona dicha cuota. Para ello, podemos
ejecutar lo siguiente:

[fedora@201-212-115-243 ~]$ cp
Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar /quotasUser/fedora/

De esta manera, la instrucción comenzará a copiar, hasta que llegara un momento en


que saturará la cuota del disco, por esa razón, nos aparecerá un mensaje como el
siguiente:

[fedora@201-212-115-243 ~]$ cp
Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar /quotasUser/fedora/
sda5: warning, user block quota exceeded.
sda5: write failed, user block limit reached.
cp: escribiendo
«/quotasUser/fedora/Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar»: Se
ha excedido la cuota de disco
[fedora@201-212-115-243 ~]$

- Verificando el uso de las Quotas:

Usuario:
Por un lado, el usuario puede verificar el uso de su cuota de espacio en disco, mediante
el comando: quota.
Dicho comando, nos muestra lo siguiente:
[fedora@201-212-115-243 ~]$ quota
Disk quotas for user fedora (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda5 3072* 2048 3072 2 0 0
[fedora@201-212-115-243 ~]$

Como se puede observar, en la figura, se muestra todo lo referente a la cuota del


usuario, como ser su cuota absoluta y de gracia.

Administrador:

Para poder verificar como se está utilizando el espacio de cuotas podemos utilizar el
siguiente comando:

Guía de Trabajos Prácticos Página 83


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

[root@201-212-115-243 ~]# repquota /quotasUser

Este comando nos muestra lo siguiente:

[root@201-212-115-243 ~]# repquota /quotasUser


*** Report for user quotas on device /dev/sda5
Block grace time: 3days; Inode grace time: 3days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 17680 0 0 6 0 0
fedora +- 3072 2048 3072 2days 2 0 0

[root@201-212-115-243 ~]#

Así vemos cuánto disco tiene en uso cada usuario y grupo con archivos en el sistema de
ficheros, y también vemos que con las cuotas podemos limitar dos aspectos distintos de
ocupación en disco: el número de bloques, y el número de inodos. Limitando el número
de bloques podemos acotar la ocupación máxima en disco, y limitando los inodos el
número de archivos permitido a cada usuario y grupo (hay un inodo por cada archivo y
directorio). Pero no hay un sólo límite para cada magnitud, sino dos: el límite soft (o
laxo) y el hard (o estricto).

Nota: Otra opción interesante es la opción “–vuga” que nos da mayor cantidad de
información acerca de cada cuota.

[root@201-212-115-243 ~]# repquota -vuga


*** Report for user quotas on device /dev/sda5
Block grace time: 3days; Inode grace time: 3days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 17680 0 0 6 0 0
fedora +- 3072 2048 3072 2days 2 0 0

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2,000000

*** Report for group quotas on device /dev/sda5


Block grace time: 7days; Inode grace time: 7days
Block limits File limits
Group used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 17688 0 0 7 0 0
fedora -- 3064 0 0 1 0 0

Statistics:

Guía de Trabajos Prácticos Página 84


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2,000000

[root@201-212-115-243 ~]#

Guía de Trabajos Prácticos Página 85


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 6/2006


Fecha Inicio: 22/10/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 1 y 2 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración de red en Windows Materia: Planeamiento y Control de
2000 Server Proyectos Informáticos

Objetivo:
• Instalar y configurar los servicios básicos de red
• Entender la estructura s de configuración de red
• Instalación y configuración a través de las ventanas de Red
• Comprender, instalar y operar el sistema en forma remota (Protocolo telnet)
• Exploración para comprender y usar programas de información y test de redes.
• (Ping, tracert, etc.)

Actividades:
• Leer y explorar el capítulo 9 (Lección 1 a 3) del libro MS Windows 2000
Server, MCSE 70-215.
• Leer y explorar el capítulo 5 del libro TCP/IP de John Ray.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
• Windows 9x).

Comandos a comprender.
• Interfaz de configuración de red
• Arranque y detención de servicios de red
• Ipconfig
• Netstat
• Ping y tracert
• Telnet
• Route
• Net

Archivos a configurar y comprender:


• /winnt/system3 2/drivers/etc/hosts

Bibliografía básica:
• MS Windows 2000 Server, Curso Oficial de Certificación MCSE 70-215, Ed.
Mc Graw Hill, Madrid, 2001.

Bibliografía complementaria:
• DNS and BIND de Paul Albitz & Cricket Li

Guía de Trabajos Prácticos Página 86


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Networking with MS TCP/IP de Drew Heywood y Rob Scimger

Sitios de referencia
• www.microsoft.com
• Como buscador preferido : www.google.com. especialmente por el servicio de
traducción

Guía de Trabajos Prácticos Página 87


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Asignar IP

CONFIGURACION DE DIRECCIONES IP.


TCP/IP es un protocolo que proporciona acceso a Internet y, por ello, necesita una
dirección IP en cada. Para proporcionarla se pueden seguir los siguientes métodos de
configuración:
• Configuración manual o estática: Se utilizara este método de configuración
cuando se disponga de una red con múltiples segmentos y no se cuente con un
servidor DHCP. Será necesario indicar una dirección IP, una mascara de subred,
la puerta de enlace por defecto.
Para configurar la ip de esta manera debemos ir a Conexiones de red,
seleccionamos la conexión que corresponda y vamos a Propiedades/Protocolo de
Internet (TCP/IP)/Propiedades. Ahí visualizamos una ventana como la siguiente:

La configuración que se observa, es la que yo realice.

• Configuración Dinámica: Con este método se asignara automáticamente una


Dirección IP. Para ello hay dos formas posibles:
o Configuración dinámica: Este tipo de configuración se utilizara en una
red que disponga de un servidor DHCP. Se deberá indicar que se desea
obtener una asignación automática de dirección IP y al encontrar el
servidor DHCP, este asignara una dirección IP, una mascara de subred,
la puerta de enlace en cada uno de los equipos cuando se conecten.

Guía de Trabajos Prácticos Página 88


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para esta configuración, accedemos a la misma opción que el caso
anterior pero configuramos los parámetros de la siguiente manera:

Definir alias:
Para definir un alias una dirección ip, debemos ir a Conexiones de red, seleccionamos la
conexión que corresponda y vamos a Propiedades/Protocolo de Internet
(TCP/IP)/Propiedades/Opciones avanzadas…
Vemos una ventana como la siguiente:

Guía de Trabajos Prácticos Página 89


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora presionamos en Agregar…

Definimos el alias que deseamos y presionamos en aceptar. Nuestro alias estará


definido.

Definir rutas

Para definir rutas utilizamos el comando route.

Route: Muestra y modifica las entradas de la tabla de rutas IP local.

Sintaxis:

route [-f] [-p] [comando [destino] [mask máscaraDeSubred]


[puertaDeEnlace] [metric métrica]] [if intefaz]]

Parámetros:

-f : Quita de la tabla de rutas todas las entradas que no son rutas de hosts (rutas cuya
máscara de subred es 255.255.255.255), la ruta de la red de bucle local (rutas cuyo
destino es 127.0.0.0 y su máscara de subred es 255.0.0.0) o una ruta de multidifusión
(rutas cuyo destino es 224.0.0.0 y su máscara de subred es 240.0.0.0).

-p: Cuando se utiliza con el comando add, la ruta especificada se agrega al Registro y
se utiliza para inicializar la tabla de rutas IP cada vez que se inicia el protocolo TCP/IP.
De forma predeterminada, las rutas agregadas no se conservan cuando se vuelve a
iniciar el protocolo TCP/IP. Cuando se utiliza con el comando print, muestra la lista de
rutas persistentes.

comando: Especifica el comando que se va a ejecutar. La tabla siguiente muestra los


comandos válidos.

ComandoPropósito
add Agrega una ruta.
change Modifica una ruta existente.
delete Elimina una o varias rutas.

Guía de Trabajos Prácticos Página 90


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

ComandoPropósito
print Imprime una o varias rutas.

Destino: Especifica la red de destino de la ruta.

mask máscaraDeSubred: Especifica la máscara de red

Puerta de enlace: Especifica la dirección IP a través de la cual se llega al conjunto de


direcciones definido por la red de destino y la máscara de subred

metric métrica: Especifica un entero como métrica de coste (entre 1 y 9999) de la ruta,
que se utiliza cuando hay que elegir entre varias rutas de la tabla de rutas cuya red de
destino contiene la dirección de destino del paquete enrutado. Se elige la ruta cuya
métrica es la más baja. La métrica puede reflejar el número de saltos, la velocidad de la
ruta, la confiabilidad de la ruta, la capacidad de la ruta o las propiedades
administrativas.

if interfaz: Especifica el índice de la interfaz a través de la que se llega al destino.

Ejemplos de utilización del comando route:

route print: mostra todo el contenido de la tabla de rutas IP, escriba

C:\Documents and Settings\Franco>route print


======================================================================
ILista de interfaces
0x1 ........................... MS TCP Loopback interface
0x4 ...00 17 31 21 ee eb ...... Realtek RTL8168/8111 PCI-E Gigabit
Ethernet NIC
- Minipuerto del administrador de paquetes
0x10006 ...00 16 b5 f6 55 ff ...... Motorola SURFboard SB5101 USB
Cable Modem -
Minipuerto del administrador de paquetes
======================================================================
======================================================================
Rutas activas:
Destino de red Máscara de red Puerta de acceso Interfaz Métrica
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
200.127.37.0 255.255.255.0 200.127.37.133 200.127.37.133 30
200.127.37.133 255.255.255.255 127.0.0.1 127.0.0.1 30
200.127.37.255 255.255.255.255 200.127.37.133 200.127.37.133 30
224.0.0.0 240.0.0.0 200.127.37.133 200.127.37.133 30
255.255.255.255 255.255.255.255 200.127.37.133 4 1
255.255.255.255 255.255.255.255 200.127.37.133 200.127.37.133 1
======================================================================
Rutas persistentes:
ninguno

C:\Documents and Settings\Franco>

Guía de Trabajos Prácticos Página 91


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para agregar una ruta predeterminada con la dirección de puerta de enlace
predeterminada de 192.168.12.1, escriba:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

Para agregar una ruta al destino 10.41.0.0 con la máscara de subred 255.255.0.0 y con la
dirección del salto siguiente 10.27.0.1, escriba:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Para agregar una ruta permanente al destino 10.41.0.0 con la máscara de subred
255.255.0.0 y con la dirección del salto siguiente 10.27.0.1, escriba:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Para agregar una ruta al destino 10.41.0.0 con la máscara de subred 255.255.0.0, la
dirección del salto siguiente 10.27.0.1 y una métrica de 7, escriba:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7

Para agregar una ruta al destino 10.41.0.0 con la máscara de subred 255.255.0.0, la
dirección del salto siguiente 10.27.0.1 y utilizando la interfaz cuyo índice es 0x3,
escriba:

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3

Para eliminar la ruta al destino 10.41.0.0 con la máscara de subred 255.255.0.0, escriba:

route delete 10.41.0.0 mask 255.255.0.0

Para eliminar todas las rutas de la tabla de rutas IP que empiezan por 10., escriba:

route delete 10.*

Para modificar la dirección del próximo salto de la ruta al destino 10.41.0.0 con la
máscara de subred 255.255.0.0, de 10.27.0.1 a 10.27.0.25, escriba:

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

El comando Netstat

El comando “netstat”, nos permite averiguar sobre que puertos tienen algún proceso
escuchando en nuestra máquina y podemos determinar los servicios que se ejecutan
detrás de ellos.

Guía de Trabajos Prácticos Página 92


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
El comando netstat dispone de una completa ayuda. La podemos obtener con el
comando “netstat /?”. Esto nos proporcionará un listado con todos los parámetros o
modificadores disponibles con el que podremos utilizar la herramienta netstat.

Netstat –n: si omitimos este parámetro por defecto, netstat nos ofrecerá el resultado de
traducir la dirección remota y el puerto de números a nombres, si lo incluimos nos
mostrará esta misma información pero en formato numérico.
Vemos nuestro ejemplo;
C:\Documents and Settings\Franco>netstat -n

Conexiones activas

Proto Dirección local Dirección remota Estado


TCP 127.0.0.1:1084 127.0.0.1:1085 ESTABLISHED
TCP 127.0.0.1:1085 127.0.0.1:1084 ESTABLISHED
TCP 200.127.37.133:1200 207.46.109.44:1863 ESTABLISHED
TCP 200.127.37.133:1298 201.252.140.56:1111 ESTABLISHED
TCP 200.127.37.133:1428 200.43.45.220:1088 ESTABLISHED
TCP 200.127.37.133:1545 66.249.83.19:80 ESTABLISHED
TCP 200.127.37.133:1546 86.109.99.109:443 CLOSE_WAIT

C:\Documents and Settings\Franco>

C:\Documents and Settings\Franco>netstat

Conexiones activas

Proto Dirección local Dirección remota Estado


TCP pentiumd:1084 localhost:1085 ESTABLISHED
TCP pentiumd:1085 localhost:1084 ESTABLISHED
TCP pentiumd:1200 by1msg5176512.phx.gbl:1863 ESTABLISHED
TCP pentiumd:1298 host56.201-252-140.telecom.net.ar:1111 ESTABLISHED
TCP pentiumd:1428 host220.200-43-45.telecom.net.ar:1088 ESTABLISHED
TCP pentiumd:1545 66.249.83.19:http ESTABLISHED
TCP pentiumd:1546 cdmon.com:https CLOSE_WAIT

C:\Documents and Settings\Franco>

Netstat –o: muestra el identificador numérico del proceso que esta ejecutándose en este
puerto. Ejemplo:
C:\Documents and Settings\Franco>netstat -o

Conexiones activas

Proto Dirección local Dirección remota Estado PID


TCP pentiumd:1084 localhost:1085 ESTABLISHED 3540
TCP pentiumd:1085 localhost:1084 ESTABLISHED 3540
TCP pentiumd:1200 by1msg5176512.phx.gbl:1863 ESTABLISHED 828
TCP pentiumd:1428 telecom.net.ar:1088 ESTABLISHED 828
TCP pentiumd:1556 66.249.83.83:http ESTABLISHED 3540
TCP pentiumd:1558 cdmon.com:https CLOSE_WAIT 260
TCP pentiumd:1561 66.249.83.19:http ESTABLISHED 3540

Guía de Trabajos Prácticos Página 93


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
TCP pentiumd:1565a200-42-88.deploy.akamaitechnologies.com:http
FIN_WAIT_1 1780

C:\Documents and Settings\Franco>

Netstat –r: muestra la tabla de ruteo del sistema. Ejemplo realizado en clase:
C:\Documents and Settings\Administrador>netstat -r

Tabla de caminos
======================================================================
ILista de interfaces
0x1 ........................... MS TCP Loopback interface
0x1000003 ...00 d0 09 ff a2 28 ...... NDIS 5.0 driver

======================================================================
======================================================================
Rutas activas:
Destino de red Máscara de red Puerta de acceso Interfaz Métrica
0.0.0.0 0.0.0.0 192.168.2.254 192.168.2.249 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.2.0 255.255.255.0 192.168.2.249 192.168.2.249 1
192.168.2.249 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.2.255 255.255.255.255 192.168.2.249 192.168.2.249 1
224.0.0.0 224.0.0.0 192.168.2.249 192.168.2.249 1
255.255.255.255 255.255.255.255 192.168.2.249 192.168.2.249 1
Puerta de enlace predeterminada: 192.168.2.254
======================================================================
Rutas persistentes:
ninguno

C:\Documents and Settings\Administrador>

Netstat –a: muestra el estado de toda la actividad en los puertos TCP y UDP del
sistema local.

C:\Documents and Settings\Franco>netstat -a

Conexiones activas

Proto Dirección local Dirección remota Estado


TCP pentiumd:epmap pentiumd:0 LISTENING
TCP pentiumd:microsoft-ds pentiumd:0 LISTENING
TCP pentiumd:2869 pentiumd:0 LISTENING
TCP pentiumd:3389 pentiumd:0 LISTENING
TCP pentiumd:1029 pentiumd:0 LISTENING
TCP pentiumd:1084 localhost:1085 ESTABLISHED
TCP pentiumd:1085 localhost:1084 ESTABLISHED
TCP pentiumd:netbios-ssn pentiumd:0 LISTENING
TCP pentiumd:netbios-ssn pentiumd:0 LISTENING
TCP pentiumd:netbios-ssn pentiumd:0 LISTENING
TCP pentiumd:1200 by1msg5176512.phx.gbl:1863 ESTABLISHED
TCP pentiumd:1298 host56.201-252-140.telecom.net.ar:1111 ESTABLISHED
TCP pentiumd:1428host220.200-43-45.telecom.net.ar:1088 ESTABLISHED

Guía de Trabajos Prácticos Página 94


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
TCP pentiumd:1525 66.249.83.83:http ESTABLISHED
TCP pentiumd:1531 cdmon.com:https CLOSE_WAIT
TCP pentiumd:1535 66.249.83.19:http ESTABLISHED
UDP pentiumd:microsoft-ds *:*
UDP pentiumd:isakmp *:*
UDP pentiumd:1031 *:*
UDP pentiumd:1058 *:*
UDP pentiumd:1111 *:*
UDP pentiumd:1196 *:*
UDP pentiumd:4500 *:*
UDP pentiumd:ntp *:*
UDP pentiumd:1030 *:*
UDP pentiumd:1032 *:*
UDP pentiumd:1197 *:*
UDP pentiumd:1900 *:*
UDP pentiumd:ntp *:*
UDP pentiumd:netbios-ns *:*
UDP pentiumd:netbios-dgm *:*
UDP pentiumd:1900 *:*
UDP pentiumd:12718 *:*
UDP pentiumd:18983 *:*
UDP pentiumd:ntp *:*
UDP pentiumd:netbios-ns *:*
UDP pentiumd:netbios-dgm *:*
UDP pentiumd:1900 *:*
UDP pentiumd:11826 *:*
UDP pentiumd:12917 *:*
UDP pentiumd:discard *:*
UDP pentiumd:ntp *:*
UDP pentiumd:netbios-ns *:*
UDP pentiumd:netbios-dgm *:*
UDP pentiumd:1900 *:*
UDP pentiumd:9782 *:*
UDP pentiumd:21934 *:*

C:\Documents and Settings\Franco>

Ipconfig

Muestra los valores actuales de la configuración de la red TCP/IP y actualiza la


configuración de DHCP (Protocolo de configuración dinámica de host) y DNS (Sistema
de nombres de dominio). Si se utiliza sin parámetros, ipconfig muestra las direcciones
IPv6 o la dirección IPv4, la máscara de subred y la puerta de enlace predeterminada de
todos los adaptadores.

ipconfig /all: Muestra la configuración de TCP/IP completa de todos los adaptadores.


Ejemplo realizado:
C:\Documents and Settings\Administrador>ipconfig /all

Configuración IP de Windows 2000

Guía de Trabajos Prácticos Página 95


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Nombre del host . . . . . . . . . . . : pc1
Sufijo DNS principal . . . . . . . . :
Tipo de nodo. . . . . . . . . . . . . : Difusión
Enrutamiento de IP habilitado . . . . : No
Proxy de WINS habilitado. . . . . . . : No

Ethernet adaptador Conexión de área local:

Sufijo DNS específico de la conexión. :


Descripción . . . . . . . . . . . . . : Adaptador Realtek
RTL8139(A) PCI
Fast Ethernet
Dirección física. . . . . . . . . . . : 00-D0-09-FF-A2-28
DHCP habilitado . . . . . . . . . . . : No
Dirección IP. . . . . . . . . . . . . : 192.168.2.249
Máscara de subred . . . . . . . . . . : 255.255.255.0
Puerta de enlace predeterminada . . . : 192.168.2.254
Servidores DNS. . . . . . . . . . . . : 192.168.1.1

C:\Documents and Settings\Administrador>

ipconfig /renew: Renueva la configuración de DHCP de todos los adaptadores (si no se


especificó un adaptador) o de un adaptador específico, si se incluyó el parámetro
adaptador. Este parámetro sólo está disponible en equipos que dispone de adaptadores
configurados para obtener una dirección IP automáticamente.
Prueba realizada:
C:\Documents and Settings\Administrador>ipconfig /renew

Configuración IP de Windows 2000

Error: Ningún adaptador enlazado a TCP/IP está habilitado para DHCP

C:\Documents and Settings\Administrador>


En nuestro caso, no poseíamos ningún adaptador habilitado para DHCP, por tal motivo,
al aplicar el comando nos devuelve un error.
ipconfig /release: Envía el mensaje DHCPRELEASE al servidor DHCP para liberar la
configuración actual de DHCP y descartar la configuración de dirección IP para todos
los adaptadores (si no se especificó un adaptador) o para un adaptador específico si se
incluyó el parámetro adaptador. Este parámetro deshabilita TCP/IP para los adaptadores
configurados para obtener una dirección IP automáticamente.
C:\Documents and Settings\Administrador>ipconfig /release

Configuración IP de Windows 2000

Error: Ningún adaptador enlazado a TCP/IP está habilitado para DHCP

C:\Documents and Settings\Administrador>

ipconfig /flushdns: Vacía y restablece el contenido del servicio de resolución de la

Guía de Trabajos Prácticos Página 96


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
caché de clientes DNS. Ejemplo realizado en clase:
C:\Documents and Settings\Administrador>ipconfig /flushdns

Configuración IP de Windows 2000

Se vació con éxito la caché de resolución de DNS.

C:\Documents and Settings\Administrador>

Ipconfig /displaydns: Muestra el contenido del servicio de resolución de la caché del


cliente DNS, que incluye las entradas cargadas previamente desde el archivo Hosts local
y los registros de recursos que se hayan obtenido recientemente para consultas de
nombre resueltas por el equipo. El servicio Cliente DNS utiliza esta información para
resolver rápidamente los nombres consultados frecuentemente, antes de consultar a sus
servidores DNS configurados.
Prueba realizada en clase:
C:\Documents and Settings\Administrador>ipconfig /displaydns

Configuración IP de Windows 2000

localhost.
------------------------------------------------------
Nombre de registro. . : localhost
Tipo de registro . . .: 1
Tiempo de vida . . . : 31532946
Longitud de los datos : 4
Sección . . . . . . . : Answer
Un registro (Host). . :
127.0.0.1

1.0.0.127.in-addr.arpa.
------------------------------------------------------
Nombre de registro. . : 1.0.0.127.in-addr.arpa
Tipo de registro . . .: 12
Tiempo de vida . . . : 31532946
Longitud de los datos : 4
Sección . . . . . . . : Answer
Registro PTR. . . . . :
localhost

C:\Documents and Settings\Administrador>

Ipconfig /registerdns: Inicia el registro dinámico manual de los nombres DNS y


direcciones IP configurados en un equipo.
C:\Documents and Settings\Administrador>ipconfig /registerdns

Configuración IP de Windows 2000

Se ha iniciado el proceso de registro de los registros de recursos DNS

Guía de Trabajos Prácticos Página 97


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
para todo
s los adaptadores de este equipo. Se informará de cualquier error en
el Visor de
sucesos en 15 minutos.

C:\Documents and Settings\Administrador>

Ipconfig /showclassid adaptador: Muestra el Id. de clase de DHCP del adaptador


especificado.

C:\Documents and Settings\Administrador>ipconfig /showclassid "LAN"

Configuración IP de Windows 2000

No hay clases DHCP para el adaptador "LAN".

C:\Documents and Settings\Administrador>

Ipconfig /setclassid adaptador [idDeClase]: Configura el Id. de clase de DHCP del


adaptador especificado. Este parámetro sólo está disponible en equipos que disponen de
adaptadores configurados para obtener una dirección IP automáticamente. Si no se
especifica un Id. de clase de DHCP, se quita el Id. de clase actual.
C:\Documents and Settings\Administrador>ipconfig /setclassid "LAN"
TEST

Configuración IP de Windows 2000

Se modificó correctamente el Id. de clase DHCP para el


adaptador "LAN"

C:\Documents and Settings\Administrador>

Ping: nos permite verificar si estamos en contacto con otro equipo. En el ejemplo que
realizamos a continuación, chequeamos si estamos en contacto con la estación
192.168.2.249.

C:\Documents and Settings\Administrador>ping 192.168.2.249

Haciendo ping a 192.168.2.249 con 32 bytes de datos:

Respuesta desde 192.168.2.249: bytes=32 tiempo<10ms TTL=128


Respuesta desde 192.168.2.249: bytes=32 tiempo<10ms TTL=128
Respuesta desde 192.168.2.249: bytes=32 tiempo<10ms TTL=128
Respuesta desde 192.168.2.249: bytes=32 tiempo<10ms TTL=128

Estadísticas de ping para 192.168.2.249:


Paquetes: enviados = 4, recibidos = 4, perdidos = 0 (0% perdidos),
Tiempos aproximados de recorrido redondo en milisegundos:
mínimo = 0ms, máximo = 0ms, promedio = 0ms

Guía de Trabajos Prácticos Página 98


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
C:\Documents and Settings\Administrador>

Archivos a comprender:

- \WINDOWS\system32\drivers\etc\hosts

Si para cada página que vemos, el navegador tiene que pedir antes la IP a un servidor de
nombres, esto tarda tiempo y consume recursos de internet. Sería mas rápido si
saltamos este paso. Podemos hacerlo introduciendo directamente la ip en la barra de
direcciones, pero ante la imposibilidad de recordar las ips se crearon los nombres de
dominio. La solución es el archivo host

El archivo host (sin extensión ninguna) es un archivo de texto que encontramos (si
usamos windows) en c:\WINDOWS\system32\drivers\etc\hosts. Si lo editamos, su
contenido típico es algo así como:

#Host list for localhost generated by browserc.dll


localhost 127.0.0.1

Tenemos aquí dos líneas. La primera que empieza con el carácter # es simplemente un
comentario. La segunda es la que nos interesa: localhost 127.0.0.1: esa linea indica
que hay un ordenador llamado localhost cuya IP es 127.0.0.1

127.0.0.1 es un numero IP ficticio, que designa la propia máquina que hace la petición.
Esta instrucción dice que cualquier petición de datos a localhost debe buscarse en el
propio ordenador que la hace. Así, si tuvieras en tu ordenador un servidor web,
tecleando http://localhost podrías navegar por su contenido sin necesidad de estar
conectado a la red. La utilidad de todo esto es que podemos añadir en este archivo host
cuantas parejas de nombres de dominio - IP queramos. El navegador consultara el
archivo host y solo si no encuentra allí el nombre de dominio solicitado acudirá a un
servidor dns externo. Por ejemplo:

#Host list for localhost generated by browserc.dll


localhost 127.0.0.1
128.183.17.121 antwrp.gsfc.nasa.gov
204.146.167.214 apache-server.com
63.236.73.25 apachetoday.com
195.5.65.193 arrakis.linux.tucows.com
207.200.83.80 developer.netscape.com
204.17.177.99 devshed.com
64.28.67.35 freshmeat.net

Con esto, conseguimos ir a cualquiera de esos sitios sin pasar por un server dns por lo
que ahorramos tiempo y recursos.

Vemos el archivo hosts de nuestra maquina:

Guía de Trabajos Prácticos Página 99


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

# Copyright (c) 1993-1999 Microsoft Corp.


#
# Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para
Windows.
#
# Este archivo contiene las asignaciones de las direcciones IP a los
nombres de
# host. Cada entrada debe permanecer en una línea individual. La
dirección IP
# debe ponerse en la primera columna, seguida del nombre de host
correspondiente.
# La dirección IP y el nombre de host deben separarse con al menos un
espacio.
#
#
# También pueden insertarse comentarios (como éste) en líneas
individuales
# o a continuación del nombre de equipo indicándolos con el símbolo
"#"
#
# Por ejemplo:
#
# 102.54.94.97 rhino.acme.com # servidor origen
# 38.25.63.10 x.acme.com # host cliente x

127.0.0.1 localhost
64.233.187.99 google.com
200.32.12.132 www.lavoz.com.ar

Crear un enrutador en Windows

Estamos en condiciones de crear un enrutador a través de Windows. Para


realizar este punto, nos referenciaremos a lo aprendido anteriormente.

En primer lugar debemos asignar a nuestro servidor alias IP que pertenezcan a varias
redes. Para ello, debemos realizar lo mismo que en la sección definir alias. Es decir,
asignar dos alias IP, que pertenecen a las redes 192.168.1.2 y 192.168.2.2

Posteriormente, debemos habilitar el reenvío de paquetes. Por defecto, Windows no


lo hace. Esto lo podemos comprobar con el comando “ipconfig /all”.

Guía de Trabajos Prácticos Página 100


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Podes observar en la imagen anterior que el reenvío de paquetes no esta habilitado.

Ahora vamos a activar el reenvío de paquetes de manera gráfica. Para ellos vamos a
seguir las capturas de pantalla que tenemos a continuación.

Debemos ir al el menú inicio, herramientas administrativas, y posteriormente luego a


“Enrutamiento y acceso Remoto”.
Observaremos la siguiente ventana. En esta debemos hacer clic derecho en la opción
“PENTIUM2003(local)” y elegir la opción “Configurar y habilitar Enrutamiento
y acceso remoto”.

Debemos dar en siguiente.

Guía de Trabajos Prácticos Página 101


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora seleccionamos la opción “Configuración personalizada”.

Debemos chequear la casilla “Enrutamiento LAN”.

Guía de Trabajos Prácticos Página 102


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Finalmente, damos en “Finalizar”.

A partir de ahora, nuestra máquina esta habilitada para el enrutamiento de paquetes.


Esta configuración la vamos a comprobar a través del comando “ipconfig /all”.

Guía de Trabajos Prácticos Página 103


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
En la imagen anterior observamos que la opción Enrutamiento IP esta habilitada.

Ahora debemos definir las rutar de las demás redes. Para eso debemos realizar lo
aprendido en la sección Definir rutases. Vamos a definir las rutas a las redes
192.168.1.0 y 192.168.2.0.

Seleccionamos estas dos redes, ya que, tenemos dos clientes que pertenecen a esas
redes. La configuración de los clientes Windows esta debe ser realizada como se detalla
a continuación.

- Configurando de los clientes Windows

El primer equipo, debe tener la IP 192.168.1.1, máscara 255.255.255.0 y puerta de


enlace 192.168.1.2, que corresponde al alias definido en el ruteador Windows 2000.
Luego debemos actualizar la tabla de rutas de dicho equipo. Para ello, desde el cmd,
debemos ejecutar el siguiente comando:
C:\ >route add 192.168.1.0 mask 255.255.255.0 192.168.1.2
C:\>

Ahora comprobaremos el funcionamiento de la ruta hacia el router:


C:\ >ping 192.168.1.2
Haciendo ping a 192.168.1.2 con 32 bytes de datos:
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128

Estadísticas de ping para 192.168.1.2:


Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms
C:\>

Vemos que la ruta hacia el router funciona correctamente, por lo tanto ahora vamos a
proceder a configurar la otra máquina.

Este equipo, debe tener la IP 192.168.2.1, máscara 255.255.255.0 y puerta de enlace


192.168.2.2, que corresponde al alias definido en el ruteador Windows 2000.
Luego debemos actualizar la tabla de rutas de dicho equipo. Para ello, desde el cmd,
debemos ejecutar el siguiente comando:
C:\ >route add 192.168.2.0 mask 255.255.255.0 192.168.2.2
C:\>

Ahora comprobaremos el funcionamiento de la ruta hacia el router:


C:\ >ping 192.168.2.2
Haciendo ping a 192.168.2.2 con 32 bytes de datos:
Respuesta desde 192.168.2.2: bytes=32 tiempo<1m TTL=128

Guía de Trabajos Prácticos Página 104


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Respuesta desde 192.168.2.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.2.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.2.2: bytes=32 tiempo<1m TTL=128

Estadísticas de ping para 192.168.2.2:


Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms
C:\>

Como pudimos observar, la configuración del segundo cliente también fue positiva. Con
esto finalizamos la configuración de Windows como router.

Guía de Trabajos Prácticos Página 105


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 7/2006


Fecha Inicio: 25/10/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 4 y 5 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración DHCP y DNS Materia: Planeamiento y Control de
Proyectos Informáticos

Objetivo:
• Instalar y configurar los servicios DHCP y DNS (En Linux y Windows 2000
Server)
• Entender la estructura de configuración de los archivos
• Instalación y configuración a través de las ventanas de DHCP manager y DNS
admin.
• Comprender, instalar y operar el sistema en forma remota.
• Exploración para comprender y usar programas de información y test de DNS.
• (Ping, nslookup, etc.)

Actividades:
• Leer y explorar el capítulo 14 del libro Red Hat Linux Fedora 3
• Configurar Windows para tareas análogas basándose en el capítulo 9 (Lección 3
a 5) del libro MS Windows 2000 Server, MCSE 70-215,.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
Windows 9x).
• Repasar el funcionamiento jerárquico de resolución de nombres en Comer.
• Revisar los capítulos 1 y 2 del libro DNS and BIND.
• Configurar un servidor primario de nombres y uno secundario, sobre
plataformas cruzadas.
• Configurar un servidor relay de DNS
• Configurar los clientes sean estos por direcciones estáticas o tomadas
dinámicamente.

Comandos a comprender:
• Nslookup
• Dig
• Host
• Whois
• En W2K instalar el Sam Spade

Archivos a configurar y comprender:


• En Linux:

Guía de Trabajos Prácticos Página 106


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
o resolv.conf
o named.conf
o hosts.conf
o nsswitch.conf
o dhcp.conf
o dhcp.leasses
• En Windows
o /winnt/system32/dns

Bibliografía básica:
• MS Windows 2000 Server, Curso Oficial de Certificación MCSE
70-215, Ed.
• Me Graw Huí, Madrid, 2001.
• Red Hat Linux Federa 3 - Unleashed- de Bill Ball y Hoyt Duff,
Ed. SAMS,
• 2005.

Bibliografía complementaria:
• DNS and BIND de Paul Albitz & Cricket Li
• Networking with MS TCP/IP de Drew Heywood y Rob Scimger

Sitios de referencia
• www.microsoft.com
• www.redhat.com
• Como buscador preferido : www.google.com, especialmente por el servicio de
traducción
• www.dns.net/dnsrd
• www.isc.org/products/BIND

Guía de Trabajos Prácticos Página 107


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Configuración servicio DNS-Windows


Un servidor DNS nos va a servir para la resolución de nombres cuando queramos
acceder a los sitios web que tenemos alojados en nuestra intranet. Si el volumen de
sitios web es grande, instalando un DNS podremos utilizar una misma IP y tener
multitud de webs en un mismo servidor IIS diferenciados por nombre. Si disponemos de
IP suficientes esta opción nos servirá para acceder a los webs por un nombre y no por
una dirección IP que son más difíciles de recordar.

La misma filosofía se aplica si el servidor lo tenemos en Internet, si instalamos un


servidor DNS con una sola IP que nos proporcione nuestro proveedor podremos alojar
multitud de dominios en un mismo servidor IIS.

Instalación del servidor DNS.

Para un servidor DNS vamos a Inicio > Panel de control > Agregar o quitar
programas, una vez ejecutada esta opción aparece una ventana donde seleccionaremos
de las opciones que aparecen a la izquierda, agregar o quitar componentes de
Windows, buscamos en la ventana que nos aparece la opción servicios de red, la
seleccionamos y pulsamos el botón detalles, de la nueva ventana que aparece
seleccionamos la opción sistema de nombres de dominios (DNS), la seleccionamos y
aceptamos todas las pantallas y pulsamos siguiente. Este proceso de instalación pedirá
el CD de Windows debido a que necesita instalar varios componentes.

Configuración de servidor primario

Una vez terminado el proceso de instalación podemos acceder al DNS desde Inicio >
herramientas administrativas > DNS, hacemos clic en DNS.

Guía de Trabajos Prácticos Página 108


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para configurar el DNS y que nos resuelva las IP en nombres lo primero que deberemos
crear es una zona de búsqueda inversa. Para realizar esta acción nos pondremos sobre
esta rama de la consola del DNS y con el botón derecho seleccionamos nueva zona.

Nos aparece un asistente, damos en siguiente.

Seleccionamos tipo de zona principal y damos en siguiente.

Guía de Trabajos Prácticos Página 109


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora debemos seleccionar la opción Zona de búsqueda inversa

Ahora debemos indicar el Id. De red. Este será nuestra IP, en este caso 192.168.1.0 Las
siguientes pantallas las dejamos tal y como las pone el asistente.

Guía de Trabajos Prácticos Página 110


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Una vez creada la zona inversa tenemos que crear el nombre de domino que
utilizaremos. Para la realización del ejemplo, utilizare el nombre iua.com.ar. Para crear
los nombres de dominio pulsaremos con el botón derecho sobre zonas de búsqueda
directa y seleccionamos nueva zona.

Nos aparece un asistente, damos en siguiente.

Guía de Trabajos Prácticos Página 111


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Tipo de zona: Zonal principal. La zona secundaria se utiliza para añadir dominios que
ya tienen una zona principal creada en otro servidor DNS, de esta forma cuando
creamos una zona secundaria todos los registros que tengamos en la zona principal se
replicarán a ésta. Nosotros seleccionamos Zona principal y presionamos en siguiente.

Ahora seleccionamos Zona de búsqueda directa, luego damos en siguiente.

Guía de Trabajos Prácticos Página 112


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Aquí debemos poner el nombre del dominio, en nuestro caso ponemos iua.com.ar, luego
en Siguiente.

Decidimos crear un archivo de zonas para nuestra nueva zona. Damos en siguiente.

Guía de Trabajos Prácticos Página 113


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Ahora seleccionamos la opción No admitir actualizaciones automáticas, y luego
presionamos en siguiente.

Finalmente terminamos de crear la nueva zona. Presionamos en finalizar.

Con ésto ya tenemos dado de alta nuestro nombre de dominio para la intranet ahora
queda crear los nombres de los subdominos con los que crearemos la dirección web, es
decir, accederemos a nuestro web a través de Nombre_Subdominio.Nombre_domini.
Para crear los subdominos pulsamos sobre la nueva zona creada (iua.com.ar) ,y vemos
que a la derecha nos aparecen los datos de este domino, pulsamos con el botón derecho
sobre el nombre de dominio y seleccionamos Host nuevo (A).

Guía de Trabajos Prácticos Página 114


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

En la ventana de Host nuevo, pondremos el nombre de subdominio, en nuestro caso


alumnos y la IP que tiene asignada, normalmente la de la maquina. Presionamos en
agregar host.

Ya tenemos el host alumnos.iua.com.ar, ahora vamos a agregar un nuevo host de


nombre profesores. Para ello repetimos los pasos para crear un Host nuevo (A).

Los dos host creados son:


- alumnos.iua.com.ar
- profesores.iua.com.ar

Nuestro siguiente paso es hacer accesible nuestro DNS a nuestro ordenador, para ello,
en las opciones de red tenemos que poner nuestro DNS para que resuelva los nombres.
Para realizar esta acción vamos a Inicio > panel de control > conexión de red >
conexión de área local y pulsamos el botón propiedades de la ventana que aparece,
seleccionamos Protocolo de Internet (TCP/IP) y donde pone Servidor DNS preferido
ponemos la IP de nuestro DNS, en nuestro caso es 192.168.1.2. Lo observamos en la
siguiente imagen.

Guía de Trabajos Prácticos Página 115


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Comprobar el funcionamiento de nuestro servidor DNS

Una vez configurado el servidor DNS, debemos verificar su funcionamiento, para ello,
tenemos varias maneras. Utilizaremos los comando ping y nslookup para realizar esta
verificación.

- Nslookup: Esta herramienta de diagnóstico muestra información de los servidores de


nombre del Sistema de nombres de dominio (DNS, Domain Name System); Nslookup
tiene dos modos: interactivo y no interactivo.

Si necesita buscar sólo un fragmento de datos, utilice el modo no interactivo. Para el


primer argumento, escriba el nombre o la dirección IP del equipo que va a buscar. Para
el segundo argumento, escriba el nombre o la dirección IP de un servidor de nombres
DNS. Si omite el segundo argumento, se utilizará el servidor de nombres DNS
predeterminado.
Si necesita buscar más de un fragmento de datos, utilice el modo interactivo. Escriba un
guión (-) para el primer argumento y el nombre o la dirección IP de un servidor de
nombres DNS para el segundo argumento. O bien, omita ambos argumentos y se
utilizará el servidor de nombres DNS predeterminado.

Pruebas realizadas con el comando nslookup:

C:\Documents and Settings\Administrador>nslookup


Servidor predeterminado: alumnos.iua.com.ar
Address: 192.168.1.2

> google.com
Servidor: alumnos.iua.com.ar
Address: 192.168.1.2

Guía de Trabajos Prácticos Página 116


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Nombre: google.com
Addresses: 64.233.167.99, 72.14.207.99, 64.233.187.99

> alumnos.iua.com.ar
Servidor: alumnos.iua.com.ar
Address: 192.168.1.2

Nombre: alumnos.iua.com.ar
Address: 192.168.1.2

> profesores.iua.com.ar
Servidor: alumnos.iua.com.ar
Address: 192.168.1.2

Nombre: profesores.iua.com.ar
Address: 192.168.1.3

>
C:\Documents and Settings\Administrador>

- ping: Este comando fue explicado en un trabajo práctico anterior.

Pruebas realizadas con este comando:

C:\Documents and Settings\Administrador>ping alumnos.iua.com.ar

Haciendo ping a alumnos.iua.com.ar [192.168.1.2] con 32 bytes de


datos:

Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128


Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128

Estadísticas de ping para 192.168.1.2:


Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms

C:\Documents and Settings\Administrador>


C:\Documents and Settings\Administrador>ping profesores.iua.com.ar

Haciendo ping a profesores.iua.com.ar [192.168.1.2] con 32 bytes de


datos:

Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128


Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128
Respuesta desde 192.168.1.2: bytes=32 tiempo<1m TTL=128

Estadísticas de ping para 192.168.1.2:


Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),

Guía de Trabajos Prácticos Página 117


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms

C:\Documents and Settings\Administrador>

Con las pruebas realizadas, observamos que el servidor DNS iua.com.ar, responde a sus
llamadas.

Configuración de Servidor Secundario

Un servidor DNS secundario proporciona redundancia a través de la red para resolución


de nombres de host. Un servidor DNS secundario conservará una copia de los archivos
de zona para resolución de nombres. Para esto, se tendrán que realizar algunos cambios
en estos archivos en el servidor DNS principal.

Utilizaremos un segundo servidor Windows para poder realizar la configuración.

Para comenzar con la configuración debemos tener instalado el DNS Server. Aclaramos
que la instalación del DNS Server la realizamos cuando comenzamos este práctico, por
tal motivo no la vamos a repetir.

Haga clic en el botón Inicio, seleccione Programas, seleccione Herramientas


administrativas y a continuación, haga clic en DNS.

En el menú DNS, haga clic en Nueva zona.

Seleccione la opción Zona secundaria. Luego oprima siguiente.

Guía de Trabajos Prácticos Página 118


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Seleccione Zona de búsqueda directa y oprima en siguiente.

Escribimos el nombre de nuestra zona, iua.com.ar y luego siguiente.

Guía de Trabajos Prácticos Página 119


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Escriba la dirección IP del servidor DNS principal, haga clic en Agregar y a
continuación, haga clic en Siguiente.

Para finalizar la creación de nuestra zona, presionamos en Finalizar.

Para terminar con la configuración, vamos a repetir los mismos pasos que realizamos
hasta recién, pero al momento de seleccionar tipo de zona de búsqueda, seleccionaremos
la opción búsqueda inversa.

Comprobar el funcionamiento de nuestro servidor DNS secundario


Vemos como responde el servidor primario desde el secundario:
C:\Documents and Settings\Administrador>nslookup
*** No se puede encontrar el nombre de servidor para la direcci¢n
192.168.1.2:
Non-existent domain
*** No se puede encontrar el nombre de servidor para la direcci¢n
192.168.1.3:
Non-existent domain
*** Los servidores predeterminados no están disponibles

Guía de Trabajos Prácticos Página 120


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Servidor predeterminado: UnKnown
Address: 192.168.1.2

> profesores.iua.com.ar
Servidor: UnKnown
Address: 192.168.1.2

> iua.com.ar
Servidor: UnKnown
Address: 192.168.1.2

Nombre: iua.com.ar

> alumnos.iua.com.ar
Servidor: alumnos.iua.com.ar
Address: 192.168.1.2

> exit
C:\Documents and Settings\Administrador>

En este ejemplo vemos como responde el servidor secundario desde el primario:


C:\>nslookup profesores.iua.com.ar
*** No se puede encontrar el nombre de servidor para la dirección
192.168.1.3:
Non-existent domain
*** Los servidores predeterminados no están disponibles
Servidor: UnKnown
Address: 192.168.1.3

Nombre: profesores.iua.com.ar
Address: 192.168.1.2
C:\>

Vista de la configuración del servidor DNS secundario:

Guía de Trabajos Prácticos Página 121


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Servicio DHCP – Windows


Instalar el servicio DHCP

Para instalar el Servicio DHCP en un equipo existente basado en Windows Server 2003,
siga estos pasos:

1. Haga clic en Inicio, en Configuración y, a continuación, en Panel de control.

2. Haga doble clic en Agregar o quitar programas y, después, haga clic en Agregar o
quitar componentes de Windows.

3. En el Asistente para componentes de Windows, haga clic en Servicios de red en el


cuadro Componentes y, después, en Detalles.

4. Active la casilla de verificación Protocolo de configuración dinámica de host (DHCP)


si no está ya activada y, después, haga clic en Aceptar.

5. En el Asistente para componentes de Windows, haga clic en Siguiente para iniciar la


instalación de Windows Server 2003.

6. Cuando termine el programa de instalación, haga clic en Finalizar.

Configurar el servicio DHCP

Después de instalar e iniciar el servicio DHCP, debe crear un ámbito (un intervalo de
direcciones IP válidas que se pueden conceder a los clientes de DHCP). Cada servidor

Guía de Trabajos Prácticos Página 122


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
DHCP del entorno debe tener al menos un ámbito que no se superponga con ningún otro
del servidor DHCP de su entorno.

Cuando instala y configura el servicio DHCP en un controlador de dominio, se suele


autorizar el servidor la primera vez que lo agrega a la consola de DHCP. Sin embargo,
cuando instala y configura el servicio DHCP en un servidor miembro o en un servidor
independiente, tiene que autorizar el servidor DHCP.

Haga clic en Inicio, Programas, Herramientas administrativas y, a continuación, haga


clic en DHCP.

En el árbol de consola del complemento DHCP, seleccione el nuevo servidor DHCP. Si


hay una flecha de color rojo en la esquina inferior derecha del objeto Servidor, significa
que todavía no se ha autorizado el servidor.

Haga clic con el botón secundario del mouse (ratón) en el servidor y, a continuación,
haga clic en Autorizar.

Crear un ámbito nuevo :En el árbol de la consola, haga clic con el botón secundario
del mouse (ratón) en el servidor DHCP en el que desee crear el ámbito DHCP y, a
continuación, haga clic en Ámbito nuevo.

Guía de Trabajos Prácticos Página 123


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

En el Asistente para ámbito nuevo, haga clic en Siguiente, y escriba un nombre y una
descripción para el ámbito. En nuestro caso, el nombre es iua y la descripción “Ambito
IUA”. Haga clic en Siguiente.

Escriba el intervalo de direcciones que pueden concederse como parte de este ámbito.
Nuestro intervalo es IP inicial 192.168.1.10 y la dirección final 192.168.1.250. máscara
de subred se genera automáticamente Presionamos en siguiente.

Guía de Trabajos Prácticos Página 124


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Ahora debemos indicar todas las direcciones IP que deseamos excluir del intervalo
especificado. En este caso vamos a excluir el intervalo 192.168.1.100 a 192.168.1.105,
presionamos en agregar y luego en siguiente.

Ahora indicamos el número de días, horas y minutos que deben transcurrir antes de que
caduque la concesión de una dirección IP de este ámbito. A esta opción la dejamos pode
defecto. Hacemos clic en Siguiente.

Ahora, seleccionamos la opción “Configurar estas opciones ahora” y damos en


Siguiente. De esta manera vamos a configurar los valores para las opciones de DHCP
más comunes.

Guía de Trabajos Prácticos Página 125


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Debemos escribir la dirección IP de la puerta de enlace predeterminada que deben


utilizar los clientes que obtienen una dirección IP de este ámbito. Escribimos
192.168.1.1, luego clic en Agregar y finalmente en siguiente.

Si ya hay servidores DNS en la red, escriba el nombre de dominio de la organización en


el cuadro Dominio primario. Nosotros tenemos un servidor DNS configurado
anteriormente en este mismo trabajo práctico. Por lo tanto, vamos a utilizar el servidor
DNS iua.com.ar para esta configuración. Hacemos clic en Siguiente.

Guía de Trabajos Prácticos Página 126


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Nosotros no tenemos Servidores WINS, por lo tanto, dejamos vacía estas opciones.
Hacemos clic en Siguiente.

Para finalizar con la configuración de nuestro servidor DHCP, hacemos clic en “Activar
este ámbito ahora” para activar el ámbito y permitir que los clientes obtengan
concesiones del mismo. Luego hacemos clic en Siguiente y, después en Finalizar.

Ya tenemos
nuestro
servidor
DHCP en
funcionamiento. A partir de ahora, los clientes de este servidor obtendrán
automáticamente una dirección IP asignada por este servidor.

Introducción DNS Linux

Domain Name System (DNS) es una base de datos distribuida y jerárquica que
almacena información asociada a nombres de dominio en redes como Internet. Aunque
como base de datos el DNS es capaz de asociar distintos tipos de información a cada
nombre, los usos más comunes son la asignación de nombres de dominio a direcciones
IP y la localización de los servidores de correo electrónico de cada dominio.

Guía de Trabajos Prácticos Página 127


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Los Servidores DNS utilizan TCP y UDP en el puerto 53 para responder las
consultas. Casi todas las consultas consisten de una sola solicitud UDP desde un
Cliente DNS seguida por una sola respuesta UDP del servidor. TCP interviene cuando
el tamaño de los datos de la respuesta excede los 512 bytes, tal como ocurre con tareas
como transferencia de zonas.
BIND (acrónimo de Berkeley Internet Name Domain) es una implementación
del protocolo DNS y provee una implementación libre de los principales componentes
del Sistema de Nombres de Dominio, los cuales incluyen:
• Un servidor de sistema de nombres de dominio (named).
• Una biblioteca resolutoria de sistema de nombres de dominio.
• Herramientas para verificar la operación adecuada del servidor DNS
(bind-utils).

Componentes para la operación práctica del sistema DNS se utilizan tres componentes
principales:
• Los Clientes DNS (resolvers), un programa cliente DNS que se ejecuta en la
computadora del usuario y que genera peticiones DNS de resolución de nombres
a un servidor DNS (Por ejemplo: ¿Qué dirección IP corresponde a
nombre.dominio?);
• Los Servidores DNS (name servers), que contestan las peticiones de los
clientes, los servidores recursivos tienen la capacidad de reenviar la petición a
otro servidor si no disponen de la dirección solicitada;
Hay dos tipos de servidores de nombres:

 Servidor Maestro: También denominado Primario. Obtiene los


datos del dominio a partir de un fichero hospedado en el mismo servidor.

 Servidor Esclavo: También denominado Secundario. Al iniciar


obtiene los datos del dominio a través de un Servidor Maestro (o
primario), realizando un proceso denominado transferencia de zona.
• Y las Zonas de autoridad, porciones del espacio de nombres de dominio que
almacenan los datos. Cada zona de autoridad abarca al menos un dominio y
posiblemente sus subdominios, si estos últimos no son delegados a otras zonas
de autoridad.

La información de cada Zona de Autoridad es almacenada de forma local en un


fichero en el Servidor DNS. Este fichero puede incluir varios tipos de registros:
Tipo de Registro. Descripción.
Registro de dirección que resuelve un nombre de un anfitrión
A (Address)
hacia una dirección IPv4 de 32 bits.
Registro de dirección que resuelve un nombre de un anfitrión
AAAA
hacia una dirección IPv6 de 128 bits.

Guía de Trabajos Prácticos Página 128


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Tipo de Registro. Descripción.
Registro de nombre canónico que hace que un nombre sea alias
CNAME (Canonical
de otro. Los dominios con alias obtiene los sub-dominios y
Name)
registros DNS del dominio original.
Registro de servidor de correo que sirve para definir una lista de
MX (Mail Exchanger) servidores de correo para un dominio, así como la prioridad
entre éstos.
Registro de apuntador que resuelve direcciones IPv4 hacia el
PTR (Pointer) nombre anfitriones. Es decir, hace lo contrario al registro A. Se
utiliza en zonas de Resolución Inversa.
Registro de servidor de nombres que sirve para definir una lista
NS (Name Server)
de servidores de nombres con autoridad para un dominio.
Registro de inicio de autoridad que especifica el Servidor DNS
Maestro (o Primario) que proporcionará la información con
SOA (Start of
autoridad acerca de un dominio de Internet, dirección de correo
Authority)
electrónico del administrador, número de serie del dominio y
parámetros de tiempo para la zona.
Registro de servicios que especifica información acerca de
servicios disponibles a través del dominio. Protocolos como
SRV (Service) SIP (Session Initiation Protocol) y XMPP (Extensible
Messaging and Presence Protocol) suelen requerir registros
SRV en la zona para proporcionar información a los clientes.
Registro de texto que permite al administrador insertar texto
arbitrariamente en un registro DNS. Este tipo de registro es muy
utilizado por los servidores de listas negras DNSBL (DNS-
TXT (Text)
based Blackhole List) para la filtración de Spam. Otro ejemplo
de uso son las VPN, donde suele requerirse un registro TXT
para definir una llave que será utilizada por los clientes.

Las zonas que se pueden resolver son Zonas de Reenvío (Devuelven direcciones IP
para las búsquedas hechas para nombres FQDN [Fully Qualified Domain Name]) y
Zonas de Resolución Inversa, que devuelven nombres FQDN para las búsquedas
hechas para direcciones IP.

Configuración DNS - Linux


Para comenzar, lo primero que vamos hacer es verificar si están instalados los paquetes
necesarios para tener nuestro servidor DNS, para ello ejecutamos la siguiente sentencia:

[root@201-212-115-216 ~]# rpm -q bind bind-chroot bind-utils


caching-nameserver
bind-9.3.2-4.1

Guía de Trabajos Prácticos Página 129


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
package bind-chroot is not installed
bind-utils-9.3.2-4.1
caching-nameserver-7.3-5.FC5
[root@201-212-115-216 ~]#

Vemos que lo único que nos queda por instalar es el paquete “bind-chroot”. Para
instalarlo ejecutamos lo siguiente:

[root@201-212-115-216 ~]# yum install bind-chroot


Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core
[1/3]
core 100% |=========================| 1.1 kB
00:00
extras
[2/3]
extras 100% |=========================| 1.1 kB
00:00
updates
[3/3]
updates 100% |=========================| 1.2 kB
00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 1.7 MB
00:26
extras : ##################################################
5612/5612
Added 164 new packages, deleted 114 old in 6.26 seconds
primary.xml.gz 100% |=========================| 413 kB
00:06
updates : ##################################################
1120/1120
Added 68 new packages, deleted 44 old in 1.63 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for bind-chroot to pack into transaction set.
bind-chroot-9.3.3-0.2.rc2 100% |=========================| 36 kB
00:00
---> Package bind-chroot.i386 30:9.3.3-0.2.rc2.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: bind = 30:9.3.3-0.2.rc2.fc5 for package:
bind-chroot
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for bind to pack into transaction set.
bind-9.3.3-0.2.rc2.fc5.i3 100% |=========================| 45 kB
00:00
---> Package bind.i386 30:9.3.3-0.2.rc2.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: bind-libs = 30:9.3.3-0.2.rc2.fc5 for
package: bind
--> Processing Dependency: libdns.so.22 for package: bind

Guía de Trabajos Prácticos Página 130


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for bind-libs to pack into transaction set.
bind-libs-9.3.3-0.2.rc2.f 100% |=========================| 36 kB
00:00
---> Package bind-libs.i386 30:9.3.3-0.2.rc2.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: libdns.so.21 for package: bind-utils
--> Processing Dependency: bind-libs = 30:9.3.2-4.1 for package: bind-
utils
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for bind-utils to pack into transaction set.
bind-utils-9.3.3-0.2.rc2. 100% |=========================| 35 kB
00:00
---> Package bind-utils.i386 30:9.3.3-0.2.rc2.fc5 set to be updated
--> Running transaction check

Dependencies Resolved

======================================================================
=======
Package Arch Version Repository
Size
======================================================================
=======
Installing:
bind-chroot i386 30:9.3.3-0.2.rc2.fc5 updates
36 k
Updating for dependencies:
bind i386 30:9.3.3-0.2.rc2.fc5 updates
952 k
bind-libs i386 30:9.3.3-0.2.rc2.fc5 updates
828 k
bind-utils i386 30:9.3.3-0.2.rc2.fc5 updates
161 k

Transaction Summary
======================================================================
=======
Install 1 Package(s)
Update 3 Package(s)
Remove 0 Package(s)
Total download size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): bind-utils-9.3.3-0 100% |=========================| 161 kB
00:02
(2/4): bind-9.3.3-0.2.rc2 100% |=========================| 952 kB
00:14
(3/4): bind-libs-9.3.3-0. 100% |=========================| 828 kB
00:12
(4/4): bind-chroot-9.3.3- 100% |=========================| 36 kB
00:00
Running Transaction Test
Finished Transaction Test

Guía de Trabajos Prácticos Página 131


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Transaction Test Succeeded
Running Transaction
Updating : bind-libs #################### [1/7]
Updating : bind #################### [2/7]
Updating : bind-utils #################### [3/7]
Installing: bind-chroot #################### [4/7]
Cleanup : bind-utils #################### [5/7]
Cleanup : bind #################### [6/7]
Cleanup : bind-libs #################### [7/7]

Installed: bind-chroot.i386 30:9.3.3-0.2.rc2.fc5


Dependency Updated: bind.i386 30:9.3.3-0.2.rc2.fc5 bind-libs.i386
30:9.3.3-0.2.rc2.fc5 bind-utils.i386 30:9.3.3-0.2.rc2.fc5
Complete!
[root@201-212-115-216 ~]#

Una vez ya instalado este paquete, comenzamos con la configuración propiamente


dicha.
Si deseamos crear una zona de resolución de nombres con un dominio propio, primero
debemos tener nuestro dominio, este será “inspired.com.ar”.

Para la resolución de nombres, tenemos dos maneras de realizarlo. Una alternativa


consiste en que el sistema envíe una solicitud a algún servidor DNS. La otra elección
consiste en el almacenamiento de dicha información en el archivo “/etc/hosts”. El
funcionamiento de este archivo fue explicado en prácticos anteriores para la plataforma
Windows. Para Linux, el funcionamiento es el mismo. El archivo hosts, se encuentra
en el directorio /etc/hosts. El archivo hosts por defecto se ve de la siguiente
manera:
[root@200-127-18-118 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
localhost.localdomain localhost
[root@200-127-18-118

También podemos especificar una prioridad para la resolución de nombres. Es decir,


podemos indicar si el sistema debe consultar primero al archivo hosts o al DNS. Esta
configuración la realizamos en el archivo “nsswitch.conf”, que se encuentra en el
directorio “/etc/nsswitch.conf”. Ahora, vamos a mostrar la configuración por
defecto del archivo. En esta configuración, consulta primero al archivo host y luego al
DNS. Señalamos con negrita la línea donde se lleva a cabo dicha configuración.

[root@200-127-18-118 ~]# cat /etc/nsswitch.conf


# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis

passwd: files
shadow: files
group: files

#hosts: db files nisplus nis dns

Guía de Trabajos Prácticos Página 132


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
hosts: files dns

# Example - obey only what nisplus tells us...


#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files

bootparams: nisplus [NOTFOUND=return] files

ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files

netgroup: nisplus

publickey: nisplus

automount: files nisplus


aliases: files nisplus

[root@200-127-18-118 ~]#

Ahora debemos agregar nuestra zona en el archivo de zonas. Tal archivo es


“/etc/named.conf”. Las líneas que le vamos agregar al archivo son las siguientes:

zone "inspired.com.ar" IN {
type master;
file "inspired.com.ar.zone";
};

Luego de esto, nuestro archivo quedará configurado de la siguiente manera:

[root@201-212-115-216 ~]#cat /etc/named.conf


//
// named.conf for Red Hat caching-nameserver
//

options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

Guía de Trabajos Prácticos Página 133


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arp
a" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};

zone "inspired.com.ar" IN {
type master;
file "inspired.com.ar.zone";
};

Guía de Trabajos Prácticos Página 134


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
include "/etc/rndc.key";
[root@201-212-115-216 ~]#

Como podemos ver, el archivo named.conf tiene definido mucho más zonas a demás de
la que nosotros agregamos. Por ejemplo, localhost.
Ahora vamos a explicar algunos parámetros importantes:
- "type" especifica si el servidor es un master o un esclavo de ese dominio. Si es
del tipo master quiere decir que el servidor DNS no pedirá a nadie más
información sobre ese dominio. En cambio, si va a extraer la información de otro
servidor, necesitará usar el tipo esclavo ("type slave").
- “file” especifica el nombre del fichero donde se guarda o se guardará la
información. Estos ficheros se encuentran por defecto en /var/named (a menos
que cambie la sentencia "directory" en /etc/named.conf, o se instale el
paquete bind-chroot).

Como ya se indicó más arriba, cada zona definida en el archivo named.conf posee un
archivo de zona en la que se definen los parámetros de la misma. Normalmente estos
ficheros se encuentran en “/var/named”, y poseen el nombre definido en el archivo de
zonas. Si listamos el contenido de dicho directorio, veremos todos los archivos de
zonas.
Como ya definimos nuestra zona “inspired.com.ar”, ahora debemos crear el archivo de
zonas el directorio “/var/named”. Estos archivos de zona son la base del sistema
BIND. Aquí se encuentra toda la información sobre qué nombre de host se asocia con
qué dirección IP.

Para generar nuestro archivo de zonas, vamos al directorio /var/named y generamos un


archivo con el nombre “inspired.com.ar.zone”. Dentro de este colocamos el siguiente
texto:
$TTL 86400
inspired.com.ar. IN SOA master.inspired.com.ar.
franco.inspired.com.ar. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
inspired.com.ar. IN NS master.inspired.com.ar.
master.inspired.com.ar. IN A 192.168.0.1
franco.inspired.com.ar. IN CNAME master.inspired.com.ar.
www.inspired.com.ar. IN CNAME master.inspired.com.ar.

Lo mostrado anteriormente va a ser nuestro archivo de zonas propiamente dicho.


A continuación vamos a explicar el significado de los parámetros del archivo:
Como se puede observar, tenemos una sección de cabecera que nos define una
serie de parámetros importantes. Las líneas que comience con ";" (punto y coma)
son de comentario y será ignorado por BIND. Las primeras 6 líneas son de
configuración de la zona y definen su cabecera.

Guía de Trabajos Prácticos Página 135


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La primera línea de la cabecera nos especifica el valor del TTL (Time To Live),
que especifica por cuanto tiempo serán validos los registros en caso de que los
mismos se almacenen en un caché.
La segunda línea dice cuál es la zona y quien quién es el responsable
(master.inspired.com.ar) junto con la dirección de correo electrónico
(facarrara.gmail.com).
También podemos ver que entre paréntesis existen otros parámetros, estos
incluyen un número de serie que nos dé una pista de cuándo se ha actualizado,
cada cuánto actualizar la base de datos, cada cuánto reintentar una transferencia
de zona, cuándo caduca la información de zona y un tiempo de vida por defecto.

NOTA: En el momento en que haga cambios a los ficheros de zona, debe


incrementar el número de serie. Si no lo hace puede haber problemas, sobre todo
si es un servidor primario proporcionando información a sitios secundarios. La
mayoría de esta información sólo se usa si tiene sistemas tanto maestros como
esclavos. Generalmente, se suele utilizar la fecha en sentido inverso para que el
número de secuencia se vaya incrementando. En los casos en que se modifique
varias veces al día, se puede agregar el número de versión. Así, por ejemplo,
nuestro número de secuencia podría ser 2006051201, lo que representaría que la
versión del archivo fue modificada el día 12/05/2006, y esta es la segunda
modificación (dependiendo de donde se decida comenzar).
Luego de la cabecera, la primera línea nos indica un dominio (inspired.com.ar ).
La abreviatura NS, nos indica un servidor que posee autoridad sobre un dominio
(sobre inspired.com.ar).
A: Mapeo de un nombre a una dirección
PTR: Mapeo de una dirección a un nombre. Se utiliza para resolución inversa.
CNAME:Nombres canónicos, para definir alias.
El resto del fichero de zona relaciona todas sus computadoras e IPs. Para más
información de otras características y configuración de esta información pruebe
con la documentación de BIND.

Una vez configurado el archivo inspired.com.ar.zone, debemos especificarle al


sistema que servidores DNS utilizaremos. Esa información se encuentra en el archivo
“/etc/resolv.conf”, y allí el sistema busca para saber cómo debería realizar las
búsquedas DNS. Nuestro archivo queda configurado de la siguiente manera.
[root@201-212-115-216 ~]# cat /etc/resolv.conf
domain inspired.com.ar
search inspired.com.ar
nameserver 192.168.0.1
[root@201-212-115-216 ~]#

La primera línea indica en qué dominio estamos. La segunda es un patrón de búsqueda,


puede omitirse, pero también recomendaría su utilización. Sin ella no podría buscar el
nombre de una máquina sin tener que escribir su nombre de dominio completamente
calificado, por ejemplo, si estuviéramos en el dominio “inspired.com.ar”, no
podríamos buscar "franco" dentro de este dominio (definiéndolo de esta manera). En

Guía de Trabajos Prácticos Página 136


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
ese caso, deberíamos buscar "franco.inspired.com.ar" (a menos que lo hayamos
especificado en su fichero /etc/hosts). Las líneas "nameserver" nos especifican el
orden de búsqueda de servidores DNS. Ya que estamos configurando BIND en su
sistema, necesitará cambiar este fichero.

Con todo configurado como fuimos indicamos, es el momento de iniciar el servicio, y


verificar que realmente esta funcionado nuestro servidor DNS.
Para ello hacemos:
[root@201-212-115-216 ~]#service named start
Iniciando named: [ OK ]
[root@201-212-115-216 ~]#

- Comprobar el funcionamiento del DNS

Hay varias maneras para comprobar el funcionamiento de nuestro DNS. A


continuación, realizaremos pruebas con cada una de estas alternativas.

Dig (Domain Information Groper): Es una utilidad de línea de comando que consulta
a nameservers DNS. Por defecto, se utilizarán los nameserver listados en
/etc/resolv.conf y realice de esta manera las consultas a los NS (Nameserver). Una
opción interesante, es la posibilidad de agregarle la dirección del servidor DNS que
queremos que resuelva la dirección. Esto lo lograremos con el parámetro @ y la
dirección del servidor. No obstante, para nuestro caso particular no será de gran
relevancia ya que para el caso de los servidores DNS siempre nos responderá el que
primero reciba la solicitud, por lo que en nuestro caso será 192.168.0.1.
Realizamos la prueba:

[root@201-212-115-216 ~]# dig @192.168.0.1 www.inspired.com.ar

; <<>> DiG 9.3.3rc2 <<>> @192.168.0.1 www.inspired.com.ar


; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46480
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL:
0

;; QUESTION SECTION:
;www.inspired.com.ar. IN A

;; ANSWER SECTION:
www.inspired.com.ar. 86400 IN CNAME
master.inspired.com.ar.
master.inspired.com.ar. 86400 IN A 192.168.0.1

;; AUTHORITY SECTION:
inspired.com.ar. 86400 IN NS
master.inspired.com.ar.

;; Query time: 1 msec

Guía de Trabajos Prácticos Página 137


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Nov 18 16:15:41 2006
;; MSG SIZE rcvd: 88

[root@201-212-115-216 ~]#

En la prueba anterior, se realiza una consulta al servidor DNS local (192.168.0.1), sobre
www.inspired.com.ar, y este nos responde otorgando su dirección en el bloque de
ANSWER SECTION. A demás, indica quién es la autoridad de la zona que nos está
respondiendo y el tiempo requerido para realizar la búsqueda con la dirección IP del
host.

Host: Es otra utilidad que nos permite realizar consultas (tantos Inversas como
Forward), solicitando la información a los DNS nameservers.
Prueba con el comando hosts:

[root@201-212-115-216 ~]# host www.inspired.coma.r


Host www.inspired.coma.r not found: 3(NXDOMAIN)
[root@201-212-115-216 ~]# host www.inspired.com.ar
www.inspired.com.ar is an alias for master.inspired.com.ar.
master.inspired.com.ar has address 192.168.0.1
[root@201-212-115-216 ~]#

DHCP en Linux
DHCP es un servicio usado en redes para:
- entregar IPs a clientes de red.
- compatibilizar con BOOTP para booteo de máquinas Diskless

DHCP posee dos componentes principales:


- Uno llamado "protocolo" que sirve para entrega de configuraciones específicas
"per-host" desde un servidor DHCP.
- Otro llamado "mecanismo" que sirve para la localización de direcciones de red a
hosts.

Por sobre todo, DHCP es un modelo de cliente-servidor.

Explicación del funcionamiento


En toda LAN usando TCP-IP, todos las máquinas deben tener un numero IP. Esto se
puede lograr de tres maneras:
a) configurando cada cliente por separado, evitando choques de IP (configuración "per-
host").
b) asignando un IP por cliente, de manera dinámica o está tica (DHCP).

Cada cliente por separado en a) tendrá un número IP asignado por el administrador de


red. En b) cada número IP estará asignado dentro de un "pozo" de números IP
dispuestos por el servidor DHCP.

Ahora describimos más o menos lo que ocurre:

Guía de Trabajos Prácticos Página 138


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

- Etapa de descubrimiento: Cuando un host no posee un número IP determinado (o sea,


necesita un IP de un servidor DHCP), manda un mensaje llamado DHCPDISCOVER.
- Etapa de Ofrecimiento: El mensaje llega a un servidor DHCP (los clientes que no
posean el servicio DHCP ignoran este mensaje). El servidor responde con un mensaje
llamado DHCPOFFER. Este mensaje es enviado a toda la red (broadcast a
255.255.255.255) o únicamente al cliente. El cliente sabe como responder, ya que uno
de los parámetros del mensaje.
- Etapa de Ofrecimiento: El cliente recibe UNA O MAS peticiones DHCPOFFER de
uno o mas servidores. El cliente entonces elige (por tiempo de respuesta, por IP, etc). Al
elegir, el cliente envía un mensaje DHCPREQUEST al servidor que ha elegido para su
IP (server identifier), junto con otras opciones. Si el cliente no recibe mensajes
DHCPOFFER, expira la petición y reenvía un nuevo mensaje DHCPDISCOVER.
- Etapa de Encuentro: El servidor recibe el broadcast con el mensaje DHCPREQUEST
del cliente. El servidor responde con un mensaje DHCPACK que contiene los
parámetros para el cliente (el numero IP). Aquí viene la etapa de "leasing" de IP. Si el
servidor no puede satisfacer el mensaje DHCPREQUEST, el servidor igualmente debe
responder con un DHCPACK. El servidor marca los números IPs no disponibles.
- Etapa de Préstamo: El cliente recibe el mensaje DHCPACK y revisa si la
configuración es correcta. Si el cliente detecta un error, arroja un mensaje
DHCPDECLINE y reinicia el proceso. Si en vez de recibir un DHCPACK, el cliente
recibe un mensaje DHCPNAK, el cliente reinicia el proceso. Cuando esto ocurre
(DHCPDECLINE y DHCPNAK), el cliente expira la petición y la reinicia.
- Etapa de Devolución: El cliente envía un mensaje DHCPRELEASE al servidor
cuando libera su IP.

Configurando DHCP
Como la configuración de DHCP en Linux no era parte del trabajo práctico,
mostraremos algunos detalles generales de cómo se realiza la configuración DHCP en
fedora.

Configuración de Clientes:
Solo hay que modificar el archivo ifcfg-eth0. El archivo esta ubicado en
/etc/sysconfig/network-scripts.
Verificamos que en la línea que dice: BOOTPROTO=static se cambie por
BOOTPROTO=dhcp y luego debemos borrar las opciones IPADDR, NETMASK, NETWORK y
BROADCAST.

Configuración del Server:


Debemos verificar que esté instalado el paquete DHCP en el servidor.
La configuración del servidor DHCP se realiza modificando el archivo /etc/dhcpd.conf,
para eso hay que entender un poco los parámetros de configuración que no los
explicaremos. La configuración esta disponible en el libro Red Hat Fedora 5.

Guía de Trabajos Prácticos Página 139


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 8/2006


Fecha Inicio: 7/10/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 6 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración de servicios de Materia: Planeamiento y Control de
archivos FTP. Proyectos Informáticos

Objetivo:
• Instalar y configurar el servicio FTP en Linux y Windows.
• Entender la estructura de configuración de los archivos.
• Instalar un servicio FTP encriptado por SSH (SFTP)
Actividades:
• Repasar los conceptos de un servicio FTP en el capítulo 18 del libro Red Hat
• Linux Fedora 3 Unleashed.
• Leer y explorar el capítulo 13 del libro TCP/IP Network administration.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
• Windows 9x, 2000 Profesional).
• Publicar una página pública con acceso anónimo y otra con permisos de acceso.
• Activar en el servicio de nombres el direccionamiento a la página
correspondiente.
• Configurar scripts de automatización, tanto en Linux como Windows.
• Configurar y utilizar el servicio encriptado SFTP y la opción WinSCP.
• Leer y explorar el capítulo 14 (Lección 1 y 2) del libro MS Windows 2000
Server,MCSE 70-215.
Comandos a comprender:
• Ftpd en xinetd
• ftp
• Comandos de ftp
• Utilización de navegadores compatibles con protocolo ftp.
Archivos a configurar y comprender:
En Linux:
• Ftpaccess
• Ftpconversions
• Ftphosts
• Xferlog
• Sftp
• Los correspondientes a la instalación del servidor: wu-ftp o vsftp.

En Windows:
• Configurar el servicio
• Configurar las cuentas

Guía de Trabajos Prácticos Página 140


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Configurar el cliente

Bibliografía básica:
• Red Hat Linux Fedora 3 - Unleashed- de Bill Ball y Hoyt Duff, Ed, SAMS,
2005.
• Administración de servicios de información en Internet de Cricket Liu y otros.
• TCP/IP Network administration de Craig Hunt
• MS Windows 2000 Server, Curso Oficial de Certificación MCSE 70-215, Ed.
Mc Graw HUÍ, Madrid, 2001.
Sitios de referencia
• www.redhat.com
• www.insflug.org
• Como buscador preferido : www.google.com, especialmente por el servicio de
traducción
• www.wu-ftpd.org
• fedora.redhat.com
• www.openssh.com
• vsftpd.beasts.org

Guía de Trabajos Prácticos Página 141


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Instalando y Administrando un servidor FTP en Linux

FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros


informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más
idóneo para la transferencia de grandes bloques de datos a través de redes que soporten
TCP/IP.

Su comportamiento está definido por la recomendación RFC 959. El servicio utiliza los
puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de
datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del
cliente hacia el servidor.

Se precisa de un Servidor FTP y un cliente FTP, puede darse el caso de que los
servidores sean de libre acceso para todo el mundo y entonces estamos hablando de
login anónimo o FTP anónimo.

Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo
que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda
hacer uso de este servicio a través de un cliente FTP.

También se puede utilizar el protocolo FTP utilizando un navegador web con una
dirección del tipo ftp://usuario:contraseña@servidor.

VSFTPD (Very Secure FTP Daemon) es un sustento lógico utilizado para implementar
servidores de archivos a través del protocolo FTP. Se distingue principalmente porque
sus valores por defecto son muy seguros y por su sencillez en la configuración,
comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD
es quizá el servidor FTP más seguro del mundo.

- Instalar servidor FTP en Linux - vsftpd

Como primer paso, debemos verificar si tenemos instalado el servidor vsftpd. Para ello
ejecutamos el siguiente comando:

[root@200-122-65-195 ~]# rpm -q vsftpd


vsftpd-2.0.4-1.2
[root@200-122-65-195 ~]#

Observamos que tenemos instalado el servidor FTP, por lo tanto, procedemos con la
configuración de vsftpd.
Para llevar a cabo la configuración vamos a tener en cuenta el archivo
/etc/vsftpd/vsftpd.conf que es el fichero de configuración.

Primero vamos a verificar el estado del servidor, para ello hacemos:

Guía de Trabajos Prácticos Página 142


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

[root@200-122-65-195 ~]# service vsftpd status


vsftpd está parado
[root@200-122-65-195 ~]#

Vemos que el servicio esta detenido.


Ahora vamos a llevar a cabo la configuración del archivo /etc/vsftpd/vsftpd.conf.

- archivo /etc/vsftpd/vsftpd.conf

A continuación mostramos la estructura de nuestro archivo de configuración. Vamos a


marcar con negrita aquellos parámetros que consideramos importantes y que
explicaremos luego.

[root@200-122-65-195 ~]# cat /etc/vsftpd/vsftpd.conf


# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample
file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd
options.
# Please read the vsftpd.conf.5 manual page to get a full idea of
vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment
this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to
022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This
only
# has an effect if the above global write enable is activated. Also,
you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to
create
# new directories.

Guía de Trabajos Prácticos Página 143


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when
they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-
data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be
owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is
shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog
format
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which
the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR
requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact
ignore
# the request. Turn on the below options to have the server actually
do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of
service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

Guía de Trabajos Prácticos Página 144


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
# predicted this attack and has always been safe, reporting the size
of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses.
Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# You may specify an explicit list of local users to chroot() to their
home
# directory. If chroot_local_user is YES, then this list becomes a
list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled
by
# default to avoid remote users being able to cause excessive I/O on
large
# sites. However, some broken FTP clients such as "ncftp" and "mirror"
assume
# the presence of the "-R" option, so there is a strong case for
enabling it.
#ls_recurse_enable=YES

pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES
[root@200-122-65-195 ~]#

Ahora explicaremos aquellos parámetros marcados con negrita.


Cuenta anonima: Por ejemplo, si queremos dejar de utilizar la cuenta anonymous en el
servidor, (opción por defecto) debemos escribir la palabra NO en la línea
anonymous_enable=NO del archivo vsftpd.conf. Así, dicha línea nos quedaría de la
siguiente manera:
anonymous_enable=NO

Comentar la línea (# anonymous_enable=YES) no cumple la función de evitar el


acceso de usuarios anónimos, ya que por defecto están permitidos, y al comentar dicha
línea, estaríamos dejando la opción por defecto.

Guía de Trabajos Prácticos Página 145


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Otra alternativa consiste en no permitir que los usuarios del sistema local puedan
autenticarse en el servidor para su acceso. La opción por defecto lo permite, pero si
quisiéremos evitarlo, de la misma manera que antes, comentaríamos o negaríamos la
línea. Si queremos permitir que los usuarios locales inicien sesión en el servidor,
deberíamos dejar dicha línea de la siguiente manera:
local_enable=YES

Podemos definir si en nuestro servidor los usuarios podrán escribir o no. Esto se logra
mediante la utilización del parámetro write_enable. Por tanto, para permitir la
escritura, dicha línea debería decir:

write_enable=YES

Las siguientes opciones, nos permiten definir si el usuario anonymous podrá subir
archivos al servidor, y si podrá crear directorios respectivamente.
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

Por defecto, estas dos opciones no están habilitadas, para habilitarlas debemos quitar los
comentarios en dichas líneas.

Podemos desear colocar un mensaje de Bienvenida cunado accedamos al servidor. Esto


lo logramos mediante el Parámetro ftpd_banner. Por defecto, dicho mensaje se
encuentra comentado, por lo que nunca se mostrará, pero puede ser habilitado,
colocando un mensaje de nuestro agrado. Así, para colocar un mensaje de bienvenida,
debería quedarnos algo así:
ftpd_banner= BIENVENIDOS A MI FTP.

Por otra parte, y por cuestiones de seguridad, podemos hacer que los usuarios cuando
inicien sesión, se les cambie el root de su directorio home, no pudiendo modificarlo.
Esto lo logramos activando el siguiente parámetro:

chroot_list_enable=YES
Al habilitar dicho parámetro, se debe especificar el archivo en el que se guardará el
listado de usuarios que no podrán modificar su root. El parámetro es el siguiente:
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

Es probable que debamos crear dicho archivo. De esta manera, creamos una lista de los
usuarios a los que no se les permitirá cambiar el directorio root.
No obstante, también podemos especificar una lista de los usuarios a los que no se les
cambiará el directorio root y que podrán modificar su propio directorio root. Esto se
logra utilizando el parámetro anterior en combinación con el parámetro
chroot_local_user, que debe ser activado. En ese caso, el archivo

Guía de Trabajos Prácticos Página 146


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
vsftpd.chroot_list especificará los usuarios que podrán modificar su propio
directorio root. El resto de los usuarios no podrán modificar su directorio root.

- Puesta en funcionamiento del servidor FTP


El servidor vsftpd posee una ruta asignada para tal fin, que se encuentra definido por
defecto durante la instalación, que es /var/ftp/pub/.
Lo que vamos hacer, es copiar una serie de archivos a ese directorio, de manera que
cuando accedamos al FTP mediante un cliente, podamos observar información. En este
caso, copiamos los archivos que se encuentran en /home/fedora/ y los depositamos en
/var/ftp/pub/.
De esta manera, el directorio /var/ftp/pub/ almacena los siguientes archivos:

[root@200-122-65-195 ~]# dir /var/ftp/pub


dariogil.xls PSENDA_DANIEL_EDGARDO.xls
Desktop Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar
instantánea1.jpg ZULIANI_MIGUEL_ANGEL.xls
medel_maria_teresa.xlt
[root@200-122-65-195 ~]#

Ahora debemos arrancar el servicio vsftpd para que funcione nuestro FTP, para ello
ejecutamos el siguiente comando:
[root@200-122-65-195 ~]# service vsftpd start
Iniciando vsftpd para vsftpd: [ OK ]
[root@200-122-65-195 ~]#

La instrucción anterior, pone en funcionamiento nuestro FTP el cual lo podes acceder


desde la consola o cualquier cliente gráfico.
Aclaramos, que acabamos de configurar el archivo vsftpd.conf con las opciones por
defecto, es decir, con usuarios anónimos permitidos, pero sin permisos para subir ni
modificar nada en el servidor. Además, los usuarios locales se encuentran habilitados.
Todo esto se debe a que, tenemos los siguientes parámetros dentro del archivo de
configuración (vsftpd.conf):

anonymous_enable=YES
local_enable=YES

Por otro lado, antes de intentar acceder a nuestro servidor, vamos a realizar una serie de
comprobaciones para asegurar que todo funcione correctamente.
En primera instancia, debemos comprobar se el servicio se encuentre corriendo. Para
eso, ejecutamos lo siguiente:

[root@200-122-65-195 ~]# service vsftpd status


Se está ejecutando vsftpd (pid 2796)...
[root@200-122-65-195 ~]#

Guía de Trabajos Prácticos Página 147


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La información que nos otorga el comando anterior indica que el servicio se esta
ejecutando. Otra forma de verificar que el mismo realmente este funcionando, es
ejecutando la siguiente instrucción:

[root@200-122-65-195 ~]# netstat -atn|grep LISTEN|grep 21


tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
[root@200-122-65-195 ~]#

En la imagen se puede observar como con el comando netstat se están filtrando todas las
conexiones que sean de tipo TCP y que estén escuchando, y posteriormente se filtran los
que correspondan al puerto 21, que es el usado por FTP.

- Acceso a nuestro FTP desde un cliente


Nos conectaremos a nuestro servidor ftp mediante una interfaz textual a través de la
consola de Linux. Utilizaremos el usuario anonymous para establecer la conexión.
Para conectarnos ejecutamos la siguiente instrucción:

[root@200-122-65-195 ~]# ftp 200.122.65.195


Connected to 200.122.65.195.
220 (vsFTPd 2.0.4)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (200.122.65.195:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Una vez conectados podemos ejecutar diferentes mandatos. A continuación verificamos


el directorio donde nos encontramos y luego accedemos al directorio /pub:

ftp> pwd
257 "/"
ftp> cd ..
250 Directory successfully changed.
ftp> pwd
257 "/"
ftp> cd pub
250 Directory successfully changed.
ftp>

Ahora vamos a listar los archivos que se encuentran en el directorio /pub.


ftp> ls
227 Entering Passive Mode (200,122,65,195,234,124)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Nov 12 19:19 Desktop
-rw-r--r-- 1 0 0 18432 Nov 12 19:17
PSENDA_DANIEL_EDGARDO.xls

Guía de Trabajos Prácticos Página 148


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
-rwxr-xr-x 1 0 0 70652644 Nov 12 19:17
Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar
-rw-r--r-- 1 0 0 46080 Nov 12 19:17
ZULIANI_MIGUEL_ANGEL.xls
-rw-r--r-- 1 0 0 69120 Nov 12 19:17 dariogil.xls
-rw-r--r-- 1 0 0 177860 Nov 12 19:17
instantánea1.jpg
-rw-r--r-- 1 0 0 25600 Nov 12 19:17
medel_maria_teresa.xlt
226 Directory send OK.

Ahora intentamos crear una carpeta nueva:


ftp> mkdir franco
550 Permission denied.
ftp>

Estamos conectándonos al servidor como un usuario anónimo, y accedemos al


directorio /var/ftp/. No obstante, no podemos cambiar dicha ruta, es decir podemos
navegar por la estructura de directorios desde allí en adelante (hacia abajo en la
estructura de árbol), pero no hacia atrás o arriba. Tampoco podemos crear carpetas.

Ahora vamos a intentar subir archivos con este mismo usuario. Como resultados nos
presentará un error que nos indica que no tenemos permisos para realizar esa acción:

ftp> put
(local-file) install.log
(remote-file) instalador.log
local: install.log remote: instalador.log
227 Entering Passive Mode (200,122,65,195,22,73)
550 Permission denied.
ftp>

No obstante, si podemos descargar archivos, como se observa en la siguiente


instrucción:

ftp> get PSENDA_DANIEL_EDGARDO.xls


local: PSENDA_DANIEL_EDGARDO.xls remote: PSENDA_DANIEL_EDGARDO.xls
227 Entering Passive Mode (200,122,65,195,74,92)
150 Opening BINARY mode data connection for PSENDA_DANIEL_EDGARDO.xls
(18432 bytes).
226 File send OK.
18432 bytes received in 0.00014 seconds (1.3e+05 Kbytes/s)

En la sentencia ejecutada anteriormente podemos observar como se obtiene el archivo


PSENDA_DANIEL_EDGARDO.xls.

Ahora, nos conectaremos como usuario del sistema, es decir, no utilizando la cuenta de
usuario anónimo y realizando varias pruebas en el directorio.

[root@200-122-65-195 ~]# ftp 200.122.65.195


Connected to 200.122.65.195.

Guía de Trabajos Prácticos Página 149


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
220 (vsFTPd 2.0.4)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (200.122.65.195:root): fedora
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/fedora"
ftp> cd ..
250 Directory successfully changed.
ftp> pwd
257 "/home"
ftp> ls
227 Entering Passive Mode (200,122,65,195,248,82)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp> pwd
257 "/home"
ftp> cd ..
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (200,122,65,195,30,154)
150 Here comes the directory listing.
drwxr-xr-x 2 0 0 4096 Oct 21 16:35 bin
drwxr-xr-x 11 0 0 4140 Nov 12 18:31 dev
drwxr-xr-x 93 0 0 12288 Nov 12 18:33 etc
drwxr-xr-x 7 0 0 4096 Nov 03 16:13 home
drwxr-xr-x 11 0 0 4096 Nov 04 19:53 lib
drwxr-xr-x 2 0 0 0 Nov 12 18:31 net
drwxr-xr-x 2 0 0 4096 Feb 11 2006 opt
-rw-r--r-- 1 0 0 21 Nov 03 02:52 password
-rw-r--r-- 1 0 0 21 Nov 03 02:47
passwords
dr-xr-xr-x 136 0 0 0 Nov 12 15:30 proc
drwxr-xr-x 2 0 0 4096 Oct 21 15:45
quotasUser
drwxr-x--- 25 0 0 4096 Nov 12 19:25 root
drwxr-xr-x 2 0 0 12288 Nov 03 16:49 sbin
drwxr-xr-x 2 0 0 4096 Feb 11 2006 srv
drwxr-xr-x 11 0 0 0 Nov 12 15:30 sys
drwxrwxrwt 12 0 0 4096 Nov 12 19:18 tmp
drwxr-xr-x 14 0 0 4096 Oct 08 22:25 usr
drwxr-xr-x 23 0 0 4096 Oct 24 12:44 var
226 Directory send OK.
ftp>

Nos hemos conectado conectando al servidor FTP con la cuenta del usuario fedora, por
lo que el mismo puede acceder a su directorio /home/fedora.
También, este usuario puede navegar hacia arriba en la estructura de directorios,
excepto hasta el directorio root.

Guía de Trabajos Prácticos Página 150


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
En la salida de pantalla anterior, pudimos observar como se pueden ver y descargar los
archivos.. Notemos, que es similar a iniciar sesión como fedora, ya que contamos con
las mismas funcionalidades (tenemos los mismos permisos de en el sistema de archivos
que localmente). No obstante, tampoco el usuario fedora (al igual que el usuario
anonymous) puede crear directorios, pero si puede subir archivos al servidor. Tampoco
hay permiso para el borrado de archivos.

- Modificando la instalación por defecto de VSFTPD

Mensaje de Bienvenida: Para asignar un mensaje de bienvenida, debemos buscar en el


archivo de configuración, la línea que dice lo siguiente: #ftpd_banner=Welcome to
blah FTP service. Como se notará, la misma se encuentra comentada. Por tanto,
debemos descomentarla, y luego del igual colocar un texto a nuestro antojo. Por
ejemplo, podría quedarnos así: ftpd_banner= BIENVENIDOS A MI FTP
[root@200-122-65-195 ~]# ftp 200.122.65.195
Connected to 200.122.65.195.
220 BIENVENIDOS A MI FTP.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (200.122.65.195:root): fedora
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

- Eliminando al usuario Anonymous

Para evitar que se utilice el usuario anónimo, debemos modificar el archivo mencionado
anteriormente (/etc/vsftpd/vsftpd.conf) en la línea que dice:
# Allow anonymous FTP? (Beware - allowed by default if you
comment this out).
anonymous_enable=YES
La línea la debemos modificar por:
anonymous_enable=NO

Luego de realizar esta modificación, reiniciamos el servidor.


Ahora, mostraremos lo que sucede al intentar acceder con dicha cuenta, tanto de una
interfaz textual, como de una interfaz gráfica:

[root@200-122-65-195 ~]# ftp 200.122.65.195


Connected to 200.122.65.195.
220 BIENVENIDOS A MI FTP.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (200.122.65.195:root): anonymous
530 This FTP server does not allow anonymous logins.

Guía de Trabajos Prácticos Página 151


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Login failed.
ftp>

- Permitiendo al usuario Anonymous subir archivos

Para permitir que el usuario anónimo pueda subir cosas en el servidor, debemos realizar
una serie de operaciones.
Primero, debemos habilitar en el fichero de configuración, la línea que dice
“anon_upload_enable=YES”. Es decir, debemos quitar el comentario a dicha línea,
por lo que debería quedarnos de la siguiente manera: “anon_upload_enable=YES”.
El siguiente paso, es dar permisos al usuario y grupo en el sistema de archivos del
servidor. Esto lo podemos realizar ejecutando lo siguiente:

[root@200-122-65-195 ~]# cd /var/ftp/


[root@200-122-65-195 ftp]# ls -l
total 8
drwxr-xr-x 3 root root 4096 nov 12 16:20 pub
[root@200-122-65-195 ftp]# chown -R ftp:ftp pub
[root@200-122-65-195 ftp]# ls -l
total 8
drwxr-xr-x 3 ftp ftp 4096 nov 12 16:20 pub
[root@200-122-65-195 ftp]#

En la pantalla enterior podemos observar, en primera instancia, el directorio en el que


estamos ubicados. En la segunda instrucción, observamos que el directorio “pub”
pertenece al usuario root y al grupo root, esto se debe a que el usuario root es el que esta
instalando el servidor. En la tercera instrucción, asignamos el directorio “pub” (y todo
lo que contenga con la opción “-R”) como propiedad del usuario y grupo “ftp”, de esta
manera, cualquier usuario que pertenezca al grupo “ftp” podrá escribir en el sistema de
archivos. Finalmente, en la última instrucción, corroboramos que el cambio de dueño
halla sido realizado.

Un último paso es necesario para que esta configuración funcione correctamente.


Debemos modificar las características de Seguridad de SELinux.
Para ello, ejecutamos la instrucción ”system-config.security-level” desde la consola o
navegando por los menús.
La configuración de dicha alternativa de seguridad depende de lo que seleccionamos
para proteger con SELinux durante la instalación del sistema operativo. Si dejamos las
opciones por defecto seguramente se encontrará protegiendo el servicio FTP.

Guía de Trabajos Prácticos Página 152


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para deshabilitar la protección del servicio FTP, una vez abierta la ventana de
configuración y dentro de la pestaña “SELinux” tenemos dos alternativas. Aquí,
podremos seleccionar la opción de deshabilitar dicha característica de seguridad (no
recomendado), o hacerla más permisiva. Esta última opción es la que seleccionaremos.
Luego, deberemos hacer seleccionar el link para modificar las políticas de seguridad, y
allí debemos navegar hasta encontrar el servicio FTP, y seleccionar lo siguiente:

Posteriormente a dicho paso, también debemos modificar la configuración de nuestro


firewall. Para ello, deshabilitar el mismo con la instrucción:

[root@200-122-65-195 ftp]# service iptables stop


[root@200-122-65-195 ftp]#

Finalizado todos estos pasos de configuración, podemos probar que nuestro trabajo
realmente funciona. Para ello, realizaremos lo siguiente:

[root@200-122-65-195 ~]# ftp 200.122.65.195


Connected to 200.122.65.195.
220 BIENVENIDOS A MI FTP.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (200.122.65.195:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (200,122,65,195,128,133)
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 4096 Nov 12 19:19 Desktop
-rw-r--r-- 1 14 50 18432 Nov 12 19:17
PSENDA_DANIEL_EDGARDO.xls

Guía de Trabajos Prácticos Página 153


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
-rwxr-xr-x 1 14 50 70652644 Nov 12 19:17
Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar
-rw-r--r-- 1 14 50 46080 Nov 12 19:17
ZULIANI_MIGUEL_ANGEL.xls
-rw-r--r-- 1 14 50 69120 Nov 12 19:17 dariogil.xls
-rw-r--r-- 1 14 50 177860 Nov 12 19:17
instantánea1.jpg
-rw-r--r-- 1 14 50 25600 Nov 12 19:17
medel_maria_teresa.xlt
226 Directory send OK.
ftp> put
(local-file) man.lock
(remote-file) nuevo.lock
local: man.lock remote: nuevo.lock
227 Entering Passive Mode (200,122,65,195,25,180)
150 Ok to send data.
226 File receive OK.
5 bytes sent in 5.4e-05 seconds (90 Kbytes/s)
ftp>

Como se observa, hemos ingresando al FTP como usuario anonymous, y estamos


subiendo el archivo man.lock al servidor con el nombre de nuevo.lock.

- Permitiendo al usuario Anonymous crear directorios

Para permitir que el usuario anónimo pueda crear directorios, debemos realizar lo
siguiente.
Primero, debemos habilitar en el fichero de configuración, la línea que dice
“#anon_mkdir_write_enable=YES”. Es decir, debemos quitar el comentario a dicha
línea, por lo que debería quedarnos de la siguiente manera:
“anon_mkdir_write_enable=YES”.
Realizado este paso, el usuario anonymous podría crear directorios dentro del FTP (sólo
donde tiene permisos del sistema de archivos).
Ahora realizamos la prueba:

ftp> mkdir CarpetaNueva


257 "/pub/CarpetaNueva" created
ftp> ls
227 Entering Passive Mode (200,122,65,195,40,47)
150 Here comes the directory listing.
drwx------ 2 14 50 4096 Nov 12 19:56 CarpetaNueva
drwxr-xr-x 2 14 50 4096 Nov 12 19:19 Desktop
-rw-r--r-- 1 14 50 18432 Nov 12 19:17
PSENDA_DANIEL_EDGARDO.xls
-rwxr-xr-x 1 14 50 70652644 Nov 12 19:17
Sams.Red.Hat.Fedora.5.Unleashed.May.2006.rar
-rw-r--r-- 1 14 50 46080 Nov 12 19:17
ZULIANI_MIGUEL_ANGEL.xls
-rw-r--r-- 1 14 50 69120 Nov 12 19:17 dariogil.xls
-rw-r--r-- 1 14 50 177860 Nov 12 19:17
instantánea1.jpg
-rw-r--r-- 1 14 50 25600 Nov 12 19:17
medel_maria_teresa.xlt

Guía de Trabajos Prácticos Página 154


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
-rw------- 1 14 50 5 Nov 12 19:55 nuevo.lock
226 Directory send OK.
ftp>

Pudimos observar que el usuario mediante el comando “mkdir CarpetaNueva”, ha


creado dentro del servidor FTP el directorio llamado “CarpetaNueva”. Posteriormente,
se hace un listado del directorio, donde se puede observar la existencia del directorio
recién creado.

- Arranque de VSFTP al arrancar el sistema


Para añadir VSFTPD al arranque del sistema, debemos ejecutar:

[root@200-122-65-195 ~]# chkconfig vsftpd on


[root@200-122-65-195 ~]#

- Utilizar secuencias de comandos por lotes de FTP (batch):

FTP es capaz de utilizar secuencias de comandos (listas de comandos de archivos


externos). A continuación mostramos una secuencia de comandos que abre una
conexión a nuestro FTP 200.122.65.195, inicia sesión en el host como usuario
anonymous y carga el archivo inicio.txt, y a continuación, sale.
Las siguientes líneas fueron escritas en un archivo llamado prueba.txt, que se utilizará
para realizar la automatización:

open 200.122.65.195
user
anonymous
anonymous
cd pub
quit

Finalmente, para comprobar su funcionamiento, realizaremos lo siguiente:

C:\Documents and Settings\Franco>ftp -n -s:inicio.txt


ftp> open 200.122.65.195
Conectado a 200.122.65.195.
220 BIENVENIDOS A MI FTP.
ftp> user
Nombre de usuario anonymous
331 Please specify the password.
230 Login successful.
ftp> cd pub
250 Directory successfully changed.
ftp> quit
221 Goodbye.
C:\Documents and Settings\Franco>ftp -n -s:inicio.txt

Guía de Trabajos Prácticos Página 155


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Instalando un Servidor FTP en Windows

Inicialmente, debemos dirigirnos al MENU INICIO/PROGRAMAS/HERRAMIENTAS


ADMINSTRATIVAS/Administrador de Servicios de Internet.

Luego veremos la siguiente interfaz:

Guía de Trabajos Prácticos Página 156


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Para crear un servidor FTP, debemos hacer clic derecho sobre el servidor y seleccionar
la opción NUEVO-Servidor FTP.

Luego de seleccionar la opción nuevo Sitio FTP nos presentará un asistente que iremos
siguiendo intuitivamente para completar la configuración de nuestro FTP.
En primer lugar debemos indicar el nombre de nuestro servidor FTP. Luego damos en
siguiente.

Guía de Trabajos Prácticos Página 157


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora debemos indicar la dirección IP del servidor, en nuestro caso es 192.168.2.245 y


el puerto en que escucha el servicio. Por defecto es el puerto 21. Presionamos en
siguiente.

Luego debemos seleccionar la ruta de acceso en nuestro sistema de archivos. Nosotros


creamos una carpeta en c:\ llamada ftp. Seleccionamos la ruta c:\ftp y luego damos en
siguiente.

Guía de Trabajos Prácticos Página 158


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Seguidamente, se nos presentará otra ventana que nos permitirá seleccionar los
permisos que vamos a permitir en el sitio. Seleccionamos lectura y escritura y
presionamos en siguiente.

Ahora presionamos en Finalizar para concluir con la creación del sitio FTP.

En la ventana de Servicios de Internet Information Server podemos observar en la


jerarquía de servidores a nuestro servidor FTP.

Guía de Trabajos Prácticos Página 159


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Ya tenemos nuestro servidor FTP instalado, ahora solo debemos configurarlo.

- Configurar el servidor FTP

Para comenzar a configurar el FTP, debemos hacer clic derecho sobre nuestro servidor
FTPIUA y seleccionar la opción propiedades como se muestra a continuación.

En la nueva ventana, debemos seleccionar la pestaña Cuentas de Seguridad con el


objetivo de permitir que los usuarios anónimos ingresen al FTP. Para esto,
seleccionamos Agregar.

Ahora debemos seleccionar la función ANONYMOUS LOGON y lego presionar en


Aceptar para permitir que ingresen usuarios anónimos al sitio FTP.

Guía de Trabajos Prácticos Página 160


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora vemos que en la sección operadores del sitio FTP, aparece la opción
ANONYMOUS LOGON. Presionamos en aceptar.

Ya hemos finalizado con la configuración del sitio FTP, ahora vamos a proceder a
probar el funcionamiento.

- Comprobar el funcionamiento del FTP


Para probar el funcionamiento, utilizaremos el navegador de Windows Internet
Explorer. Para ello, accedemos a el y en la barra de direcciones colocamos
ftp://localhost y damos en enter.

Guía de Trabajos Prácticos Página 161


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Como podemos observar en la imagen, conseguimos acceder al servidor FTP con el


usuario anonymous.

- Configuración de permisos
Para iniciar el asistente par la configuración de permisos debemos ir al menú contextual
de nuestro servidor FTP, y nos dirigimos a la opción “Todas las tareas/Asistente para
permisos”.

A continuación se nos presentará un asistente que nos permitirá definir de una manera
intuitiva los permisos de nuestro servidor. Presionamos en siguiente.

Guía de Trabajos Prácticos Página 162


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

En la primera pantalla se nos presentan dos opciones; seleccionar si heredaremos una


configuración de seguridad, o si seleccionaremos una configuración desde una plantilla.
Nosotros seleccionamos la última opción luego damos en siguiente.

En la siguiente pantalla indicamos que seleccionemos la opción de un escenario de FTP


público, permitiendo a los usuarios descargar archivos. Presionamos en siguiente.

Seguidamente, se nos presentan varias opciones. Nosotros seleccionamos


“reemplazar todos los permisos de directorios y archivos”, luego presionamos en
siguiente.

Guía de Trabajos Prácticos Página 163


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Para finalizar, vemos una ventana con la información de todo lo configurado.


Presionamos en siguiente.

Presionamos en Finalizar para terminar la configuración.

- Creando un directorio Virtual

Por último vamos a crear un directorio virtual.Los directorios virtuales, nos permiten
incluir otro directorio que no se encuentre en el directorio raíz de nuestro FTP, como si
realmente estuviera en él.

Guía de Trabajos Prácticos Página 164


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para ello, debemos seleccionar el menú contextual de nuestro servidor FTP, y
seleccionar la opción “NUEVO/Directorio Virtual”.

Presionamos en siguiente para comenzar con el asistente.

Indicamos el alias del directorio virtual, en nuestro caso el alias es “franco”.


Presionamos en siguiente.

Guía de Trabajos Prácticos Página 165


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

En el paso siguiente, debemos indicar la ruta de acceso a un directorio del sistema. Con
el botón examinar podemos navegar por los directorios del sistema y seleccionar el
directorio apropiado. En nuestro caso indicamos c:\ftp. Luego presionamos en siguiente.

Ahora se nos solicita que seleccionemos los permisos de lectura y/o escritura.
Indicamos las casillas de lectura y escritura y presionamos en siguiente. Luego
pondremos finalizar para terminar con el asistente.

- Comprobando lo realizado

Para comprobar el funcionamiento de lo configurado hasta el momento, podemos


realizar lo siguiente:

Guía de Trabajos Prácticos Página 166


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Como podemos observar en la imagen, estamos accediendo al servidor como el usuario


“anonymous”, y posteriormente accedemos al directorio virtual. Finalmente, se realiza
un listado de los archivos del directorio virtual. Notemos que la utilización de
directorios virtuales no posee ninguna diferencia con respecto a un directorio creado
dentro del directorio raíz del servidor FTP.

- WinSCP (realizado en con mi compañero en con la misma pc)


WinSCP es una aplicación de Software Libre. WinSCP es un cliente SFTP gráfico para
Windows que emplea SSH. El anterior protocolo SCP también puede ser empleado. Su
función principal es facilitar la transferencia segura de archivos entre dos sistemas
informáticos, el local y uno remoto que ofrezca servicios SSH.
A este programa lo podemos descargar del siguiente sitio:
http://prdownloads.sourceforge.net/winscp/winscp382setup.exe?use_mirror=switch
Una vez descargado procedemos con su instalación y luego accedemos a el
ejecutándolo. Observaremos una interfase similar a la siguiente:

Guía de Trabajos Prácticos Página 167


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
En la ventana de WinSCP, debemos completar los textbox con la dirección IP de
nuestro servidor VSFTPD; el puerto lo dejamos en la configuración actual; también
indicamos un usuario del sistema y su contraseña.
La opción interesante consiste en la utilización del archivo de clave privada. Mediante
la incorporación del mismo (opcional), estamos utilizando un mecanismo de
autentificación para asegurarnos de que el servidor al que nos estamos conectando, es
quien dice ser. A los fines de este práctico no utilizaremos dicha opción, pero es
interesante saber de la existencia de esta alternativa.
También, disponemos de la alternativa de conectarnos usando el protocolo SCP, o con
SFTP, que es un protocolo un poco más moderno. Podemos concluir que este utilitario,
nos permite conectarnos de manera segura a un servidor FTP.

En la imagen que se muestra a continuación, podemos observar como conseguimos


utilizar el servicio seguro, registrándonos como el usuario pepe.

- Comprobando la seguridad
Para comprobar, la utilidad de una herramienta como WinSCP, analizaremos los
paquetes transmitidos utilizando un browser, y luego WinSCP. Analizaremos el tráfico
de los paquetes utilizando ethereal, un analizador de tráfico de red.
En primera instancia, nos conectamos utilizando un browser, por ejemplo. De esta
manera, la salida de ethereal, podría ser la siguiente:

Guía de Trabajos Prácticos Página 168


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Como podemos observar en la imagen, analizando el tráfico de paquetes, observamos


que el navegador utiliza por defecto la contraseña “mozilla@example.com”. De esta
manera, estamos utilizando un servicio poco fiable, ya que los paquetes pueden ser
vistos por cualquiera que pueda capturarlos. Observemos en la siguiente imagen, que la
contraseña viaja en texto claro:

Ahora, si nos conectáramos utilizando WinSCP, el resultado sería el siguiente:

Como podemos observar en la imagen, en ningún momento podemos ver la contraseña


en texto claro, debido a que la comunicación se está cifrando. Si miramos
detenidamente la imagen, veremos como se van haciendo los intercambios de claves
(mediante Diffie-Hellman).
Así, si observamos un paquete, solo veremos información sin sentido, como la
siguiente:

Guía de Trabajos Prácticos Página 169


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

En la última columna, podemos observar como realmente la comunicación esta siendo


cifrada, a diferencia del caso anterior.

Clientes FTP
Hay muchas alternativas para conectarnos a un servidor FTP. Disponemos de
herramientas gráficas y textuales. Mostraremos el funcionamiento mediante distintas
herramientas comenzando por las gráficas.

- Alternativas Gráficas:
Dentro de lo que son las alternativas gráficas, tenemos los navegadores y por otro lado
clientes FTP dedicados. Para comenzar, vamos a mostrar el acceso y utilización a través
del navegador de Windows.

Colocando en la barra de direcciones ftp://201.212.231.177/ que es nuestro IP actual, el


navegador intenta conectar con el protocolo FTP. Seguidamente nos pide el nombre de
usuario y contraseña.

Existe otra manera de loguearse a través del navegador, por ejemplo, indicando en la
barra de direcciones el nombre de usuario y contraseña con la que uno se va a loguear
en el sistema. La sintaxis es la siguiente:
Usuario:contraseña@servidorFTP

Guía de Trabajos Prácticos Página 170


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Si nos quisiéramos conectar con el usuario fedora, la sintaxis sería la siguiente:

ftp://fedora:fedora@201.212.231.177

También es posible no especificar la contraseña, y el navegador luego nos preguntará


por ella, de la siguiente manera.

ftp://fedora@201.212.231.177

Por otro lado, existen distintos gestores de descarga que poseen funcionalidades para la
conexión a sitios FTP y descarga de archivos de los mismos. Uno muy conocido de
interfaz gráfica es el CuteFTP. Su utilización es muy sencilla, solo debemos indicar la
dirección del servidor usuario y contraseña. Con eso nos bastará para loguearnos.

En la imagen anterior podemos ver como nos conectamos al servidor FTP mediante
CuteFTP.

- Clientes FTP en Linux


Para Linux, tenemos una alternativa gráfica, esta es gftp. Antes que nada vamos a
verificar si tenemos instalado el paquete gftp, para ello, ejecutamos el siguiente
comando:

[root@200-122-65-195 ~]# rpm -q gftp


gftp-2.0.18-3.2.1
[root@200-122-65-195 ~]#

Vemos que el paquete si se encuentra instalado, por lo tanto ya podemos comenzar a


utilizarlo. Parra ello, ejecutamos desde la consola el comando “gftp” con el cual se nos
presentará la siguiente aplicación:

Guía de Trabajos Prácticos Página 171


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

La aplicación esta, posee una interfaz agradable y fácil de utilizar. Así como en el
GetRight de Windows, solo colocamos al dirección IP del servidor y el usuario y
contraseña, con eso bastará para conectarnos a nuestro FTP.

- Alternativa Textual
Esta alternativa, nos permiten conectarnos a un servidor FTP desde la línea de
comandos del sistema. En esta sección solo mostraremos algunos detalles para
establecer esta conexión y los comandos que podemos utilizar. En la sección Acceso a
nuestro FTP desde un cliente hemos visto la utilización del FTP mediante consola

Para establecer una conexión, en general (Windows como en Linux), la instrucción es la


siguiente:
ftp <Nombre o IP del servidor>

De esta manera podemos ingresar el siguiente comando para conectarnos a nuestro FTP:
ftp 200.122.65.195

Algunos comandos:

? : Comando que nos presenta la ayuda. Siempre nos será de mucha utilidad.
verbose : activar o desactivar modalidad informativa.
bye, quit: termina la sesión ftp y sale.
Close: termina la sesión ftp sin salir del programa.

Comandos de Navegación:

Generalmente, la navegación dentro de los directorios del ftp, es similiar a la


navegación por un sistema de archivos.

Guía de Trabajos Prácticos Página 172


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
cd : Nos permite desplazarnos al directorio de nivel superior (cd ..), o acceder a un
directorio específico (cd <directorio>). Si contemplamos la imagen anterior,
podemos leer la instrucción “cd pub”, donde “pub” es un directorio.
Pwd: Nos indica en que lugar dentro de la estructura de directorios nos encontramos.
ls : Nos permite listar los archivos del Servidor. Si anexamos la opción “–l”, se
nos mostrara mayor cantidad de información, como ser permisos, dueño, etc.
! : Este comando nos permite evitar que el comando de navegación a ejecutar se
lleve a cabo en el sistema de archivos del servidor, sino en el del cliente. Cabe
aclarar, que dependiendo de qué sistema operativo estemos utilizando,
dependerá el comando que utilicemos después del signo de admiración. Es
decir, si queremos listar nuestro directorio local, esto dependerá de que
sistema operativo estemos utilizando. Si utilizamos Windows, deberíamos
escribir “!dir”, pero si ejecutáramos Linux, el comando sería “!ls”

Administración de Archivos y Directorios

Medir: permite crear un directorio en el servidor.


Rmdir: Nos permite especificar un directorio a eliminar en el servidor.
delete: Sirve para borran un archivo en la máquina remota.
Mdelete: borran varios archivos en la máquina remota.
Rename: renombrar fichero en la máquina remota.

Manejo de archivos:

Get: nos permite obtener un archivo que especifiquemos a continuación. El


mismo se alojará en el directorio seleccionado.
Mget: nos permite obtener varios archivos que especifiquemos a continuación.
Los mismos se alojarán en el directorio seleccionado.
Put: nos permite subir un archivo al servidor o máquina remota.
Mput: nos permite subir varios archivos al servidor o máquina remota.

Estos comandos los hemos utilizado en las secciones :


- Permitiendo al usuario Anonymous crear directorios
- Permitiendo al usuario Anonymous subir archivos
- Acceso a nuestro FTP desde un cliente

Guía de Trabajos Prácticos Página 173


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 9/2006


Fecha Inicio: 25/10/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 6 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración de servicios de Materia: Planeamiento y Control de
archivos HTTP (Web Server). Proyectos Informáticos
Objetivo:
• Instalar y configurar el servicio Web en Linux.
• Entender la estructura de configuración de los archivos
• Comprender, instalar y operar el sistema Apache, en forma remota.
• Crear con algún tipo de herramienta un sitio WEB personal.

Actividades:
• Repasar los conceptos de un servicio WEB en el capítulo 17 del libro
• Administración de servicios de información en Internet.
• Leer y explorar el capítulo 17 del libro Red Hat Linux Fedora 3 Unleashed, y los
• capítulos 18 al 22 del libro Administración de servicios de información en Internet.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
Windows 9x).
• Elaborar la página WEB, se sugiere la utilización de Netscape composer o MS Front
Page Express, utilizando el libro Manual de Creación de páginas WEB.
• Publicar una página pública y otra con permisos de acceso.
• Activar en el servicio de nombres el direccionamiento a la página correspondiente.

Comandos a comprender:
• Httpd
• Htpasswd
• System-config-httpd

Archivos a configurar y comprender:


En Linux:
• httpd.conf
• access.conf
• srm.conf
• .htaccess
• index.html

Bibliografía básica:
• Red Hat Linux Fedora 3 - Unleashed- de Bill Ball y Hoyt Duff, Ed. SAMS, 2005.
• Administración de servicios de información en Internet de Cricket Liu y otros.
• Apache: The definitive guide de Ben Laurie y Peter Laurie.
• Manual de Creación de páginas WEB de Fernando Cásale y Gustavo Katcheroff.

Guía de Trabajos Prácticos Página 174


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• Servidor Apache al Descubierto, de Bowen Rich

Sitios de referencia
• www.apache.org
• www.modules.apache.org
• wvvw.redhat.com
• www.insflug.org
Como buscador preferido : www.google.com, especialmente por el servicio de
traducción

Guía de Trabajos Prácticos Página 175


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Linux – Apache (httpd)


Instalación y arrancar apache
HTTPD nos permite tener un servidor web en nuestro ordenador. Primero que nada
debemos verificar si tenemos instalado la aplicación. De lo contrario la instalamos.

[root@200-127-186-107 ~]# rpm -q httpd


httpd-2.2.0-5.1.2
[root@200-127-186-107 ~]#

Con el comando ejecutado anteriormente vemos que esta instalado el paquete requerido
(httpd).

Ahora debemos iniciar el servicio httpd, para eso hacemos:

[root@200-127-186-107 ~]# service httpd start


Iniciando httpd: [ OK ]
[root@200-127-186-107 ~]#

Configuración general de Apache


La configuración general de apache se realiza en el archivo
/etc/httpd/conf/httpd.conf.
Puerto en que escucha:
En primera instancia vamos a configurar el puerto en que escucha el servidor. La
directiva Listen le indica al servidor que acepte peticiones entrantes solamente en los
puertos y en las combinaciones de puertos y direcciones que se especifiquen. Si solo se
especifica un número de puerto en la directiva Listen el servidor escuchará en ese
puerto, en todas las interfaces de red de la máquina.
En nuestro caso, indicaremos que acepte peticiones en el puerto 80. Para eso editamos
el archivo /etc/httpd/conf/httpd.conf para que quede configurado de la siguiente
manera:

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80
#

Observamos que con negrita marcamos que el puerto que escucha es el 80.

Nota: solo muestro una parte del archivo debido a su extensión.

Guía de Trabajos Prácticos Página 176


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Página simple
Para comprobar que nuestro servidor web funciona, voy a colocar una página simple en
el directorio /var/www/html/ que es el fichero por defecto de apache para alojar el sitio
web.
Para eso tenemos que crear un documento nombrado index.html dentro del directorio
/var/www/html/.

[root@200-127-186-107 ~]# vi /etc/httpd/conf/httpd.conf


[root@200-127-186-107 ~]# vi /etc/httpd/conf/httpd.conf
[root@200-127-186-107 ~]# cd /var/www/html/
[root@200-127-186-107 html]# vi index.html
[root@200-127-186-107 html]#

Ahora vamos a ver el contenido de index.html:

[root@200-127-186-107 html]#
[root@200-127-186-107 html]# cat index.html
<html>
<head>
<title>
ESTO ES UNA PAGINA DE PRUEBA
</title>
<meta content="">
<style></style>
</head>
<body>
<text><b>Pagina de inicio del sitio</b></text>
</body>
</html>
[root@200-127-186-107 html]#

Como último paso debemos ir al navegador web e introducir en la barra de direcciones


la siguiente URL: http://localhost/
Vamos a ver lo siguiente.

Guía de Trabajos Prácticos Página 177


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
- Autentificación
La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien
dice ser. Si en su sitio web tiene información sensible o dirigida sólo a un pequeño
grupo de personas, las técnicas explicadas en éste artículo le ayudarán a asegurarse de
que las personas que ven esas páginas son las personas que usted quiere que las vean.

Para poner en funcionamiento la autentificación de usuarios, necesitará crear un archivo


de contraseñas con la utilidad htpasswd de apache. Este archivo debe estar situado en
un directorio que no sea accesible desde la web.
A continuación creo dentro de /var/www una carpeta con nombre passwords y luego
genero el archivo de passwords dentro de ella:
[root@200-127-37-119 www]# cd /usr/local
[root@200-127-37-119 local]# mkdir passwd
[root@200-127-37-119 local]# htpasswd -c /usr/local/passwd/passwords
fedora
New password:
Re-type new password:
Adding password for user fedora
[root@200-127-37-119 local]#

El siguiente paso es configurar el servidor para que solicite una


contraseña y decirle al servidor a qué usuarios se les permite el
acceso. Esto se hace editanto el archivo httpd.conf, dentro de una
sección <Directory> escribimos:
#
#<Directory>
#AuthType Basic
#AuthName "Restricted Files"
#AuthUserFile /usr/local/passwd/passwords
#Require user fedora
#<Directory>
#

La configuración esta compuesta por cuatro directivas.


 AuthType: selecciona el método que se va a usar para
autentificar al usuario. El método más común es Basic, este método
no envía la contraseña de manera encriptada.
 AuthName:establece el Dominio a usar en la autentificación.
 AuthUserFile :establece la ruta al archivo de contraseña que
acabamos de crear con htpasswd.
 Require: proporciona la parte de la autorización del proceso
estableciendo el usuario al que se le permite acceder a esa área
del servidor.

- Servidores virtuales
Servidores virtuales se refiere a hacer funcionar más de un sitio web
en una sola máquina. Los sitios web virtuales pueden estar "basados
en direcciones IP", lo que significa que cada sitio web tiene una
dirección IP diferente, "basados en nombres diferentes", donde en una
sola dirección IP están funcionando sitios web con diferentes nombres

Guía de Trabajos Prácticos Página 178


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
(de dominio), o los sitios pueden funcionar con la misma IP pero en
diferente puerto.

- Implementaremos los servidores virtuales a través de nombres diferentes.


Usando hosting virtual basado en nombres, el servidor atiende al nombre de host que
especifica el cliente en las cabeceras de HTTP. De esta manera, una sola dirección IP
puede ser compartida por muchos sitios web diferentes.
El hosting virtual basado en nombres es normalmente más sencillo, porque solo necesita
configurar su servidor de DNS para que localice la dirección IP correcta y entonces
configurar Apache para que reconozca los diferentes nombres de host.
Para usar hosting virtual basado en nombres, debe especificar en el servidor qué
dirección IP (y posiblemente qué puerto) se va a usar para atender las peticiones a los
diferentes hosts. Esto se hace con la directiva NameVirtualHost. En nuestro ejemplo,
para recibir peticiones en todas las interfaces de red, usaremos * como argumento e
indicaremos el puerto 80.
El siguiente paso es crear un bloque <VirtualHost> para cada host diferente que quiera
alojar en el servidor. El argumento de la directiva <VirtualHost> debe ser el mismo que
el argumento de la directiva NameVirtualHost (por ejemplo, una dirección IP, o un *
para usar todas las direcciones que tenga el servidor). Dentro de cada bloque
<VirtualHost>, necesitará como mínimo una directiva ServerName para designar qué
host se sirve y una directiva DocumentRoot para indicar dónde están los contenidos a
servir dentro del sistema de ficheros.
Ahora editamos el archivo /etc/httpd/conf/httpd.conf para configurar la directiva
“NameVirtualHost”:

[root@200-127-37-119 www]# cat /etc/httpd/conf/httpd.conf


#
NameVirtualHost *:80
#
[root@200-127-37-119 www]#

Nota: solo muestro una parte del archivo debido a su extensión.

- Añadir hosts vituales a un servidor web

Para crear host virtuales debemos crear un bloque <VirtualHost> para cada host
que hagamos funcionar. Este bloque contiene las directivas ServerName y
DocumentRoot. La primera indica el nombre del servidor y la segunda indica el
directorio donde se aloja el sitio.

Ya tenemos un sitio en funcionamiento que esta alojado en /var/www/html. Ahora


vamos a generar otro sitio en un nuevo directorio con nombre /var/www/html2. Para
esto hacemos:

[root@200-127-37-119 www]# mkdir html2


[root@200-127-37-119 www]#

Ahora generamos un archivo index.html dentro de /var/www/html2.

Guía de Trabajos Prácticos Página 179


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

[root@200-127-186-107 html2]# vi index.html


[root@200-127-186-107 html2]#

Ahora vamos a ver el contenido de index.html:

[root@200-127-186-107 html2]#
[root@200-127-186-107 html2]# cat index.html
<html>
<head>
<title>
ESTA ES LA SEGUNDA PAGINA DE PRUEBA
</title>
<meta content="">
<style></style>
</head>
<body>
<text><b>Pagina de inicio del sitio html2</b></text>
</body>
</html>
[root@200-127-186-107 html2]#

Ya tenemos creados dos sitios, uno en el directorio /var/www/html y el


otro en /var/www/html2. Ahora vamos a crear los dos bloques
<VirtualHost>. Para ello editamos el archivo de configuración
/etc/httpd/conf/httpd.conf y agregamos las siguientes líneas:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.primerhost.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/html2
ServerName www.segundohost.com
</VirtualHost>

Por útlimo, debemos configurar el archivo host para que cuando


ingresemos en el navegador las direccionse www.primerhost.com y
www.segundohost.com referencia a nuestra maquina y no a internet. El
archivo hosts se verá de la siguiente forma.
[root@200-127-37-119 etc]# cat hosts
127.0.0.1 www.primerhost.com
127.0.0.1 www.segundohost.com
[root@200-127-37-119 etc]#

Ahora probamos acceder a nuestros dos sitio y vemos que funciona:

Guía de Trabajos Prácticos Página 180


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Accedemos a www.primerhost.com Accedemos

www.segundohost.com

- Configurando un servidor DNS

Ahora, supongamos que queremos utilizar el servidor DNS configurado en el práctico


Nº7, para que nos resuelva las direcciones de de nuestros dos sitios. Supongamos
entonces, que tenemos los dos sitios anteriores (www.primerhost.com y
www.segundohost.com).
Como fue explicado en prácticos anteriores, sólo mostraremos la forma de hacer que el
DNS nos resuelva nuestros dos sitios virtuales.
Deberíamos agregar las siguientes zonas a nuestro archivo “named.conf”:

zone "primerhost.com" IN {
type master;
file "primerhost.com.zone";
};

zone "segundohost.com" IN {
type master;
file "segundohost.com.zone";
};

Posteriormente, deberemos crear los archivos de cada zona. En los mismos,


colocaremos lo siguiente:

Para el caso de “/var/named/primerhost.com.zone”, lo dejaremos de la siguiente


manera:
[root@201-212-115-216 named]# cat primerhost.com.zone
$TTL 86400
primerhost.com. IN SOA master.primerhost.com.
franco.primerhost.com. (
1997022700 ; Serial

Guía de Trabajos Prácticos Página 181


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
primerhost.com. IN NS master.primerhost.com.
master.primerhost.com. IN A 192.168.0.1
www IN CNAME master.primerhost.com.

[root@201-212-115-216 named]# IN CNAME


master.primerhost.com.

Finalmente, para el caso de “/var/named/segundohost.com.zone”, lo dejaremos de


la siguiente manera:
[root@201-212-115-216 named]# cat segundohost.com.zone
$TTL 86400
segundohost.com. IN SOA master.segundohost.com.
franco.segundohost.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
segundohost.com. IN NS master.segundohost.com.
master.segundohost.com. IN A 192.168.0.1
www IN CNAME master.segundohost.com.

[root@201-212-115-216 named]#

Antes de probar nuestro DNS, debemos modificar el archivo “/etc/hosts”


anteriormente modificado, y comentar las líneas que resuelven nuestros sitios, de la
siguiente manera:

# www.primerhost.com
# www.segundohost.com

Recordemos que el archivo /etc/resolv.conf debe tener la siguiente configuración:

[root@201-212-115-216 ~]# cat /etc/resolv.conf


nameserver 192.168.0.1
root@201-212-115-216 ~]#

Finalmente, comprobamos el funcionamiento de nuestro DNS para los dos sitios:


[root@201-212-115-216 named]# dig @192.168.0.1 www.primerhost.com

; <<>> DiG 9.3.3rc2 <<>> @192.168.0.1 www.primerhost.com


; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36798

Guía de Trabajos Prácticos Página 182


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL:
0

;; QUESTION SECTION:
;www.primerhost.com. IN A

;; ANSWER SECTION:
www.primerhost.com. 86400 IN CNAME master.primerhost.com.
master.primerhost.com. 86400 IN A 192.168.0.1

;; AUTHORITY SECTION:
primerhost.com. 86400 IN NS master.primerhost.com.

;; Query time: 1 msec


;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Nov 18 15:26:47 2006
;; MSG SIZE rcvd: 87

[root@201-212-115-216 named]# dig @192.168.0.1 www.segundohost.com

; <<>> DiG 9.3.3rc2 <<>> @192.168.0.1 www.segundohost.com


; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15638
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL:
0

;; QUESTION SECTION:
;www.segundohost.com. IN A

;; ANSWER SECTION:
www.segundohost.com. 86400 IN CNAME
master.segundohost.com.
master.segundohost.com. 86400 IN A 192.168.0.1

;; AUTHORITY SECTION:
segundohost.com. 86400 IN NS
master.segundohost.com.

;; Query time: 1 msec


;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Nov 18 15:26:53 2006
;; MSG SIZE rcvd: 88

[root@201-212-115-216 named]#

Si accedemos desde el navegador vemos que también funciona:

Guía de Trabajos Prácticos Página 183


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Accedemos a www.primerhost.com Accedemos

www.segundohost.com

Guía de Trabajos Prácticos Página 184


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Internet Information Server 5.0 – Configuración


En esta sección, realizaremos la configuración de IIS como servidor de páginas web. En
primer lugar, generaremos un sitio al cual accederemos. Luego generaremos un segundo
sitio en el mismo servidor.
- Instalación de un sitio web
A continuación, guiaremos la instalación de un sitio web siguiendo las imágenes
capturadas en clase.

Debemos ingresar en el menú de Inicio/Programas/Herramientas


Administrativas/Administrador de Servicios Internet.

A continuación, debemos hacer clic en Acción/nuevo/Sitio Web. Este es el primer


paso para generar nuestro sitio web en el IIS.

Luego de ingresar en la opción antes mencionada, se abrirá el siguiente asistente para


generar el sitio web. Debemos presionar en Siguiente.

Guía de Trabajos Prácticos Página 185


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora debemos indicar alguna descripción para nuestro primer sitio. Damos en
Siguiente.

Tenemos que indicar la dirección IP de nuestro sitio. Para ello, ponemos la dirección IP
de nuestra máquina. Seleccionamos el puerto 80 para que atienda a este sitio el servidor.

Guía de Trabajos Prácticos Página 186


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora indicamos el directorio donde se va encontrar físicamente los archivos del sitio.
Damos en Siguiente.

Llega el turno de asignar permisos para el acceso al sitio. Nosotros le damos permiso de
lectura y de ejecución de comandos. Damos en Siguiente.

Guía de Trabajos Prácticos Página 187


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Finalmente, finalizamos la creación del primer sitio. Hacemos clic en finalizar y ya


tendremos nuestro sitio en funcionamiento.

Ahora, llega el turno de probar nuestro sitio. Como no hemos creado ningún sito dentro
del directorio c:\web, si accedemos a http://localhost o http://192.168.2.243
vamos a visualizar un mensaje de error.
Lo que vamos a hacer es acceder a www.lavoz.com.ar para grabar esta página. Como
acabamos de mencionar, la instalación del servidor web, indicamos que nuestro sitio iba
a estar ubicado en c:\web, de esta manera colocamos el sitio GRABADO
(lavoz.com.ar) en la carpeta mencionada.

Ahora debemos indicar al servidor cual es la página de inicio por defecto. Para ellos
seguimos las siguientes imágenes capturadas.

En la ventana de Servicios de Internet Information Server, hacemos clic


derecho sobre el sitio “iua” recientemente creado y presionamos en Propiedades.

Guía de Trabajos Prácticos Página 188


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Luego seleccionamos la pestaña “Documentos” y presionamos en el botón Agregar


como se indica a continuación.

Se abre un cuadro en el cual indicamos cual es la página de inicio por defecto. Ponemos
Aceptar

Guía de Trabajos Prácticos Página 189


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Luego de apretar en aceptar, como se muestra en la imagen anterior, vemos las páginas
por defecto del sitio. Esto significa que cuando uno ingrese la url del sitio, se accederá
en primera instancia alguno de estos archivos. Damos en Aceptar.

Finalmente, podemos acceder a nuestro primer sitio a través de la dirección


http://192.168.2.243.

- Instalación de un segundo sitio web


Ahora creamos un nuevo sitio con nombre iau2. Para eso realizamos los mismos pasos
realizados cuando creamos el sitio iua, con la diferencia que le asignamos otro puerto y
otro directorio para almacenar los archivos (c:\web2). En la siguiente imagen
mostramos lo mencionado.

Asignamos la misma dirección IP que en el sitio iua pero diferente puerto. En este caso
8080.

Guía de Trabajos Prácticos Página 190


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora, al igual que en el sitio iua, indicamos cual es la página de inicio. En este caso
también es index.htm. Previamente, descargué un sitio de Internet que lo coloqué en el
directorio c:\web2.

- Atender a los dos sitios con la misma IP


En este momento a los dos sitios accedemos mediante la misma IP. Para diferenciar a
que sitio vamos a acceder, podemos utilizar el nombre del mismo. Así cuando el
browser lee http://iua, accede a un sitio, y si lee http://iua2, accede al otro sitio.
Para esto, debemos editar el archivo C:\WINNT\system32\drivers\etc\hosts.

Le agregamos dos registros de esta manera queda configurado de la siguiente manera:


# Copyright (c) 1993-1999 Microsoft Corp.
#
# Éste es un ejemplo de archivo HOSTS usado por Microsoft TCP/IP para
Windows.
#
# Este archivo contiene las asignaciones de las direcciones IP a los
nombres de
# host. Cada entrada debe permanecer en una línea individual. La
dirección IP
# debe ponerse en la primera columna, seguida del nombre de host
correspondiente.
# La dirección IP y el nombre de host deben separarse con al menos un
espacio.
#

127.0.0.1 localhost
192.168.2.243 iua2
192.168.2.243 iua

Ahora si accedemos a http://iua, vemos el sitio configurado con el puerto 80 de la


otra manera, http://iua2, vemos el sitio con el puerto 8080.
Todo esto es equivalente a acceder a través de las direcciones:

Guía de Trabajos Prácticos Página 191


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
http://192.168.2.243:80
http://192.168.2.243:8080

- Autentificación con IIS


La autentificación es cualquier proceso mediante el cual se verifica que alguien es quien
dice ser. Para probar esta opción, vamos indicar que usuarios pueden acceder al sitio,
para esto no permitiremos que usuario anónimos ingresen.
Seguimos las imágenes que se muestran a continuación:

En la ventana de Servicios de Internet Information Server, seleccionamos el sitio al cual


le vamos a incorporar control de autentificación. En este caso seleccionamos iua2, y
sobre la página de inicio (index.html) hacemos clic derecho sobre ella y presionamos en
propiedades como se indica en la siguiente imagen.

En la ventana que se abre, seleccionamos la pestaña “Seguridad de archivo” y en la


sección “Control de autentificación y acceso anónimo” presionamos en
Modificar.

Ahora, debemos indicar el método de autentificación. Para ello, chequeamos la casilla


Autentificación de Windows integrada. De esta manera estaremos restringiendo el
acceso al sitio. Damos en Aceptar.

Guía de Trabajos Prácticos Página 192


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Vemos nuevamente la pestaña de “Seguridad de archivo”. Presionamos en


Aceptar para finalizar.

Una vez finalizada la configuración de autentificación de usuarios, debemos incesar al


sitio a través del browser. Vamos a ver que el sitio va a requerir que ingresemos el
usuario y contraseña.

Guía de Trabajos Prácticos Página 193


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Con esto damos por finalizado la autentificación a través de IIS.

Guía de Trabajos Prácticos Página 194


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 10/2006


Fecha Inicio: 5/11/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 9 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración de servicios SMB Materia: Planeamiento y Control de
(Samba) Proyectos Informáticos

Objetivo:
• Instalar y configurar el servicio SMB (NetBIOS) en Linux .
• Entender la estructura de configuración-de los archivos
• Comprender, instalar y operar el sistema Samba, en forma remota (SWAT).
• Operar como cliente de un dominio un equipo LINUX
• Crear un servidor miembro de un dominio, de logon y PDC (Intentarlo).

Actividades:
• Trabajar y leer exploratoriamente con los capítulos 1 a 6 de la bibliografía
obligatoria.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
Windows 9x, W2K), a través del protocolo SMB.
• Dar especial énfasis en lo atinente a los permisos de acceso.

Comandos a comprender:
• Smbd
• Nmbd
• Smbclient
• Smbmount

Archivos a configurar y comprender:


• smb.conf
• nmb.conf

Bibliografía básica:
• http://wvAv.ora.de/catalog/samba/chapter/book/index.html, libro Using
Samba de Robert Eckstein, David Collier-Brown, Peter Kelly, Ist Edition
November 1999 (HTML) o en formato PDF en
http://www.ora.de/catalog/samba/chapter/book/indexpdf.html.

Bibliografía ampliatoria u opcional


• SAMBA, UNIX & NT internetworking de James W. Deroest
• LINUX: Network toolkit de Paul S. Sery

Guía de Trabajos Prácticos Página 195


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Sitios de referencia
• www.reclhat.com
• www.samba.org
• vvww.insflug.org
• www.samba.org
• http://vvvvvv.ora.cle/openbook/.
• Como buscador preferido : www.google.com, especialmente por el servicio de
traducción

Guía de Trabajos Prácticos Página 196


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Samba (SMB)
Samba nos permite compartir paquetes con redes Windows.Es necesario tener instalado
los siguientes paquetes,
 samba: Servidor SMB
 samba-client: clientes para el protocolo SMB
 samba-common: ficheros necesarios para cliente y servidor.
Para esto, vemos si estan instalados dichos paquetes con el comando rpm -q samba
samba-client samba-common.

[root@200-127-37-119 ~]# rpm -q samba samba-client samba-common


package samba is not installed
samba-client-3.0.21b-2
samba-common-3.0.21b-2
[root@200-127-37-119 ~]#

Vemos que no tenemos instalado el paquete samba (SMB). Para instalarlo hacemos:
[root@200-127-37-119 ~]# yum install samba
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core
[1/3]
extras
[2/3]
updates
[3/3]
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba to pack into transaction set.
samba-3.0.23c-1.fc5.i386. 100% |=========================| 0 B
00:46
http://mirror.netglobalis.net/pub/fedora/updates/5/i386/samba-3.0.23c-
1.fc5.i386.rpm: [Errno 4] Socket Error: timed out
Trying other mirror.
samba-3.0.23c-1.fc5.i386. 100% |=========================| 108 kB
00:02
---> Package samba.i386 0:3.0.23c-1.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: samba-common = 0:3.0.23c-1.fc5 for package:
samba
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba-common to pack into transaction set.
samba-common-3.0.23c-1.fc 100% |=========================| 41 kB
00:00
---> Package samba-common.i386 0:3.0.23c-1.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: samba-common = 0:3.0.21b-2 for package:
samba-client

Guía de Trabajos Prácticos Página 197


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for samba-client to pack into transaction set.
samba-client-3.0.23c-1.fc 100% |=========================| 37 kB
00:00
---> Package samba-client.i386 0:3.0.23c-1.fc5 set to be updated
--> Running transaction check

Dependencies Resolved

======================================================================
=======
Package Arch Version Repository
Size
======================================================================
=======
Installing:
samba i386 3.0.23c-1.fc5 updates
16 M
Updating for dependencies:
samba-client i386 3.0.23c-1.fc5 updates
4.2 M
samba-common i386 3.0.23c-1.fc5 updates
8.5 M

Transaction Summary
======================================================================
=======
Install 1 Package(s)
Update 2 Package(s)
Remove 0 Package(s)
Total download size: 28 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): samba-client-3.0.2 100% |=========================| 4.2 MB
01:08
(2/3): samba-common-3.0.2 100% |=========================| 8.5 MB
02:17
(3/3): samba-3.0.23c-1.fc 100% |=========================| 16 MB
04:03
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : samba-common #########################
[1/5]
Updating : samba-client #########################
[2/5]
Installing: samba #########################
[3/5]
Cleanup : samba-client #########################
[4/5]
Cleanup : samba-common #########################
[5/5]

Installed: samba.i386 0:3.0.23c-1.fc5

Guía de Trabajos Prácticos Página 198


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Dependency Updated: samba-client.i386 0:3.0.23c-1.fc5 samba-
common.i386 0:3.0.23c-1.fc5
Complete!
[root@200-127-37-119 ~]#

Verificamos que este instalado correctamente:


[root@200-127-37-119 ~]# rpm -q samba samba-client samba-common
samba-3.0.23c-1.fc5
samba-client-3.0.23c-1.fc5
samba-common-3.0.23c-1.fc5
[root@200-127-37-119 ~]#

Ya tenemos los paquetes necesarios instalados, ahora pasamos a la configuración de


Samba.

Configuración de Samba
Configuraré Samba como un servidor de archivos.

-Alta de cuentas de usuario


Debemos sincronizar las cuentas entre el servidor Samba y las estaciones Windows. En
la máquina Windows ingresamos con el usuario “Franco” con clave “fac”, en el servidor
Samba tiene que existir el mismo usuario y contraseña.
Para generar usuarios en Samba hacemos:
[root@200-127-37-119 ~]# useradd -s /sbin/nologin Franco
Ahora le asignamos la usuario Franco la misma contraseña que posee en
Windows:
[root@200-127-37-119 ~]# smbpasswd -a Franco
New SMB password:
Retype new SMB password:
Added user Franco.
[root@200-127-37-119 ~]#

- Configuración del archivo lmhosts


Es necesario empezar resolviendo localmente los nombres NetBIOS asociándolos con
direcciones IP correspondientes. Debemos editar el archivo /etc/samba/lmhosts y
añadir entonces el nombre que hayamos elegido asociado a la dirección IP que se tenga
dentro de la red local. Opcionalmente podrá añadir también los nombres y dirección IP
del resto de las máquinas que conformen la red local. Mi archivo contendrá el IP y
nombre de la máquina que tiene instalado el servidor Samba y la máquina que posee
Windows. El archivo queda configurado de la siguiente manera:
[root@200-127-37-119 ~]# cat /etc/samba/lmhosts
127.0.0.1 localhost
192.168.0.1 sambaserver
192.168.0.2 pentiumiii
[root@200-127-37-119 ~]#

- Parámetros principales de /etc/samba/smb.conf

Guía de Trabajos Prácticos Página 199


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Debemos editar este archivo y establecer el grupo de trabajo, netbios name y el
parámetro server string, este último es de carácter descriptivo.
Los dos parámetros tendrán los siguientes valores:
workgroup = IUA
netbios name=sambaserver
server string = Servidor Samba

Editamos el archivo y quedará de esta manera:

[root@200-127-37-119 ~]# cat /etc/samba/smb.conf


#======================= Global Settings ========================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH


workgroup = IUA
netbios name=iua
# server string is the equivalent of the NT Description field
server string = Samba Server

# Security mode. Defines in which mode Samba will operate. Possible


# values are share, user, server, domain and ads. Most people will
want
# user level security. See the Samba-HOWTO-Collection for details.
security = user
[root@200-127-37-119 ~]#

Nota: solo muestro una parte del archivo porque es demasiado extenso.

- Compartir archivos
Debemos indicar en el archivo /etc/samba/smb.conf que directorio vamos a
compartir. En el ejercicio practico, voy a compartir el directorio /home/compartir.
Para ello, Editamos el archivo /etc/samba/smb.conf y queda configurado de la
siguiente manera:
[root@200-127-37-119 ~]# cat /etc/samba/smb.conf
[compartir]
comment = carpeta compartida
path = /home/compartir
public = yes
guest ok = yes
writable = yes
create mask = 0644
[root@200-127-37-119 ~]#

- Iniciar el servicio smb


Llego el turno de iniciar nuestro servidor Samba, para eso, hacemos:

[root@200-127-37-119 ~]# service smb start


Iniciando servicios SMB: [ OK ]
Iniciando servicios NMB: [ OK ]
[root@200-127-37-119 ~]#

Guía de Trabajos Prácticos Página 200


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
- Ingreso a samba por línea de comandos
A través del siguiente comando vamos a poder determinar que volúmenes o recurso
compartidos posee Samba.
[root@200-127-37-119 ~]# smbclient -U Franco -L sambaserver
Password:
Domain=[IUA] OS=[Unix] Server=[3.0.23c-1.fc5]

Sharename Type Comment


--------- ---- -------
compartido Disk directorio compartido
IPC$ IPC IPC Service (Samba Server)
ADMIN$ IPC IPC Service (Samba Server)
Franco Disk Home Directories
Domain=[IUA] OS=[Unix] Server=[3.0.23c-1.fc5]

Server Comment
--------- -------

Workgroup Master
--------- -------
IUA
[root@200-127-37-119 ~]#

Para ingresar al directorio compartido de Samba, utilizaremos el siguiente comando:

[root@200-127-37-119 ~]# smbclient //sambaserver/home/compartir -U


Franco
Password:
Domain=[IUA] OS=[Unix] Server=[3.0.23c-1.fc5]
smb: \>

Ya nos encontramos dentro de Samba, ahora vamos a listar el contenido del directorio:
smb: \> ls
. D 0 Thu oct 2 21:37:38 2006
.. D 0 Mon oct 6 18:29:06 2006
archivo.txt D 99 Thu oct 19 10:52 2006
PADRON_FORTUNA.xlt 9800 Thu oct 26 10:27 2006

62001 blocks of size 65536. 5777 blocks available


smb: \>

Si deseamos eliminar el archivo PADRON_FORTUNA.xlt, hacemos:

smb: \> rm PADRON_FORTUNA.xlt


smb: \>

- Montar el directorio Samba


Para montar el directorio de Samba utilizamos el comando cifs:
[root@200-127-37-119 ~]# mount -t cifs -o user=Franco,password=fac
//sambaserver/home/compartir /mnt/discoSamba

Guía de Trabajos Prácticos Página 201


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
[root@200-127-37-119 ~]#

En el ejemplo, hemos montado a Samba en el directorio /mnt/discoSamba.

- Permisos
Tengo que aclarar, que el directorio raíz del samba (en nuestro caso /home/compartir)
es propiedad del usuario fedora y pertenece al grupo fedora, por tal motivo, a nuestro
usuario Franco lo hicimos miembro del grupo fedora. La sintaxis de los comandos a
utilizar fue explicada en prácticos anteriores.

Conexión a Samba desde Windows


En primer lugar, debemos acceder al navegador de Windows y en la barra de
direcciones colocamos el IP de nuestro servidor Samba. Este debe estar escrito con
barra invertida al comienzo (\\192.168.2.241).

Luego, el navegador nos va a pedir que ingresemos nuestro usuario y contraseña. El


ejemplo realizado en Linux (primera sección de este trabajo) lo realice parte en la
facultad y otra parte en la máquina de mi casa. El enlace con Windows, fue realizado en
clase, por lo que el usuario para ingresar al Samba es diferente al del ejemplo anterior.
En este caso ingresamos Conectar como: fedora1, Contraseña: fedora

Guía de Trabajos Prácticos Página 202


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ya podemos observar los archivos y carpetas que tenemos dentro del directorio de
Samba.

Paso siguiente, es conectar el directorio compartido como una unidad. Para ello,
hacemos clic derecho sobre la carpeta “compartido” y luego clic en “Conectar a unidad
de red…”.

Debemos asignarle una unidad a la carpeta y luego Finalizar.

Guía de Trabajos Prácticos Página 203


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Finalmente, si entramos a Mi PC, vemos la unidad conectada (unidad seleccionada en la


siguiente imagen).

Con esto, hemos finalizado la configuración del directorio compartido en Windows.

Guía de Trabajos Prácticos Página 204


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Trabajo Práctico Nro. 11/2006


Fecha Inicio: 5/11/06 Calificación:
Fecha de Entrega: 20/11/06 Profesor: Ing. Pérez Ares, Gustavo
Unidades: 7 Alumno: Carrara, Franco
Compañero de Tbjo: Beltramone, José
Tema: Configuración de servicios de Materia: Planeamiento y Control de
correo electrónico. Proyectos Informáticos

Objetivo:
• Instalar y configurar: el servicio SMTP, IMAP4 y POP3 en Linux .
• Entender la estructura de configuración de los archivos
• Publicar un Webmail operando con Apache
• Comprender, instalar y operar el sistema sendmail, en forma remota (Webmin).
• Operar como cliente de un dominio un equipo LINUX o Windows 9x para
recolección de correo.

Actividades:
• Repasar los conceptos del capítulo 19 del libro Red Hat Linux Fedora 3
• Unleashed, y el artículo "Correo electrónico ya" de Santiago Romero Iglesias del
número 24 / año III de Solo Programadores Linux.
• Configurar el sistema para operar en red e interactuar con otros sistemas (Linux,
Windows 9x), a través del protocolo SMTP y POP3.
• La configuración se recomienda realizarla por medio de la interfaz del Webmin.
• Configuración del MUA y MTA, completas.

Comandos a comprender:
• Mail y sus órdenes con el servidor Sendmail
• Sendmail

Archivos a configurar y comprender:


• sendmail.cf
• Correspondencias con el servicio DNS

Bibliografía básica:
• Red Hat Linux Fedora 3 - Unleashed- de Bill Ball y Hoyt Duff, Ed. SAMS,
2005.
• Solo Programadores Linux nro 24 / año III
• Sendmail de Bryan Costales

Sitios de referencia

Guía de Trabajos Prácticos Página 205


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
• www.redhat.com
• www.sendmail.org
• www.imap.org
• www.insflug.org
• www.sendmail.org
• Como buscador preferido: www.google.com, especialmente por el servicio de
traducción

Guía de Trabajos Prácticos Página 206


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Configuración de un servidor de mail


- Paquetes requeridos:
Primero debemos verificar la instalación de los paquetes de Sendmail. Vamos a requerir
sendmail-cf, sendmail y además un paquete de procesamiento llamado “m4”.

[root@201-212-115-216 mail]# rpm -qa |grep sendmail


sendmail-8.13.8-1.fc5
sendmail-cf-8.13.8-1.fc5
[root@201-212-115-216 ~]# rpm -q m4
m4-1.4.4-1.2.1
[root@201-212-115-216 ~]#

Observamos que los paquetes que requerimos están instalados.

- Archivo de Configuración de Sendmail


Sendmail emplea un archivo de configuración llamado /etc/sendmail.cf para casi
todo lo que realiza. Este archivo es muy extenso y extraño, a tal punto, que existe un
“sistema” de generación del archivo /etc/sendmail.cf con el objetivo de evitar la
manipulación directa del mismo. A continuación vemos como podemos generar de
forma automática el archivo sendmail.cf.

Antes que nada debemos realizar una copia de seguridad del archivo. Luego ejecutamos
el siguiente comando:

[root@201-212-115-216 mail]# m4 /etc/mail/sendmail.mc >


/etc/mail/sendmail.cf
[root@201-212-115-216 mail]#

Tras la creación de un nuevo /etc/sendmail.cf, debemos iniciar el servicio Sendmail


para llegar a su propósito. Para eso ejecutamos el comando service sendmail start.

- Inicio del servicio Sendmail


[root@201-212-115-216 mail]# service sendmail start
Iniciando sendmail: [ OK ]
[root@201-212-115-216 mail]#

Tras iniciar el servicio, podemos probar su funcionamiento enviado un mail localmente.


Para eso debemos conectarnos al servidor de mail y enviar un mensaje a nosotros
mismos. A continuación realizamos la prueba:
[root@201-212-115-216 ~]# mail root@localhost
Subject: ESTO ES UNA PRUEBA
.
Cc:
Null message body; hope that's ok
[root@201-212-115-216 ~]# mail root@localhost
Subject: ESTO ES UNA PRUEBA
HOLA ESTAMOS PROBANDO EL SERVICIO

Guía de Trabajos Prácticos Página 207


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
.
Cc:
[root@201-212-115-216 ~]#

Acabamos de enviar un mensaje con destino a root@localhost. A continuación vamos


a chequear la bandeja de entrada de root y vamos a comprobar si llego el mensaje o no.

[root@201-212-115-216 ~]# mail


Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 13 messages 2 new 13 unread
U 1 root@200-127-186-173 Tue Oct 17 12:52 40/1630 "LogWatch for
200-127-186-173.cab.prima.net.ar"
U 2 root@200-127-19-238. Thu Oct 19 10:59 40/1575 "LogWatch for
200-127-19-238.prima.net.ar"
U 3 root@200-127-19-238. Thu Oct 19 17:18 17/889 "*** SECURITY
information for 200-127-19-238.prima.net.ar ***"
U 4 root@201-212-115-243 Sat Oct 21 13:27 41/1659 "LogWatch for
201-212-115-243.prima.net.ar"
U 5 root@201-212-115-243 Tue Oct 24 10:21 44/1770 "LogWatch for
201-212-115-243.prima.net.ar"
U 6 root@200-127-186-107 Thu Nov 2 13:25 39/1588 "LogWatch for
200-127-186-107.cab.prima.net.ar"
U 7 root@localhost.local Fri Nov 3 13:49 39/1489 "LogWatch for
localhost.localdomain"
U 8 root@201-212-17-56.c Sat Nov 4 16:52 48/1877 "LogWatch for
201-212-17-56.cab.prima.net.ar"
U 9 root@200-127-18-118. Sat Nov 11 11:29 40/1584 "LogWatch for
200-127-18-118.prima.net.ar"
U 10 root@200-122-65-195. Sun Nov 12 16:36 40/1628 "LogWatch for
200-122-65-195.cab.prima.net.ar"
U 11 root@201-212-115-216 Sat Nov 18 15:22 40/1632 "LogWatch for
201-212-115-216.prima.net.ar"
>N 12 root@201 inspired.com.ar Sat Nov 18 17:19 14/728 "ESTO ES
UNA PRUEBA"
&

Observamos que el mensaje ha llegado, este posee el número 12 y es el mensaje que


esta en la cola de la pantalla capturada. Para finalizar con esta prueba, vamos a chequear
su contenido.

& 13
Message 13:
From root@inspired.com.ar Sat Nov 18 17:20:18 2006
Date: Sat, 18 Nov 2006 17:20:18 -0300
From: root <root@inspired.com.ar>
To: root@201-212-115-216.prima.net.ar
Subject: ESTO ES UNA PRUEBA

HOLA ESTAMOS PROBANDO EL SERVICIO

&

- Desactivación de “DeamonPortOptions” en Fedora

Guía de Trabajos Prácticos Página 208


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Por cuestiones de seguridad, Fedora viene configurado por defecto para que Sendmail
no acepte conexiones desde el exterior. Por tal motivo debemos modificar la
configuración de manera que nos permita y podamos realizar nuestra práctica.
Debemos editar el archivo sendmail.cf y remplazar la línea donde dice:
“O DeamonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA” por
“O DeamonPortOptions=Port=smtp, Name=MTA”. Luego de esto reiniciamos el
servicio.

[root@201-212-115-216 mail]# vi sendmail.cf


[root@201-212-115-216 mail]# service sendmail restart
Desactivación de sm-client: [ OK ]
Apagando sendmail: [ OK ]
Iniciando sendmail: [ OK ]
Inicio de sm-client: [ OK ]
[root@201-212-115-216 mail]#

Servidor MTA
Prepararemos a Sendmail para implementar un único servidor de correo electrónico
MTA para una organización ficticia con nombre “inspired.com.ar”.
A continuación realizamos la configuración necesaria para que funcione nuestro
servidor de mail dentro de la empresa.
Nuestro dominio, está administrado por un servidor DNS que puede o no residir
físicamente en nuestra organización. Sin embargo, es necesario inscribir en este servidor
DNS el correspondiente registro para que apunte a nuestro MTA. El archivo de zona
correspondiente a nuestro dominio debería ser el siguiente:

[root@201-212-115-216 named]# cat inspired.com.ar.zone


$TTL 3h
inspired.com.ar. IN SOA master.inspired.com.ar.
franco.inspired.com.ar. (
1 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum

inspired.com.ar. IN NS master.inspired.com.ar.
;
;Addresses for the canonical names
;
@ MX 2 mail
localhost. IN A 127.0.0.1
master.inspired.com.ar. IN A 192.168.0.1
mail IN A 192.168.0.1
;franco.inspired.com.ar. IN CNAME master.inspired.com.ar.
;www.inspired.com.ar. IN CNAME master.inspired.com.ar.

[root@201-212-115-216 named]#

Guía de Trabajos Prácticos Página 209


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
La línea que indica MX indica que “correo” es el MTA para las direcciones de la forma
usuario@inspired.com.ar.
Por otro lado, al igual que en el práctico número 7, debemos configurar el archivo
resolv.conf al cual le debemos agregar las siguientes líneas:

zone "inspired.com.ar" IN {
type master;
file "inspired.com.ar.zone";
};

Luego de realizar esta configuración en resolv.conf y el archivo de zonas, es


necesario reiniciar el servicio de DNS.

- Sendmail debe aceptar los mensajes

Normalmente, Sendmail recibirá y aceptará los mensajes de la forma “usuario@host”,


donde host corresponde al verdadero nombre de la máquina en que se ejecuta. Sin
embargo, nosotros hemos elegido una dirección de un formato diferente al que
especificamos arriba. Por lo que debemos notificar a Sendmail que acepte tales
mensajes.
Esto se hace modificando el archivo /etc/mail/local-host-names. En nuestro caso,
el archivo se debe ver de la siguiente manera:
[root@201-212-115-216 ~]# cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
inspired.com.ar
[root@201-212-115-216 ~]#

Luego debemos reiniciar Sendmail.


Para que esto funcione, el archivo de configuración debe contener la directiva, que se
puede verificar con el siguiente comando:

[root@201-212-115-216 ~]# grep local-host-names /etc/mail/sendmail.cf


Fw/etc/mail/local-host-names
[root@201-212-115-216 ~]#

- Crear Usuarios

Sendmail sólo aceptará mensajes destinados a los usuarios que existen en el sistema.
Por lo tanto, debemos crear los usuarios necesarios para poder recibir mensajes o
utilizar usuarios ya creados.
En nuestro caso crearemos dos usuarios nuevos al sistema además de los ya existentes
usuarios fedora y root.
Creamos el usuario franco e usuario info:
[root@201-212-115-216 usr]# useradd franco
[root@201-212-115-216 usr]# passwd franco
Changing password for user franco.

Guía de Trabajos Prácticos Página 210


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
[root@201-212-115-216 etc]# useradd info
[root@201-212-115-216 etc]# passwd info
Changing password for user info.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@201-212-115-216 etc]#

- Envió y recepción de mail

Con todas las configuraciones realizadas, ya podemos comenzar a enviar y recibir e-


mails con nuestro dominio dentro de la empresa. Para probar esto, vamos a realizar una
serie de pruebas con la consola.

A continuación enviamos un mail desde root a root@inspired.com.ar:

[root@201-212-115-216 ~]# mail root@inspired.com.ar


Subject: Mail de prueba
este mail es una prueba.!!!
.
Cc:
[root@201-212-115-216 ~]#

Con el comando mail, observamos que llego el mensaje que acabamos de enviar a
nuestra bandeja:

[root@201-212-115-216 ~]# mail


Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 12 messages 1 new 12 unread
U 1 root@200-127-186-173 Tue Oct 17 12:52 40/1630 "LogWatch for
200-127-186-173.cab.prima.net.ar"
U 2 root@200-127-19-238. Thu Oct 19 10:59 40/1575 "LogWatch for
200-127-19-238.prima.net.ar"
U 3 root@200-127-19-238. Thu Oct 19 17:18 17/889 "*** SECURITY
information for 200-127-19-238.prima.net.ar ***"
U 4 root@201-212-115-243 Sat Oct 21 13:27 41/1659 "LogWatch for
201-212-115-243.prima.net.ar"
U 5 root@201-212-115-243 Tue Oct 24 10:21 44/1770 "LogWatch for
201-212-115-243.prima.net.ar"
U 6 root@200-127-186-107 Thu Nov 2 13:25 39/1588 "LogWatch for
200-127-186-107.cab.prima.net.ar"
U 7 root@localhost.local Fri Nov 3 13:49 39/1489 "LogWatch for
localhost.localdomain"
U 8 root@201-212-17-56.c Sat Nov 4 16:52 48/1877 "LogWatch for
201-212-17-56.cab.prima.net.ar"
U 9 root@200-127-18-118. Sat Nov 11 11:29 40/1584 "LogWatch for
200-127-18-118.prima.net.ar"
U 10 root@200-122-65-195. Sun Nov 12 16:36 40/1628 "LogWatch for
200-122-65-195.cab.prima.net.ar"

Guía de Trabajos Prácticos Página 211


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
U 11 root@201-212-115-216 Sat Nov 18 15:22 40/1632 "LogWatch for
201-212-115-216.prima.net.ar"
>N 12 root@inspired.com.ar Sat Nov 18 18:27 16/733 "Mail de
prueba"
&

Podemos ver el contenido del mensaje indicando su número:

&12
Message 12:
From root@inspired.com.ar Sat Nov 18 18:27:01 2006
Date: Sat, 18 Nov 2006 18:27:01 -0300
From: root <root@inspired.com.ar>
To: root@inspired.com.ar
Subject: Mail de prueba

este mail es una prueba.!!!

&

Ahora vamos a enviar un mail desde el usuario fedora:

[fedora@201-212-115-216 root]$ mail root@inspired.com.ar


Subject: hola, me copias??
me estas cpiando?
.
Cc:
[fedora@201-212-115-216 root]$

Vamos a la consola del usuario root y ejecutando el comando mail vemos que nos ha
llegado el mensaje de fedora:

[root@201-212-115-216 ~]# mail


Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/root": 12 messages 1 new 12 unread
U 1 root@200-127-186-173 Tue Oct 17 12:52 40/1630 "LogWatch for
200-127-186-173.cab.prima.net.ar"
U 2 root@200-127-19-238. Thu Oct 19 10:59 40/1575 "LogWatch for
200-127-19-238.prima.net.ar"
U 3 root@200-127-19-238. Thu Oct 19 17:18 17/889 "*** SECURITY
information for 200-127-19-238.prima.net.ar ***"
U 4 root@201-212-115-243 Sat Oct 21 13:27 41/1659 "LogWatch for
201-212-115-243.prima.net.ar"
U 5 root@201-212-115-243 Tue Oct 24 10:21 44/1770 "LogWatch for
201-212-115-243.prima.net.ar"
U 6 root@200-127-186-107 Thu Nov 2 13:25 39/1588 "LogWatch for
200-127-186-107.cab.prima.net.ar"
U 7 root@localhost.local Fri Nov 3 13:49 39/1489 "LogWatch for
localhost.localdomain"
U 8 root@201-212-17-56.c Sat Nov 4 16:52 48/1877 "LogWatch for
201-212-17-56.cab.prima.net.ar"
U 9 root@200-127-18-118. Sat Nov 11 11:29 40/1584 "LogWatch for
200-127-18-118.prima.net.ar"

Guía de Trabajos Prácticos Página 212


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
U 10 root@200-122-65-195. Sun Nov 12 16:36 40/1628 "LogWatch for
200-122-65-195.cab.prima.net.ar"
U 11 root@201-212-115-216 Sat Nov 18 15:22 40/1632 "LogWatch for
201-212-115-216.prima.net.ar"
>N 12 fedora@inspired.com.ar Sat Nov 18 18:31 16/736 "hola, me
copias??"
&

Indicando el número del mensaje vemos el contenido del mensaje:

&12
Message 12:
From fedora@inspired.com.ar Sat Nov 18 18:31:45 2006
Date: Sat, 18 Nov 2006 18:31:45 -0300
From: fedora <fedora@inspired.com.ar>
To: root@inspired.com.ar
Subject: hola, me copias??

me estas cpiando?

&

Configuración de MUA

Es necesario que los clientes de la red local accedan al servido mediante programas
especializados para la redacción y visualización de mensajes. Estos programas se
conocen como MUA´s (Mail User Agent.).
Utilizaremos dos agentes diferentes para manipular los e-mail. Por un lado mediante la
web, para ello necesitamos un servidor imap, y por el otro lado mediante un programa
estilo MS Outlook de nombre Evolution.
Para realizar este trabajo vamos a necesitar instalar un conjunto de paquetes. El primero
de ellos es un servidor POP e IMAP que sin él no podremos realizar el trabajo, el
mismo se llama Dovecot.

Instalamos el Dovecot con el comando “yum install dovecot”. Luego de la


instalación comprobamos que realmente se encuentre instalado:

[root@201-212-115-216 squirrelmail]# rpm -q dovecot


dovecot-1.0-0.beta2.7
[root@201-212-115-216 squirrelmail]#

Ahora tenemos que instalar una aplicación WEB que va a ser nuestro cliente de correo.
Para ello podemos instalar el Squirrelmail. A continuación realizamos la instalación:
[root@201-212-115-216 named]# yum install squirrelmail
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core
[1/3]

Guía de Trabajos Prácticos Página 213


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
core 100% |=========================| 1.1 kB
00:00
extras
[2/3]
extras 100% |=========================| 1.1 kB
00:00
updates
[3/3]
updates 100% |=========================| 951 B
00:00
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for squirrelmail to pack into transaction set.
squirrelmail-1.4.8-1.fc5. 100% |=========================| 162 kB
00:03
---> Package squirrelmail.noarch 0:1.4.8-1.fc5 set to be updated
--> Running transaction check
--> Processing Dependency: php-mbstring for package: squirrelmail
--> Processing Dependency: php >= 4.0.4 for package: squirrelmail
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php-mbstring to pack into transaction set.
php-mbstring-5.1.6-1.2.i3 100% |=========================| 15 kB
00:00
---> Package php-mbstring.i386 0:5.1.6-1.2 set to be updated
---> Downloading header for php to pack into transaction set.
php-5.1.6-1.2.i386.rpm 100% |=========================| 21 kB
00:00
---> Package php.i386 0:5.1.6-1.2 set to be updated
--> Running transaction check
--> Processing Dependency: php-pear for package: php
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php-pear to pack into transaction set.
php-pear-1.4.9-1.2.noarch 100% |=========================| 20 kB
00:00
---> Package php-pear.noarch 1:1.4.9-1.2 set to be updated
--> Running transaction check

Dependencies Resolved

======================================================================
=======
Package Arch Version Repository
Size
======================================================================
=======
Installing:
squirrelmail noarch 1.4.8-1.fc5 updates
4.3 M
Installing for dependencies:
php i386 5.1.6-1.2 updates
3.6 M
php-mbstring i386 5.1.6-1.2 updates
964 k

Guía de Trabajos Prácticos Página 214


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
php-pear noarch 1:1.4.9-1.2 updates
354 k

Transaction Summary
======================================================================
=======
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 9.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): php-mbstring-5.1.6 100% |=========================| 964 kB
00:14
(2/4): squirrelmail-1.4.8 100% |=========================| 4.3 MB
01:06
(3/4): php-pear-1.4.9-1.2 100% |=========================| 354 kB
00:05
(4/4): php-5.1.6-1.2.i386 100% |=========================| 3.6 MB
00:54
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: php #########################
[1/4]
Installing: php-mbstring #########################
[2/4]
Installing: squirrelmail #########################
[3/4]
Installing: php-pear #########################
[4/4]

Installed: squirrelmail.noarch 0:1.4.8-1.fc5


Dependency Installed: php.i386 0:5.1.6-1.2 php-mbstring.i386 0:5.1.6-
1.2 php-pear.noarch 1:1.4.9-1.2
Complete!
[root@201-212-115-216 named]#

Una vez instalado Squirrelmail, este necesita una librería de nombre php-imap que es
necesaria ya que el Squirrelmail esta diseñado con php. A continuación verificamos si
poseemos ese paquete.
[root@201-212-115-216 ~]# rpm -q php-imap
php-imap-5.1.6-1.2
[root@201-212-115-216 ~]#

Vemos que php-imap esta instalado en el sistema. Nuestro siguiente paso es configurar
algunas particularidades del Squirrelmail. Para ello vamos a editar el archivo de
configuración que se encuentre en /etc/squirrelmail/config.php.

Particularmente, vamos a modificar dos líneas. Por un lado debemos indicar que el
aspecto del sitio sea en Español para ello debemos modificar el parámetro

Guía de Trabajos Prácticos Página 215


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
“$squirrelmail_default_language” y colocar el siguiente valor:
“$squirrelmail_default_language = 'es_ES';”.
En segundo lugar, debemos indicar cual es el dominio. Para ello reemplazamos el valor
del parámetro “$domain” por “$domain = 'inspired.com.ar';”.

A continuación vemos como queda nuestro archivo config.php, en negrita mostramos


las línes modificadas.
NOTA: nostramos solo una parte del archivo ya que es muy extenso.
[root@201-212-115-216 squirrelmail]# cat config.php
<?php

/**
* SquirrelMail Configuration File
* Created using the configure script, conf.pl
*/

global $version;
$config_version = '1.4.0';
$config_use_color = 1;

$org_name = "SquirrelMail";
$org_logo = SM_PATH . 'images/sm_logo.png';
$org_logo_width = '308';
$org_logo_height = '111';
$org_title = "SquirrelMail $version";
$signout_page = '';
$frame_top = '_top';

$provider_uri = 'http://www.squirrelmail.org/';

$provider_name = 'SquirrelMail';

$motd = "";

$squirrelmail_default_language = 'es_ES';

$domain = 'inspired.com.ar';
$imapServerAddress = 'localhost';
$imapPort = 143;
$useSendmail = true;
$smtpServerAddress = 'localhost';
$smtpPort = 25;
$sendmail_path = '/usr/sbin/sendmail';
[root@201-212-115-216 squirrelmail]#

- Reiniciar servicios

Una vez realizada la configuración del MUA, debemos iniciar los servicios de httpd,
dovecot y Sendmail.
[root@201-212-115-216 squirrelmail]# service dovecot start

Guía de Trabajos Prácticos Página 216


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Iniciando Dovecot Imap: [ OK ]
[root@201-212-115-216 squirrelmail]#

[root@201-212-115-216 mail]# service sendmail start


Iniciando sendmail: [ OK ]
[root@201-212-115-216 mail]#

[root@201-212-115-216 mail]# service httpd start


Iniciando httpd: [ OK ]
[root@201-212-115-216 mail]#

- Acceso al web-mail Squirrelmail

Ahora vamos a probar acceder a nuestro web mail y enviar mensajes desde allí. Para
ello, entramos al navegador web y tipeamos http://192.168.0.1/webmail. A
continuación veremos la siguiente pantalla, en la cual vamos a introducir nuestro
nombre de usuario y contraseña.

Una vez que hemos ingresado, vemos nuestra bandeja de entrada que esta vacía y un
conjunto de opciones típicas que poseen todos los servicios de mail.

Guía de Trabajos Prácticos Página 217


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

A modo de prueba, nos vamos a loguear con el usuario info al Squirrelmail y enviar un
mensaje al usuario franco@inspired.com.ar. A continuación vemos la redacción del
mensaje de prueba destinado a franco@inspired.com.ar.

Ahora retornamos a la bandeja de entrada de franco@inspired.com.ar y vemos que


hemos recibido el correo proveniente de info@inspired.com.ar.

Guía de Trabajos Prácticos Página 218


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Si hacemos clic sobre el mensaje recibido desde info@inspired.com.ar vamos a ver


el mensaje completo. A continuación mostramos el mensaje entero.

Con esto concluimos las pruebas utilizando en sistema de web-mail.

- Acceso al pop-mail mediante Evolution.

Como explicamos anteriormente, Evolution es un cliente de correo estilo MS Outlook.


Para ingresar al mismo lo podemos hacer desde el menú de Fedora o ejecutando el
comando #evolution.

Una vez ingresado a la aplicación, veremos una ventana como la que se nos presenta a
continuación. En ella debemos presionar en Editar y luego seleccionar la opción
Preferencias con el objetivo de configurar el cliente.

Guía de Trabajos Prácticos Página 219


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

A continuación debemos presionar en el botón añadir, con el fin de añadir una cuenta de
usuario nueva.

Luego de presionar añadir, Evolution va a iniciar un asistente muy intuitivo con el cual
configuraremos nuestro cliente. Para comenzar debemos completar los campos:
“Nombre completo” con el nombre del usuario franco, “dirección de correo-e”
con franco@inspired.com.ar y luego presionamos en siguiente.

Guía de Trabajos Prácticos Página 220


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

El siguiente paso es seleccionar el tipo de servidor de correo para la recepción de


mensajes. Seleccionamos servidor POP, indicamos el IP de nuestro servidor
(192.168.0.1) y el nombre de usuario (franco) como se muestra a continuación.

La siguiente pantalla la dejamos como viene por defecto y presionamos en siguiente.

Guía de Trabajos Prácticos Página 221


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Ahora debemos indicar el tipo de servidor para el envío de mensajes. Indicamos


Sendmail y presionamos en siguiente.

Guía de Trabajos Prácticos Página 222


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Para finalizar, indicamos el nombre de nuestra cuenta, en este caso la vamos a llamar
igual que la dirección de mail del usuario, o sea, franco@inspired.com.ar. Luego
damos en siguiente y finalizamos con la configuración del usuario.

Una vez finalizada la configuración del usuario franco, retornamos a la pantalla


principal del Evolution y observamos en que la bandeja de entrada tenemos un mensaje
proveniente de info@inspired.com.ar. Este mensaje, es el que enviamos desde la
cuanta info a la cuanta franco cuando estábamos probando el web-mail.

Guía de Trabajos Prácticos Página 223


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Lo que vamos hacer ahora, con el fin de probar nuestro correo pop, es añadir la cuenta
del usuario info. Para ello repetimos los pasos que acabamos de hacer cuando añadimos
la cuenta franco@inspired.com.ar.
Una vez añadida la cuenta del usuario info, vamos a redactar un mensaje enviado desde
este último a la cuenta franco@inspired.com.ar. A continuación vemos el mensaje
que estamos por enviar.

Guía de Trabajos Prácticos Página 224


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
Una vez enviado el mensaje anterior, vamos a la bandeja de entrada del usuario franco
y vemos que tenemos un mensaje nuevo y corresponde con el que acabamos de enviar
desde info@inspired.com.ar.

Reenviando correo entre dos equipos

Luego de finalizar la configuración para que una máquina envié y reciba correos, ahora
podemos configurar otra máquina para que intercambie correo con la que primera PC.

La nueva máquina tiene un dominio con nombre “prueba.com”. Suponemos que este
dominio esta bien configurado y que ha seguido los pasos explicados en este práctico al
momento de configurar el dominio “inspired.com.ar” con todos los archivos que
comprenden dicha configuración

Por otro lado, también supondremos que el sendmail se encuentra configurado


correctamente, para recibir los mensajes de su dominio.

Una vez que poseemos todo lo anterior configurado correctamente, debemos modificar
un parámetro de nombre Forward en ambos servidores. Con esto, vamos hacer que cada
servidor tenga la dirección IP del otro servidor. Supondremos que el equipo del dominio
“prueba.com” posee la IP 192.168.0.2, y el equipo del dominio “inspired.com.ar”,
posee la IP 192.168.0.1.

De manera de modificar el parámetro Forward, debemos editar el archivo de


configuración de zonas (/etc/named.conf), y agregarle lo siguiente luego del sector de
opciones:

Para la máquina con dominio “prueba.com” agregamos:

Guía de Trabajos Prácticos Página 225


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________
forwarders {

192.168.0.1;

};

Y para el caso de la máquina con dominio “inspired.com.ar” agregamos:

forwarders {

192.168.0.2;

};

Luego de esto, deberíamos tener configurado correctamente los archivos de


configuración de zona. Ahora lo único que debemos hacer es reiniciar el servicio de
resolución de nombre “named” con el comando “#service named restart” y
realizar pruebas. Para ejemplificar, haremos lo siguiente:

Enviaremos un mail desde el equipo del dominio inspired.com.ar, a un mail del


dominio prueba.com de la siguiente manera:

Verificaremos que el mail llego desde el equipo del dominio prueba.com.

Guía de Trabajos Prácticos Página 226


Guía de Trabajos Prácticos
IUA – Ingeniería de Sistemas_______________________________________________

Con esto damos finalizado el trabajo práctico.

Guía de Trabajos Prácticos Página 227

También podría gustarte