µLibertad

7/10/2007

Poniendo a punto el servidor ciego

Filed under: Debian,Linux,Servidor Ciego,Tutoriales — opintos @ 9:14 pm

En este punto del proceso, aún necesitamos el monitor y el teclado, pero ya no necesitamos la unidad de DVD o CD, así que podéis ir desconectándola, a partir de ahora todo lo que necesitemos lo bajaremos directamente de internet, así que para que no nos pida el CD vamos a retocar los repositorios, osea editar el archivo /etc/apt/sources.list. Como es la primera vez que arrancamos el servidor ciego, deberemos estar viendo una línea donde nos pide que nos identifiquemos, a mi me pone esto, “servidor-debian login:”, como le puse de nombre servidor-debian pues eso me sale, si pusisteis otro nombre os saldrá otra cosa. Ahora nos identificamos como usuario root, escribimos root pulsamos enter y nos pedira el password, lo escribimos y ya deberíamos estar logueados en nuestro servidor, deberíamos estar viendo la siguiente línea, “servidor-debian:~#”.

Una vez dentro, vamos a editar los repositorios y a dejarlos justo como queremos:

nano /etc/apt/sources.list

Ahora tendremos que comentar o eliminar la línea que hace referencia al CD de instalación de Debian, así no nos solicitará el CD cuando instalemos paquetes que se encuentran en el CD, aunque debiado a usar el CD netinst no debería pasar, pero como hemos desconectado la unidad de CD/DVD lo mejor es asegurarse de que no nos lo pedirá. También añadiremos los respositorios de contrib y non-free, por que más adelante nos harán falta para instalar algunas cosas, aunque muchos probablemente no los necesitéis para el uso que le queráis dar al servidor ciego, pero por si acaso los activamos. Finalmente vuestro sources.list debería quedar así:

# deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20$

deb http://ulises.hostalia.com/debian/ etch main contrib non-free
deb-src http://ulises.hostalia.com/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

Como veis he comentado la línea del CDROM y retocado las otras, fijaros que he cambiado los repositorios finlandeses que comentaba en la entrada anterior, por los españoles de hostalia.com, por que funcionan muy bien y los finlandeses ayer me dieron algunos problemas, aunque deberían funcionar a la perfección y probablemente solo se debió a un fallo puntual. Ahora toca actualizar los repositorios para que el sistema sepa que los hemos cambiado, luego lo mejor es hacer un dist-upgrade por que seguramente se os actualice el kernel, a mi me lo hizo ayer, mete la misma versión pero corrigiendo algunos bugs,

apt-get update
apt-get dist-upgrade

Tras actualizarse el kernel lo mejor sería reiniciar el servidor ciego, pero antes quiero ajustar una cosa, quiero configurar el archivo /etc/network/interfaces, para que el servidor tenga una IP fija en mi red local, ya que tengo el Router puesto con DHCP, pero lo tengo para que entregue IP automáticamente desde 192.168.1.3 hasta 192.168.1.255 (dejando libre el 192.168.1.2 para mi servidor ciego), así es muy cómodo conectar dispositivos WiFi, como el portátil, la Wii, etc… Poner IP estática al servidor es muy cómodo por varios motivos, uno para redireccionar los puertos que necesitarán algunas aplicaciones como TorrentFlux o MLDonkey, y el otro motivo es para acceder siempre con la misma IP a mi servidor ciego desde cualquier PC de la red, no lo apago casi nunca pero si cada vez que se reinicia tiene una IP diferente, buscarla cada vez es un engorro, así que vayamos a ello:

nano /etc/network/interfaces

El archivo /etc/network/interfaces, yo lo configuro según varias necesidades y varios datos de mi red local, suponiendo que quiero que se levante automáticamente la interfaz eth0 en cada inicio del sistema (auto eth0), que quiero una IP Fija (iface eth0 inet static), que quiero la IP fija de 192.168.1.2 (address 192.168.1.2), tengo el router en la IP 192.168.1.1 (gateway 192.168.1.1) y que estoy usando las DNS de OpenDNS (nameserver 208.67.222.222 208.67.220.220). Cada uno lo configurará según sus necesidades y según la configuración de su red local claro. Pero bueno si tenéis algo similar a mi, yo el archivo lo he dejado tal que así:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
nameserver 208.67.222.222 208.67.220.220

Antes de reiniciar quiero hacer una cosa más, instalar un servidor de OpenSSH, que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH. Con esto podremos controlar remotamente nuestro servidor ciego desde la terminal de cualquier ordenador de nuestra red, o usando Putty desde Windwos. Tras esto y el renicio ya podremos desconectar de nuestro servidor ciego, casi todo lo que aún quedaba conectado, monitor, teclado, ratón, etc… Pero no nos adelantemos, así que vayamos poco a poco y pongámonos a instalar OpenSSH:

apt-get install openssh-server

Tras introducir este comando, deberíamos ver como apt configura el paquete y crea las claves SSH2 RSA y SSH2 DSA, básicamente debería darnos esta salida al instalar ese paquete:

Desempaquetando openssh-server (de .../openssh-server_1%3a4.6p1-5_i386.deb) ...
Configurando openssh-server (1:4.6p1-5) ...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Restarting OpenBSD Secure Shell server: sshd.

Ahora nos vamos a nuestro PC, dejamos un rato el servidor ciego, vale cualquier ordenador conectado en la red local, solo tiene que cumplir un requisito, tener instalado openssh-client si es un ordenador con Linux, yo uso Debian y así se llama el paquete en otras distros tendrá otro nombre, y si usamos Windows tendremos que tirar de Putty, como comenté más arriba. Pero centrémonos en Linux y concretamente en Debian que es la que uso yo en todos mis PC. Como decía nos aseguramos de que tenemos instalado openssh-client, que generalmente se instala por defecto en casi todas las instalaciones, pero por si acaso nos aseguramos, usando aptitude con su opción search, así:

aptitude search openssh-client

Este comando nos mostrará todos los paquetes que contengan esa palabra en su nombre o descripción, solo debería salir uno, diciéndonos además si está instalado o no en nuestro sistema. Yo como lo tengo instalado me devuelve esta línea:

i openssh-client - secure shell client, an rlogin/rsh/rcp rep

Como en mi sistema está instalado le pone una i al principio de la línea, si no estuviera instalado veríamos una p. En caso de que no lo tuvierais instalado, solo tenéis que instalarlo:

aptitude install openssh-client

Ahora que ya tenemos lo necesario vamos a probar la conexión a través de OpenSSH, para ello utilizaremos el comando SSH en nuestro PC (utilizando Konsole como Root, en caso de que uséis KDE) apuntando a la IP del servidor ciego, en mi caso es 192.168.1.2. Tras conectar veremos esto:

debian-laptop:~# ssh 192.168.1.2
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
RSA key fingerprint is 27:48:d5:96:0c:e6:c9:5c:ae:8b:41:f0:3c:54:68:ea.
Are you sure you want to continue connecting (yes/no)?

Escribimos “yes” y nos pedirá el password del root del servidor ciego, lo introducimos y veremos la siguiente salida:

Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (RSA) to the list of known hosts.
root@192.168.1.2's password:
Last login: Mon Sep 10 23:45:11 2007
Linux debian-laptop 2.6.22-2-686 #1 SMP Fri Aug 31 00:24:01 UTC 2007 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

De este modo ya podemos conectar con nuestro servidor ciego desde cualquier PC de la red local, pero siempre tendremos que introducir el password de root, en cada sesión, en una futura entrada explicaré como añadir keys en cada cliente y en el servidor para poder acceder sin tener que introducir la contraseña cada vez, pero por ahora es suficiente. A partir de ahora ya podremos desconectar ratón, teclado y monitor de nuestro servidor ciego, pues desde aquí seguiremos la configuración desde otro PC de la red, que para eso hemos instalado el servidor OpenSSH. Pero antes, reiniciaremos el servidor ciego, introduciendo en terminal como root:

reboot

En este punto, como decía no nos hace falta ya tocar físicamente el servidor ciego, por lo que ya podemos desconectarle todo lo que le sobra, desde aquí seguiremos desde nuestro ordenador habitual trabajando en el servidor ciego desde terminal con SSH, abrimos konsole como root y conectamos con el servidor y ponemos la contraseña de root del servidor ciego:

ssh 192.168.1.2

En mi servidor ciego, tengo dos HD de 120Gb, que uso como almacén de todos los archivos, películas, series y Música en mi red local, así puedo acceder desde cualquier PC de mi casa a todos mis archivos. En una partición de 100Gb formateada como ext3 en el primer disco duro (hda) almaceno toda mi música, y en el segundo disco duro (hdb) guardo todos los demás archivos en una única partición de 120Gb formateada como ext3. Para poder acceder a ellas usaremos NFS, pero antes tenemos que montarlas en el servidor ciego para ello tenemos que crear los directorios donde montaremos las dos particiones, y luego editar el archivo /etc/fstab para que monte las particiones en el sistema, así que vamos a ello, primero creando los directorios de montaje:

mkdir /media/Archivos
mkdir /media/Musica

Una vez creados los puntos de montaje, procederemos a editar el archivo /etc/fstab y añadiremos las líneas de montaje de esas dos particiones, las dos las montaremos como ext3 con la opción defaults, y de paso eliminaremos la línea de montaje del cdrom que como ya no lo tenemos conectado pues no nos hace falta:

nano /etc/fstab

El archivo yo lo he editado y me ha quedado así, por supuesto esto dependerá de como tengáis cada uno montadas vuestras particiones almacén, pero si os gusta como lo hago yo aquí os dejo como queda mi archivo:

# /etc/fstab: static file system information.
#
proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda3 /home ext3 defaults 0 2
/dev/hda2 none swap sw 0 0
/dev/hdc1 /media/Archivos ext3 defaults 0 0
/dev/hda4 /media/Musica ext3 defaults 0 0

Guardamos el archivo con CTRL+X, que nos preguntará si queremos guardar el archivo, le decimos que sí y sobrescribimos el archivo. Ahora para que el sistema monte las nuevas particiones ejecutamos el comando de montar todo, y desde ese momento ya tendremos acceso a las dos nuevas particiones que hemos montado en los puntos /media/Archivos y /media/Musica, si navegamos a ellas deberíamos de ver los archivos que tengamos en ellas, si no es así repasad los pasos anteriores. El comando para montar todo es el siguiente:

mount -a

Ahora que tenemos montadas las particiones en nuestro sistema, y ya son accesibles, lo que queremos es tenerlas accesibles en toda la red local, para ello como he comentado, usaremos NFS, que permite a distintos sistemas conectados a una misma red acceder a ficheros remotos como si se tratara de locales. El problema de usar NFS es que solo está disponible para sistemas Unix o Linux, si queréis acceder a estas particiones desde Windows tenéis que usar SAMBA, pero eso ya lo hablaremos en una futura entrada, que a mi con NFS por ahora me llega, solo tengo un PC en casa con Windows, y para eso casi siempre esta corriendo una Debian que le he puesto. Lo primero será instalar el servidor NFS en nuestro servidor ciego, para lo que instalaremos el paquete nfs-kernel-server, usamos la versión del kernel en vez de la de usuario, por que tiene más funciones y es más rápida. Así que nos vamos a la terminal donde estamos controlando el servidor ciego con SSH y ejecutamos el siguiente comando:

aptitude install nfs-kernel-server

Tras instalar el servidor tenemos que editar el archivo /etc/exports, en el que indicaremos que directorios queremos compartir en la red y con que permisos, yo quiero compartir las dos particiones que hemos montado antes, donde almaceno mi música y mis archivos, concretamente /media/Archivos y /media/Musica. Quiero que esté disponible para cualquier IP de mi red local, así que le pondré un rango de IP’s, tal que así, 192.168.1.0/255.255.255.0 y finalmente quiero darle permisos de escritura y lectura, (rw). Podría darse diferentes permisos a cada IP de la red, pero a mi con esto me basta, pues solo son unas particiones de almacén y no hay riesgo de perder ningún archivo vital del sistema. Tras estas aclaraciones, mi archivo ha quedado exactamente así:

nano /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#
/media/Archivos 192.168.1.0/255.255.255.0(rw)
/media/Musica 192.168.1.0/255.255.255.0(rw)

Ahora tenemos que obligar al demonio de NFS, nfsd, que relea el archivo /etc/exports, consiguiendo que ya ponga a disposición de los demás ordenadores de la red las dos particiones que le hemos indicado. Para ello ejecutaremos el siguiente comando, como siempre, en la terminal con la que controlamos el servidor ciego vía SSH:

exportfs -ra

Tras esto, tenemos que configurar cada PC de la red para que monte esas particiones como si fueran locales, para ello necesitamos tener instalado el paquete nfs-common, en Debian claro, y si seguisteis nuestro tutorial de como instalar Debian ya deberíais tenerlo instalado, pero por si alguno no lo tiene instalado, vayamos a ello, recordad que ahora estamos configurando nuestro PC, no el servidor ciego, así que tenemos que tirar de terminal de nuestro PC no de la que estamos usando con SSH para controlar el servidor ciego.

aptitude install nfs-common

Tras instalar nfs-common tenemos que configurar el archivo /etc/fstab de nuestro PC para que monte esas particiones en cada inicio del sistema, aunque podríamos montarlas manualmente cada vez que las necesitemos, pero es mucho más cómodo configurar el sistema para que dichas particiones se monten automáticamente en cada inicio del mismo, para ello editaremos el archivo /etc/fstab, tal que así:

nano /etc/fstab

Finalmente añadimos yo he añadido estas dos líneas:

192.168.1.2:/media/Archivos /media/Archivos nfs rw 0 0
192.168.1.2:/media/Musica /media/Musica nfs rw 0 0

Guardaremos el archivo y salvaremos los cambios, sobrescribiendo el archivo original. Como veis en cada línea apunto a la IP del servidor ciego en mi red local (192.168.1.2), seguido de la ruta de los puntos que quiero montar del servidor ciego (:/media/Musica), luego le indico los puntos de montaje en mi PC (/media/Archivos), el sistema de ficheros (nfs) y los permisos (rw), tambien le pongo el dump y el pass a cero (0 0). Recordad que los puntos de montaje tienen que ser directorio que ya existan en el sistema, deberéis haberlos creado antes, podéis seguir las instrucciones para hacerlo que ya comenté más arriba cuando hacíamos algo similar en el servidor ciego. Ahora toca decirle a nuestro PC que monte las nuevas particiones añadidas al /etc/fstab, para ello usamos el comando montar todo:

mount -a

Tras esto, ya deberíamos poder acceder a dichas particiones del servidor ciego en nuestro PC como si fueran directorios locales. Si no es así, tal vez al PC le haga falta un reinicio, pero no debería ser así. Y hasta aquí por ahora, en siguientes entradas comentaremos como instalar los primeros programas, como MLDonkey, Torrent Flux, etc… aunque lo más díficil ya ha pasado, instalar los programas o servicios que más nos interesen es mucho más sencillo, aunque por supuesto aquí tendréis más adelante completas guías de como ir haciéndolo poco a poco. Ahora a disfrutar de vuestro servidor ciego.

4 comentarios »

  1. […] para quien quiera seguir el tuto original, ya está su continuación […]

    Pingback por Cómo instalar un “servidor ciego” con Linux (Debian Etch, en el ejemplo) « Bloguear por bloguear… — 8/10/2007 @ 1:02 am | Responder

  2. Hola a todos

    Excelente tutorial. Personalmente lo encuentro excelente. Mo obstante yo he probado a ponerlo en practica y en algunos pasos he fracasado, aunque me ha permitido solucionar otros problemillas que tenia cuando trataba de tener
    un servidor Debian con conexion compartida a Internet, cortafuegos, y server de archivos. co esto ya me apaño bastante bien.

    Pero como digo, yo he intentado poner todo esto en practica y he fallado en alguno pasos, no se si por ignorancia o por ser todavia usuario sin demasiada experiencia.

    Yo tengo una sugerencia, que me gustaria dejar aqui. La mayoria de los que nos iniciamos en Debian lo hacenmos con la idea de tener un pequeño servidor, con archivos compartidos, firewal, server proxy, server de correo, y quiza todo esto con IP Tables. El problema es que no todo el mundo sabe configurar un IP Tables para hacer todo esto con exito, pese a que se insiste que es muy facil de hacer. ¡Claro, para el que sabe si, pero no para el que aun tiene que aprender!.

    Un tutorial sobre como hacer un server con samba, proxy, y firewall con Iptables es lo que yo estoy tratando de encontrar para una pequeña red de oficina, que tendrai un maximo de entre tres y nueve PC clientes.

    Comentario por Raven — 15/02/2008 @ 4:13 pm | Responder

  3. La sección del servidor ciego no está cerrada todavía, Oscar creo que aún tiene un par de entradas en mente para lo que comentas, compartir ficheros, etc…

    Pero lo que sí puedes mirar es lo de IpTables, ya que hice una entrada para configurar un Firewall aquí. Échale un vistazo.

    Comentario por Tony — 16/02/2008 @ 2:08 am | Responder

  4. Hay algo que no se si te habras dado cuenta. Si lo reinicias te pedira el usuario/contraseña y si no no se cargaran ciertas cosas. ¿Sabes como hacer un login automatico? Si se logea un usuario me temo que el ssh no va.

    Comentario por marioquartz — 23/02/2008 @ 12:10 am | Responder


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Blog de WordPress.com.

A %d blogueros les gusta esto: