Upload
tatiana-mansilla
View
31
Download
2
Embed Size (px)
Citation preview
Trabajo elaborado por: Tatiana Mansilla Clavería
2º ING
24/03/2009
Ingeniería Informática
Administración de servidores
Práctica 2
Tatiana Mansilla Clavería
- 1 -
Índice
Índice 1
Manual 2
Tarea 1 2
Tarea 2 3
Tarea 3 4
SSH 5
BIND9 6
Bibliografía 8
Tatiana Mansilla Clavería
- 2 -
Memoria
TAREA 1
En primer lugar he partido de una imagen con debían correctamente
funcionando, llamada debian_limpio.imb. Una vez que ya tenía la imagen he creado el
volumen lógico con: lvcreate –L1G –n deb2 grupodeb, por lo que ahora ya solo
me queda utilizar el comando dd para duplicar la imagen, ya que es un comando
bastante útil para transferir datos desde un archivo hacia un dispositivo:
dd if=/home/tatiana/Escritorio/debian_limpio.img of=/dev/grupodeb/deb2
Como la imagen de la máquina virtual Debian, no tenía password he utilizado el
comando passwd para ponérsela. No he modificado el nombre de máquina ya que el de
la primera máquina es Debian y el de la segunda es DebianVM, por lo que al no
coincidir no me ha hecho falta cambiarlo. Las direcciones ip se generan
automáticamente buscando la que está libre, por lo tanto tampoco he tenido que
modificar el fichero ya que la dirección ip de la primera es 192.168.122.110 y la de la
segunda es 192.168.122.123.
Con todo esto ya tengo mis dos máquinas virtuales con diferente nombre y
diferente ip. Para que se pudieran conectar las tres máquinas (Ubuntu, deb_1 y deb_2)
he modificado y duplicado el fichero xml para meter las máquinas en el virt-manager.
En el fichero xml he modificado el nombre, el uuid, el source file (la ruta del
volumen lógico), la dirección mac y el puerto, ya que si los puertos eran el mismo en las
dos máquinas me daba error y no podían estar conectadas a la vez. Con la consola virsh
he realizado un define de los dos archivos xml y se me han agregado correctamente
las dos máquinas.
Una vez que ya están las dos máquinas virtuales en el virt-manager ejecuto las
dos a la vez y les hago pings entre ellas y funcionan correctamente. Por lo tanto ya
tengo conectividad entre las tres máquinas.
Tatiana Mansilla Clavería
- 3 -
TAREA 2
Esta tarea consiste en conectarnos a través del escritorio remoto gracias a ssh,
por lo que lo primero que hay que hacer es instalarlo: apt-get install ssh.
Ahora voy a generar la clave RSA con el siguiente comando:
ssh-keygen -t rsa, el cual crea la clave RSA y la guarda. En todos los pasos le
he dado a intro, por lo que he dejado todo por defecto. Esta clave la voy a utilizar para
cifrar la contraseña de root y poderme conectar con ssh a las máquinas virtuales sin que
me pida ninguna contraseña.
El siguiente paso es pasarle la contraseña encriptada con RSA a las dos
máquinas virtuales para ello hay que ejecutar los siguientes comandos (uno para cada
máquina). Al ejecutar cada uno de ellos tiene que estar la máquina virtual
correspondiente encendida:
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
Para comprobar que funcionan correctamente he hecho: ssh '[email protected]'
ssh '[email protected]'
Y automáticamente me ha cambiado mi prompt a: nombre_cuenta@nombre_manquina,
por lo que de ésta manera he comprobado que me iba bien.
Tatiana Mansilla Clavería
- 4 -
TAREA 3
La última tarea consiste en poner en funcionamiento el servidor bind9, para ello,
hay que instalar el paquete que utiliza este DNS: apt-get install bind9, tras
instalármelo correctamente he realizado algunas modificaciones de los ficheros
named.conf.local en el que he añadido lo siguiente:
zone "tmansilla.es" {
type master;
file "/etc/bind/db.tmansilla";
};
El siguiente fichero que he modificado es el db.tmansilla, pero antes de esto, he
realizado una copia del fichero db.local que se llamase db.tmansilla para modificarla, y
le he cambiado lo siguiente:
@ IN NS tmansilla.es.
@ IN A 127.0.0.1
www IN A 192.168.122.110
Tras todas las modificaciones hay que ejecutar el commando:
/etc/init.d/bind9 restart, para que se reinicie y se apliquen las
modificaciones. También me he instalado el paquete gbindadmin para utilizar el bind9
con interfaz gráfica.
Finalmente para comprobar que este servidor DNS me funcionaba correctamente
he ejecutado dos commandos: host -t a www.google.com 192.168.122.1
host -t a www.tmansilla.es 192.168.122.1
Tatiana Mansilla Clavería
- 5 -
SSH
SSH (Secure SHell, en español: intérprete de órdenes seguro) es un protocolo y
a su vez, el programa que implementa este protocolo. Sirve para poder acceder a
máquinas remotas a través de una red por medio de una CLI (Command Line Interface -
Interfaz de Línea de Comandos- también llamada: "shell"). Permite copiar datos de
forma segura, manejar por completo el ordenador mediante un intérprete de comandos,
gestionar claves RSA para no tener que escribir claves al conectar a las máquinas y
pasar datos de cualquier otra aplicación por un canal seguro tunelizado mediantes SSH.
Es semejante a Telnet, con la excepción de que ssh codifica la información cuando
viaja, por lo que es mucho más segura.
Ya que se trata de un intérprete de órdenes seguro, debemos configurarlo pero
que lo sea, por lo tanto, lo primero que debemos modificar es el fichero
/etc/ssh/sshd_configSSH, ya que el puerto que utiliza por defecto es el 22, y si se lo
cambiamos hace que sea más seguro. Se pueden modificar también otra serie de
opciones como puede ser la “Authentication”, “PermitRootLogin”. “AllowUsers”,
“MaxAuthTries”, “MaxStartups”,… Pero para lo que vamos a hacer nosotros no
necesitamos tanta seguridad, por lo tanto no hace falta cambiar tantas cosas.
Siempre que nos conectemos a un ordenador remoto con SSH nos va a pedir el
password de acceso para asegurarse de que tenemos permisos. Hay una forma de evitar
que nos pida el password. Para ello hay que generar una clave RSA: $ ssh-keygen -t rsa
Nos da la opción de crear una palabra de paso aunque en caso de pulsar intro nos creará
una en blanco, la cual no nos será requerida cuando accedamos.
Las claves se almacenan por defecto en ~/.ssh/, quedando el directorio así:
Los ficheros id_rsa e id_rsa.pub contienen respectivamente las claves privada y pública.
El fichero known_hosts contiene la lista de las claves públicas de las máquinas
reconocidas.
Una vez que se ha generado la clave se copia al usuario del ordenador remoto
utilizando el comando ssh-copy-id, para copiar la clave pública al fichero
~/.ssh/authorized_keys de cada usuario que vamos a usar, dentro del servidor al que
queremos acceder. ssh-copy-id es un script que se conecta a la máquina y copia el
archivo (indicado por la opción -i) en ~/.ssh/authorized_keys, y ajusta los permisos a los
valores adecuados.
La primera vez que se arranca el SSH nos pregunta la contraseña y a partir de
entonces ya podemos acceder al ordenador remoto sin tener que escribir el password
cada vez.
Algunos comandos que se utilizan a través de SSH son los siguientes:
pwd muestra el path completo del directorio en el que se encuentra, cd cambia de
directorio, ls lista archivos y directorios de un directorio, pico ruta/archivo
edita el archivo con el editor pico, cp copia todos los archivos de un directorio a otro
manteniendo sus respectivos permisos, etc.
Tatiana Mansilla Clavería
- 6 -
Bind9
BIND (Berkeley Internet Name Domain), distribuido bajo la GNU GPL, es el
servidor DNS más antiguo y ampliamente utilizado. Trabaja en todas las plataformas
informáticas principales y se caracteriza por su flexibilidad y seguridad.
Domain Name Service (DNS) es el servicio que resuelve los nombres de
dominio asociados a una dirección IP para direccionar las peticiones a un servidor en
específico. Se utiliza cuando un nodo (o host) en Internet contacta a otro mediante el
nombre de domino de la máquina y no por su dirección IP.
Todos los equipos que están en Internet o una Intranet tienen una dirección IP
única que las identifica, pero el recordar todas las direcciones en este formato sería
sumamente difícil, por lo que utilizamos los nombres de dominio para referenciarlos.
Para configurar un servidor local de caché de nombres con BIND para una red
local y así acelerar las búsquedas DNS, hay que instalar BIND en una máquina Linux,
en mi caso en Ubuntu. Tras instalarlo hay que modificar varios archivos de
configuración.
Se debe editar el fichero de configuración local, esto es: /etc/bind/named.conf.local, en
el que hay que añadir la siguiente información:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
Con esto, le decimos que la zona es example.com, que es un esclavo y que el fichero
para guardar la info es "/etc/bind/db.example.com" (bind9 lo mete en /var/cache/bind)
que permitimos cualquier pregunta y le decimos quien es nuestro maestro (su ip). El
fichero de configuración “db.example.com” se crea a partir de “db.local”: cp db.local db.example.com
El fichero db.example.com se debe editar de la siguiente manera:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.example.com.
@ IN A 192.168.1.10
box IN A 192.168.1.10
Tatiana Mansilla Clavería
- 7 -
Cada vez que se cambia la configuración de BIND9, debemos reiniciar el demonio:
/etc/init.d/bind9 restart
Para que nuestra máquina utilice el servidor de DNS que hemos configurado,
debemos editar “/etc/resolv.conf” y dejamos únicamente la línea:
nameserver 127.0.0.1
Para comprobar el correcto funcionamiento, utilizamos el comando “host” el
cual sirve para resolver dominios.
Si deseamos también disponer de resolución de dominios inversa, es decir, que
podamos preguntar por la IP “192.168.1.10″ y el servidor DNS nos diga que pertenece a
example.com, debemos añadir a “/etc/bind/named.conf.local”:
zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};
Creamos el archivo de configuración “/etc/bind/db.192″ a partir del “/etc/bind/db.127″:
cd /etc/bind/
cp db.127 db.192
Editamos “/etc/bind/db.192″, substituimos “localhost” por “example.com” y cambiamos
la última línea:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA example.com. root.example.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS example.com.
10.1.168 IN PTR example.com.
De forma que, la última linea indica que la IP [192.]168.1.10 (escrita a la inversa y
omitiendo el 192 que ya se especifico en “named.conf.local”) corresponde al dominio
example.com.
Podemos comprobar su funcionamiento reiniciando el demonio BIND9 y realizando
una consulta.
Tatiana Mansilla Clavería
- 8 -
Bibliografía
http://tuxpepino.wordpress.com/2007/05/11/ssh-el-dios-de-la-administracion-remota/
http://www.guia-ubuntu.org/index.php?title=Servidor_ssh
http://www.aemilius.net/soporte/tutoriales/comandos-ssh-shell-telnet-frecuentes.html
http://doc.ubuntu-es.org
http://www.estrellateyarde.es/discover/servidor-dns-en-linux
http://www.marblestation.com/blog/?p=543
https://help.ubuntu.com/community/BIND9ServerHowto
http://diariolinux.com/index.php?s=autom%C3%A1tico
http://www.gpltarragona.org/archives/421
http://es.tldp.org/COMO-INSFLUG/COMOs/DNS-Como/DNS-Como-3.html