Archivo de la Categoría 'cartas náuticas'

Pag 3 de 4

VirtualBox: Cuando la Realidad Supera a la Ficción

Hace tiempo que supe de Virtualbox, pero no fue hasta ahora que descubrí el potencial de esta aplicación. Para quien no lo conozca, VirtualBox es una de las varias herramientas de virtualización que existen. Este tipo de aplicaciones nos permiten instalar de forma virtual prácticamente cualquier sistema operativo.

vbox_logo2_gradientEn la red de casa tengo dos PC’s, uno con Debian Lenny y otro con Windows XP. Lo configuré así por la necesidad de ejecutar aplicaciones muy específicas de trabajo que tan solo corrían bajo Windows. Además tampoco me atraía la idea de mezclar trabajo y ocio, ni de tener dos sistemas operativos instalados en un mismo PC…

El caso es que Virtualbox permite simplificar todo eso de una manera sorprendente. Una máquina virtual no se diferencia en nada de la real. En cierta manera la mejora (como en los servidores de empresa con redes de cierta entidad).

Dispongo de un servidor ciego que utilizo para muchas cosas entre ellas compartir archivos. Comparto a través de NFS, porque Samba toadvía no lo prové (además leí que NFS es más rápido) y porque me resulta muy sencillo configurar los permisos y los propietarios con NFS (siempre el mismo = el servidor, entre desde donde entre). Si bien, para Windows es un poco carente  (aunque se puede compartir con un determinado paquete de Microsoft). Una de las cosas que más me sorprendió es que el compartir la carpeta  de Debian dónde se alojan las carpetas compartidas del servidor con el XP virtual, se puede acceder con las mismas prestaciones de velocidad y permisos que si lo realizaras desde el propio Debian.

La comodidad que me supone ahora poder acceder desde linux a XP sin tan siquiera cerrar el PC es de agradecer. Si hubiera descubierto las posibiliadades de Virtualbox antes no hubiera empleado un PC en tener Windows (de hecho tal vez reinstale el que tengo…). Os dejo la forma de instalarlo:

Hay dos alternativas (o versiones) a la hora de instalar VB en Debian:

  • VirtualBox OSE (Open Source Edition): es la versión libre (se han suprimido las partes privativas y eliminado algunas funciones)
  • VirtualBox PUEL o FULL (privativa) que solo se podrá utilizar para uso personal y de evaluación.

En Debian podemos instalar cualquiera de las dos. Una de las diferencias fundamentales en cuestión de usabilidad, es que la versión libre (OSE) NO tiene soporte para USB y para discos duros Serial ATA, mientras que la versión cerrada SI lo tiene. Es por eso que siempre me he decantado por instalar la versión privativa.

Una vez sabido esto, comentar que hay dos formas de instalar VB: o bien descargándonos desde la página oficial de SUN Microsistem el .deb para nuestro Debian o bien haciendo uso de los repositorios. Yo voy a explicar como hacerlo desde repositorios, y en unos pocos pasos, tendremos totalmente operativo nuestro VB.

Lo primero de todo es editar el fichero /etc/apt/sources.list y añadir al final del mismo el repositorio de la versión de Debian que estemos usando (en mi caso la primera línea):

deb http://download.virtualbox.org/virtualbox/debian lenny non-free
deb http://download.virtualbox.org/virtualbox/debian etch non-free

Guardamos los cambios y ahora descargamos la clave pública para el apt y la añadimos:

wget http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
sudo apt-key add sun_vbox.asc

Actualizamos los repositorios:

sudo aptitude update

E instalamos el paquete:

sudo aptitude install virtualbox-2.2

Antes de finalizar la instalación nos avisará de la creación del grupo vboxusers, le decimos que si, y en caso de no estar compilado el modulo correspondiente, nos avisará de ello y la misma instalación se encargará del asunto. Una vez hecho esto, VB estará instalado y listo para funcionar.

Montaje de un Servidor Ciego con Debian Lenny (4.-Apache Web Server)

Una de las finalidades de este manual es la de poder servir contenido Web desde nuestro servidor hacia nuestra red local y hacia Internet.

Para esto usaremos el programa Apache Web Server en su versión apache2-mpm-prefork que es la recomendada para Debian por su Multi-Processing Module (MPM) ya que es algo más rápido que el modelo tradicional.

Antes de nada, crearemos un usuario que en mi caso será “usuarioweb” con directorio raíz/home/usuarioweb, donde alojaremos el directorio que queremos sea visible públicamente. Con este usuario también tendremos acceso al FTP para poder subir y bajar archivos directamente. Así pues, desde consola nos conectamos al servidor via ssh y como root:

#addsuser usuarioweb

Se nos crearán los directorios automáticamente, e introduciremos el password por dos veces para su verificación. Nos preguntará algunos datos sobre el usuario, pero lo dejamos en blanco puesto que es opcional.

Añadiendo el usuario `usuarioweb’ …

Añadiendo el nuevo grupo `usuarioweb’ (1001) …

Añadiendo el nuevo usuario `usuarioweb’ (1001) con grupo `usuarioweb’ …

Creando el directorio personal `/home/usuarioweb’ …

Copiando los ficheros desde `/etc/skel’ …

Introduzca la nueva contraseña de UNIX:

Vuelva a escribir la nueva contraseña de UNIX:

passwd: contraseña actualizada correctamente

Cambiando la información de usuario para usuarioweb

Introduzca el nuevo valor, o presione ENTER para el predeterminado

Nombre completo []:

Número de habitación []:

Teléfono del trabajo []:

Teléfono de casa []:

Otro []:

¿Es correcta la información? [S/n]

Contestamos que sí (S) y listo. Ahora instalaremos apache2 y apache2-mpm-prefork:

#apt-get install apache2

#apt-get install apache2-mpm-prefork

Finalizada la instalación, podemos abrir un navegador en nuestro PC e introducir la IP estática del servidor. Veremos entonces un mensaje tal que “It works!”. Esto quiere decir que el servidor Web Apache está funcionando.

El directorio hacia donde apunta el Servidor Web Apache por defecto es a /var/www/apache2-default. Esto lo podemos cambiar para que apunte a uno de los directorios que tenemos en nuestro directorio /home/usuarioweb. Crearemos una nueva carpeta llamada www donde alojaremos lo que queremos que sea público. Por debajo de ese directorio podremos alojar archivos para que sean vistos solo a nivel privado. Así pues, nos logeamos como usuarioweb y nos movemos hasta el directorio /home/usuarioweb/, y allí creamos la carpeta www:

$mkdir www

Ahora vamos a editar el archivo default que se encuentra en la ruta /etc/apache2/sites-available y vamos a substituir la ruta /var/www/ por la nuestra de nuestro /home/usuarioweb/www/. Nos logeamos como root:

#nano /etc/apache2/sites-available/default

Modificaremos los directorios, poniéndo los nuestros:

<VirtualHost *:80>

ServerAdmin webmaster@localhost

DocumentRoot /home/usuarioweb/www/

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

<Directory /home/usuarioweb/www/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory “/usr/lib/cgi-bin”>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ “/usr/share/doc/”

<Directory “/usr/share/doc/”>

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

</VirtualHost>

Ahora reiniciamos Apache con:

#apache2ctl restart

Si volvemos a introducir nuestra IP fija en un navegador veremos algo así:

apache01

Imaginemos ahora que queremos proteger mediante contraseña el acceso al directorio restringido que tenemos en /home/usuarioweb/www/restringido.

Para proteger el acceso a un directorio del servidor web mediante contraseña, primero creamos el archivo que contendrá los usuarios y las passwords.

# htpasswd -cm /home/usuarioweb/.htpasswd nombreusuario

Como vemos “.htpasswd” es el nombre que le he dado yo al archivo de claves. Puede llamarse de cualquier otra forma (recomendado si no hay más remedio que ubicarlo en la carpeta pública).

La opción -cm nos permite crear el fichero de claves. Lo usaremos la primera vez y, en sucesivas ocasiones, no será necesario. Una vez creado el fichero, ejecutaremos el comando sin el parámetro -cm:

# htpasswd /home/usuarioweb/.htpasswd nombreusuario2

Cada vez que creemos un usuario, htpasswd nos preguntará qué contraseña queremos asignarle.

El fichero de claves esté fuera de los directorios públicos del servidor web. De este modo, eliminamos la posibilidad de que sea descargado.

Por otra parte, limitaremos los permisos en el sistema para que el fichero .htpasswd sólo pueda ser leido por el usuario www-data (creado para el servidor web).

# chown www-data:www-data /home/usuarioweb/.htpasswd

#chmod 0660 /home/usuarioweb/.htpasswd

Una vez hecho todo ésto, nos situamos dentro del directorio a proteger (/home/usuarioweb/www/restringido) y creamos un fichero .htaccess con el siguiente contenido:

AuthName “Debe registrarse para poder acceder a este directorio”

AuthType Basic

AuthUserFile /home/usuarioweb/.htpasswd

Require valid-user

Y ya para terminar, hacemos que apache2 lea el fichero .htaccess que hemos creado en el directorio /home/usuarioweb/www/restringido, modificando el siguiente contenido al fichero /etc/apache2/sites-available/default:

Cambiar: AllowOverride None

Por: AllowOverride AuthConfig

Por supuesto, después recargaríamos la configuración de apache2:

# /etc/init.d/apache2 restart

Para acceder a la carpeta introducimos en nuestro navegador http//:192.168.X.XXX/restringido, donde 192.168.X.XXX es la ip del servidor. Veremos cómo nos pide un usuario y contraseña para acceder a ella.

ALGUNAS CURIOSIDADES MÁS DE APACHE2:

Deshabilitar el listado del contenido de directorios.

Si queremos evitar que los visitantes de nuestra web vean el contenido de cualquier directorio del sitio no tenemos más que especificar la opción Options -Indexes en el directorio principal (/home/usuarioweb/www/) definido en /etc/apache2/sites-available/default.

<Directory /home/usuarioweb/www/>
Options -Indexes
AllowOverride None
Order allow,deny
allow from all
</Directory>


Ahora bien, si lo que queremos es permitir que se listen los contenidos, salvo los de un directorio en concreto, podemos dejar la siguiente configuración en /etc/apache2/sites-available/default para permitir los listados:

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

Y crear un fichero .htaccess en el directorio que queramos evitar listar. Imaginemos que no queremos que se liste el contenido del directorio privado que tenemos en /home/usuarioweb/www/restringido. Nos movemos al directorio y creamos un fichero .htaccess con el siguiente contenido:

Options -Indexes

Control de acceso a carpetas.

Si queremos, podemos deshabilitar totalmente el acceso a una carpeta, de tal forma que podremos acceder a los archivos mediante el sistema de archivos, pero no se podrán acceder a ellos vía web.

Para denegar el acceso vía web a una carpeta, para todo el mundo, creamos un archivo .htaccess en esa carpeta que contenga:

#Denegar el acceso a todos
deny from all

Si queremos denegar el acceso a todos, permitiéndolo tan sólo desde una IP específica, creamos un archivo .htaccess en esa carpeta que contenga:

#Denegar el acceso a todos
deny from all
# Permitir el acceso al equipo con IP 10.0.0.1
allow from 10.0.0.1

Y si queremos permitir tan sólo el acceso a un rango específico de IPs , creamos un archivo .htaccess en la carpeta que contenga las siguientes líneas:

deny from all
allow from 192.168.0.0/24

Instalación de Debian Lenny y Openbox -Parte V-

6.-SONIDO

Para el sonido usaremos ALSA (Advanced Linux Sound Architecture). La instación se reduce a lo siguiente:

#apt-get install alsa-source alsa-base alsa-oss alsa-utils alsamixergui gnome-alsamixer

Para configurarlo solo tenemos que teclear en consola

#alsaconf

Aparecerá entonces una guía de configuración.

7.-INTERNET

IceWeasel es el nombre de un proyecto derivado de Mozilla Firefox, una compilación renombrada, preparada por Debian, para resolver la demanda hecha por Mozilla que los obligaba a dejar de utilizar el nombre o acogerse a sus términos, los cuales son inaceptables dentro de las políticas de Debian. Previamente también fue el nombre de un proyecto independiente rebautizado como IceCat un proyecto GNU para suministrar versiones de programas de Mozilla constituidos, en su totalidad, de software libre. Para instalarlo:

#apt-get install iceweasel iceweasel-l10n-es-es

También podemos instalar el cliente torrent transmission:

#apt-get install transmission

Y el famoso pidgin:

#apt-get install pidgin

Gnash es un proyecto para crear una alternativa basada en el software libre de Adobe Flash Player, el reproductor más popular del formato multimedia Adobe Flash. Para instalarlo no tenemos más que hacer:

#apt-get install gnash

8.-GRÁFICOS

¿Cómo no instalar también el famoso GIMP?

#apt-get install gimp

Para visualizar fotos nada mejor que Mirage:

#apt-get install mirage

Y para tomar una imagen de nuestro escritotio:

#apt-get install scrot

Para tomar la instantánea ahora…

$scrot ‘%Y-%m-%d–%s_$wx$h_scrot.png’ -e ‘mv $f ~/.wallpapers/ & mirage ~/.wallpapers/$f’

En 5 segundos…

$scrot -d 5 ‘%Y-%m-%d–%s_$wx$h_scrot.png’ -e ‘mv $f ~/.wallpapers/ & mirage ~/.wallpapers/$f’

Y en 10 segundos…

$scrot -d 10 ‘%Y-%m-%d–%s_$wx$h_scrot.png’ -e ‘mv $f ~/.wallpapers/ & mirage ~/.wallpapers/$f’

Como podeis intuir estamos definiendo en primer lugar el tiempo de espera, después el nombre y formato de la imagen, luego el punto de guardado y por último, le decimos que la abra con mirage.

9.-OFICINA

Ademas del imprescindible openoffice

#apt-get install openoffice.org

podemos instalar Evince como visor PDF:

#apt-get install evince

y Speedcrunch como calculadora científica:

#apt-get install speedcrunch

10.-SONIDO-VIDEO

¿Por qué no instalar Totem?

#apt-get install totem totem-xine

y como reproductor de música Exaile:

#apt-get install exaile

11.-CODECS

Para instalar los códecs necesarios para reproducir nuestros archivos multimedia tendremos que teclear:

#nano /etc/apt/sources.list

y añadir a nuestra lista de repositorios lo siguiente:

#Repositorios Multimedia
deb http://www.debian-multimedia.org/ lenny main
deb-src http://www.debian-multimedia.org/ lenny main


Montaje de un Servidor Ciego con Debian Lenny (3.-Acceso Remoto con SSH)

SSH (Secure SHell) es una forma segura con la que vamos a poder conectarnos a nuestro servidor de manera remota. Podremos conectarnos a el por nuestra red siendo de manera local o desde Internet. De momento nos conformaremos con poder entrar desde otro PC que tengamos en nuestra red ya que todavía no os he explicado como vamos a localizar nuestro servidor desde Internet, todo se andará.

Arrancamos nuestro servidor, nos logeamos como root e instalamos el programa:

#apt-get install ssh

Reiniciamos el servidor:

#reboot

Una vez tengamos reiniciada la maquina vamos a conectarnos a ella desde otro ordenador de nuestra red. Para los que tenemos Linux nos va a ser fácil conectarnos ya que no tenemos que instalar ningún programa ( los Terminales vienen de serie en Linux ) así que abrimos una terminal y ejecutamos …

#ssh root@192.168.0.XXX

Donde root es el usuario y 192.168.0.XXX es la dirección ip fija del servidor. Obtendremos algo así:

estacionuno:~# ssh root@192.168.0.XXX

The authenticity of host ‘192.168.0.XXX (192.168.0.XXX)’ can’t be established.

RSA key fingerprint is ab:86:d1:0b:d6:5d:01:68:1c:d5:ac:11:89:68:13:52.

Are you sure you want to continue connecting (yes/no)?

El sistema Secure SHell genera una llave de autentificación y si nos equivocamos el sistema nos beta para no dejarnos pasar mas. Esta es una de las medidas de seguridad que nos ofrece este programa.

Le indicamos yes

estacionuno:~# ssh root@192.168.0.XXX

The authenticity of host ‘192.168.0.XXX (192.168.0.XXX)’ can’t be established.

RSA key fingerprint is ab:86:d1:0b:d6:5d:01:68:1c:d5:ac:11:89:68:13:52.

Are you sure you want to continue connecting (yes/no)?

Warning: Permanently added ‘192.168.0.XXX’ (RSA) to the list of known hosts.

root@192.168.0.XXX’s password:

Linux estacioncentral 2.6.26-2-686 #1 SMP Thu Mar 26 01:08:11 UTC 2009 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.

Last login: Sun Apr 26 12:11:06 2009

estacioncentral:~#

Como podéis ver ya estamos dentro de nuestro servidor desde un terminal en nuestro ordenador que usamos habitualmente. Con esto hemos conseguido poder abrirnos una puerta para poder entrar en nuestro servidor bajo modo local y mas adelante veremos como conectarnos a él desde Internet.

Para conectarnos como usuario: ssh usuario@ipdelservidor

UN POCO DE SEGURIDAD CON SSH

Un equipo conectado a internet siempre está expuesto a correr el riesgo de recibir ataques pero podemos disminuirlos de forma descomunal con una buena configuración. Esto implica modificar la mayoría de parámetros por defecto del fichero de configuración con la finalidad de reducir al máximo la posibilidad de que alguien vulnere o consiga el acceso a nuestro sistema sin consentimiento. En caso de no realizar estas modificaciones le estaríamos dando al atacante una gran parte del acertijo que debe resolver para acceder a nuesto equipo.

Lo primero que debemos hacer para poder realizar los cambios es conectarnos al servidor mediante ssh. Podríamos hacerlo de dos formas:

  1. Usando la ip privada estática de nuestra red:
  • Utilizando el usuario root:
    ssh root@192.168.0.xxx -p 22
  • Utilizando el usuario que definimos durante la instalación:
    ssh user@192.168.0.xxx -p 22
  1. Usando nuestra ip pública (normalmente dinámica):
  • Utilizando el usuario root :
    ssh root@xxx.xxx.xxx.xxx -p 22
  • Utilizando el usuario que definimos durante la instalación:
    ssh user@xxx.xxx.xxx.xxx -p 22

El acceso a ssh con el usuario root desde el puerto 22 viene por defecto y por lo tanto es algo que debemos modificar de tal forma que siempre accederemos al servidor con el usuario que creamos durante la instalación del sistema operativo y, una vez dentro, ya accederemos como root para poder realizar cambios.

Una vez dentro, en caso de haver accedido con el usuario que no es root, ejecutamos el siguiente comando para obtener los permisos de éste último:

su

Ahora, abrimos el fichero de configuración de ssh con un editor de texto (yo uso el nano):

nano /etc/ssh/sshd_config

Modificamos el puerto desde el cual accedemos al servidor. Para ello, buscamos la siguiente linea

Port 22

y modificamos el numero del puerto (si queremos, lo podemos modificar por otro):

Port 754

Importante!! Para acceder desde internet, debemos abrir este puerto en el router (el protocolo TCP) para nuestra ip privada (192.168.x.xxx) del servidor. -Ver más adelante-

Buscamos la linea siguiente:

PermitRootLogin yes

La substituimos por lo siguiente para evitar el acceso con el usuario root

PermitRootLogin no

Añadimos lo siguiente al final del fichero:

MaxAuthTries 3MaxStartups 3

MaxAuthTries 3 hace que se cierre la conexión tras 3 intentos fallidos ingresando la contraseña. Tras estos 3 intentos, se puede volver a intentar conectando de nuevo.

MaxStartups 1 limita a 1 el número de pantallas de login simultáneas por ip que podemos tener abiertas para acceder con un usuario. Esto no impide que no podamos tener varias sesiones simultáneas abiertas.

Guardamos los cambios pulsando “ctrl + x” y “S” a contnuación.

Ahora debemos reiniciar el servidor ssh para que los cambios surjan efecto:

/etc/init.d/ssh restart

Ahora, sin cerrar la sesión de ssh, abrimos una nueva consola y volvemos a acceder al servidor con los mismos datos que antes.

ssh root@192.168.0.xxx -p 22

¿Qué observamos?
Observamos que no se nos permite conectarnos ya que no tenemos acceso desde el puerto 22.
Veamos si nos lo permite en el puerto que hemos definido:

ssh root@192.168.0.xxx -p 754

Observamos que ahora si que conecta y nos pide la contraseña. La insertamos y observaremos que nos apracere el mensaje “Permission denied, please try again.”. Esto es porque el usuario root no tiene permisos para acceder.
Ahora solo nos falta por ver que podemos acceder con el usuario que hemos definido antes:

ssh user@192.168.0.xxx -p 754

Observamos que si hemos podido entrar.

¿Por qué hacemos todas estas verificaciones?

Al no cerrar la primera sesión ssh, verificamos que no tengamos ningún problema para acceder al servidor tras hacer los cambios. Nos podríamos encontrar por ejemplo, en el caso de que el servidor estuviera en una red desconocida, que entre nuestro servidor e internet hay un firewall que no nos permite el acceso al servidor por el puerto que definimos o bien que el puerto que hemos puesto no se encuentre abierto.
Es entonces cuando debemos volver a dejar la conexión en el puerto 22, reiniciar ssh y ver si funciona correctamente mediante una nueva consola.

Una vez comprobado que los camios han surgido con éxito, para tener permisos root o para poder realizar cambios sobre el servidor, simplemente tenemos que escribir lo siguiente en consola:

Su

Ahora se nos pide la contraseña de root. La introducimos y ya tendremos permiso para realizar cualquier cambio en el servidor.

Utilidades Debian: Unir Dos Ficheros .AVI

A veces cuando nos descargamos una película viene en dos ficheros y querríamos tenerlo en uno solo. Para ello renombramos los dos ficheros como fragmento1.avi y fragmento2.avi y:

1.-Concatenamos los dos ficheros con el comando cat

$ cp fragmento1.avi peli.avi

$ cat fragmento2.avi >>peli.avi

2.-Recodificamos el fichero usando mencoder

$ mencoder -forceidx -oac copy -ovc copy peli.avi -o peliBuena.avi

Montaje de un Servidor Ciego con Debian Lenny (2.-Configurar una IP Estática)

Los que usamos router a traveś de DHCP, tendremos asignada una ip dinámica. Para poder configurar determinados puertos al servidor necesitamos obtener una ip estática. Para ello, nos logeamos como root y:

#ifconfig

Obtenemos algo así:

eth0 Link encap:Ethernet HWaddr 00:1d:60:5e:8d:65

inet addr:192.168.0.158 Bcast:192.168.0.255 Mask:255.255.255.0

inet6 addr: fe80::21d:60ff:fe5e:8d65/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:36533 errors:0 dropped:0 overruns:0 frame:0

TX packets:34704 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:21752140 (20.7 MiB) TX bytes:3512881 (3.3 MiB)

Interrupt:17

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:12 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:800 (800.0 B) TX bytes:800 (800.0 B)

Podemos observar que el router nos asigna una ip dinámica de 192.168.0.158 (en mi caso), por lo que ya sabemos que el rango de la ip estática deberá ser 192.168.0.XXX, o lo que es lo mismo, el grupo de trabajo o network será 192.168.0.0. De aquí podemos obtener además la máscara de subred o netmask que en mi caso es 255.255.255.0.

#route

Obtenemos algo así:

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

De aquí obtenemos la puerta de entace o gateway, que no es otra cosa que la ip del router. En mi caso es 192.168.0.1.

Además necesitaremos los nameserver o servidores de nombre DNS que deben ser proporcionados por la compañía de suministro. Los DNS suelen ser asignados en /etc/resolv.conf, de no adquirirlos automaticamente, hay que agregarlos en dicho archivo de las siguiente forma:

#nano /etc/resolv.conf

Obtenemos algo así:

nameserver 89.29.160.2

nameserver 192.168.0.1

Una vez tengamos estos datos, procederemos a modificar el archivo interfaces no sin antes generar una copia por si las moscas…

#cp /etc/network/interfaces /etc/network/interfacesOK

Luego lo editamos:

#nano /etc/network/interfaces

Obtenemos algo 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

allow-hotplug eth0

iface eth0 inet dhcp

Como se puede observar está configurado para DHCP. Tendremos que coger los anteriores datos obtenidos y modificar el archivo dejándolo de una manera parecida a esto:

# 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.0.XXX # IP del Servidor

netmask 255.255.255.0 # Máscara de Subred

network 192.168.0.0 # Grupo de Trabajo

broadcast 192.168.0.255 # Bcast

gateway 192.168.0.1 # IP del Router

Como se puede apreciar, en mi caso, asigné al servidor la ip 192.168.0.XXX, donde XXX debe ser un número cualquiera distinto a los usados ya por algún otro terminal de la red. Guardamos y salimos. Ahora reiniciamos:

#reboot

Comprobamos que al servidor se le ha asignado la ip estática que definimos:

#ifconfig

eth0 Link encap:Ethernet HWaddr 00:1d:60:5e:8d:65

inet addr:192.168.0.XXX Bcast:192.168.0.255 Mask:255.255.255.0

inet6 addr: fe80::21d:60ff:fe5e:8d65/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:36533 errors:0 dropped:0 overruns:0 frame:0

TX packets:34704 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:21752140 (20.7 MiB) TX bytes:3512881 (3.3 MiB)

Interrupt:17

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:12 errors:0 dropped:0 overruns:0 frame:0

TX packets:12 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:800 (800.0 B) TX bytes:800 (800.0 B)

Vemos que se le ha asignado la ip estática definida en el archivo “interfaces”. Ahora ya tenemos el servidor configurado con una ip fija.

Antes de continuar editaremos el archivo “hosts” para pulir el nombre que por defecto sale en la instalación, tras asignar el nombre de la máquina el mismo que el del dominio.

#nano /etc/hosts

Obtenemos lo siguiente:

127.0.0.1 localhost

127.0.1.1 ejemplo.ejemplo.no-ip.info ejemplo

# The following lines are desirable for IPv6 capable hosts

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

Como podemos apreciar el nombre sale repetido. No es un tema importante pero sí algo que por estética debemos pulir, ya que luego, en las estadísticas por ejemplo, nos apareceré este nombre. Así pués, el archivo modificado debe quedar:

127.0.0.1 localhost

127.0.1.1 ejemplo.no-ip.info ejemplo

# The following lines are desirable for IPv6 capable hosts

::1 localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

Montaje de un Servidor Ciego con Debian Lenny (1.-Instalación de Debian 5 Lenny)

Para la instalación no entraré mucho en profundidad por estimar que alguien que vaya a montar un servidor con debian, por lo menos tendrá algo de experiencia instalándolo. Si no es el caso, siempre se puede recurrir a FORAT como apunté anteriormente.

Lo primero será descargarnos la imagen .iso del CD de instalación de Debian 5 Lenny NETINST desde la página oficial. Luego tendremos que grabarla en un CD (para los ya aventurados en linux esto ya es consabido).

En la instalación deberemos introducir los datos correspondientes al Idioma, País, Distribución de teclado, red, particiones y lo que queremos que se instale. También nos pedirá el “Hostname” o nombre de la máquina, para lo cual vamos a poner “ejemplo” en nuestro caso, o como queramos. Luego nos pide el “domain” o dominio, introduciendo “ejemplo.no-ip.info“.

Tendremos que definir la contraseña de root, un usuario que en mi caso llamaré “usuarioservidor” y la contraseña del usuario, y después llegaremos al momento en que tendremos que definir de entre una lista de elementos, lo que queremos que instale. Como siempre, en nuestro caso tan solo seleccionaremos:

[*]Sistema estándar

standard

Después instala el GUB, esperamos que descargue los archivos de los repositorios, realice el resto de la instalación y reinicie para encontrarnos en una tremenda consola.

Actualizamos el sistema:

#apt-get update

#apt-get upgrade

Instalamos ntp para sincronizar la hora:

#apt-get install ntp

Y con eso tendremos el sistema a punto.

Montaje de un Servidor Ciego con Debian Lenny

Hace mucho tiempo que llevo trabajando en él y hoy al fin decidí compartir mis desventuras sobre cómo montar un servidor ciego. El manual estará basado casi todo en la magnífica guía para la instalación de un Servidor Web de FORAT. Desde aquí quisiera mostrarle mi infinita gratitud por conseguir que personas con conocimientos tan limitados como los míos podamos haber logrado montar un servidor propio. Hace tan solo unos meses jamás podría haber imaginado que montar un servidor fuera a reportarme una de las experiencias informáticas más confortables  y apasionantes.

¿Por qué FORAT? Bueno, siendo objetivos hay que apuntar que la gran diferencia que encontramos en los manuales de FORAT respecto a otros muchos es su maravillosa paciencia para explicar todo desde cero. Es decir, que con estos manuales no sólo encontramos una guía de haga esto y luego esto y obtendrá esto, sino que cualquier paso es explicado detalladamente con una claridad abrumadora. Todo tiene un por qué y luego un como, y en mi opinión, para la gente como yo que andamos bastante escasos de conocimientos de informática y de redes pues es de agradecer. Así es como en realidad se aprende. Si no sabes qué estas haciendo, puedes lograrlo pero en unos días se te habrá olvidado y será como si hubieses perdido el tiempo.

El manual se estructura en 16 apartados, a través de los cuales conseguiremos montar un Servidor Ciego con Debian Lenny, que nos permitirá darle varios usos, desde servidor de archivos para nuestra red privada hasta servidor web. Muchos apartados los he copiado (no se me alteren) directamente de FORAT por considerarlos inmejorables, acomodando tan solo la instalación y la configuración a debian 5 (puesto que el suyo está realizado con debian 4), otros los he modificado bajo mi modesta experiencia. También he ampliado conocimientos en algunos apartados más con documentación recabada en la red, desde aclaraciones hasta curiosidades. La relación final de publicaciones será:

1.-INSTALACIÓN DEBIAN 5 LENNY

2.-CONFIGURAR UNA IP ESTÁTICA

3.-ACCESO REMOTO CON SSH

4.-APACHE WEB SERVER

5.-REDIRECCIONAMIENTO DNS CON NO-IP

6.-ABRIENDO PUERTOS EN EL ROUTER

7.-FTP CON PROFTPD

8.-SOPORTE PARA PHP

9.-BASE DE DATOS MYSQL

10.-INFORMACIÓN DEL SISTEMA CON PHPSYSINFO

11.-ESTADÍSTICAS WEB CON AWSTATS

12.-ENCENDIDO REMOTO CON WAKE ON LAN

13.-SERVIDOR DE ARCHIVOS NFS

14.-SEGURIDAD CON FAIL2BAN

15.-SERVIDOR DNS CON BIND9

16.-INSTALACIÓN DE TORRENTFLUX

Por supuesto que cualquier anotación o comentario en este manual será bienvenido, tanto para posibles errores como para aclaraciones de aspectos no explicados correctamente y que podrían ayudar a alguien más. La finalidad es la misma: aprender. Por eso otra opción muy válida es recurrir al manual original de FORAT cuando algo no quede muy claro, puesto que allí además de poder comparar, existe un amplio abanico de comentarios de los que conseguí aclarar algunas cuestiones oscuras de la instalación. Tal vez esto pueda servir a alguien más. Que aproveche.

Instalación de Debian Lenny y Openbox -Parte IV-

4.-ELEMENTOS BÁSICOS

Un buen gestor de archivos es Thunar. Tiene facilidad de uso, accesibilidad y además posee un alto rendimiento. Mucho más liviano en cualquier caso que Nautilus. Para instalarlo:

#apt-get install thunar

Para los que gusten de tener el control de paquetes desde un entorno gáfico, pueden instalar Synaptic:

#apt-get install synaptic

Siempre es bueno disponer de un editor de particiones. Gparted es usado para crear, eliminar, redimensionar, inspeccionar y copiar particiones, como también sistemas de archivos. Es útil para crear espacio para nuevos sistemas operativos, reorganizar el uso del disco y crear imágenes de un disco en una partición.

#apt-get install gparted

Entre todas las aplicaciones existentes para lanzar la consola me quedo con gnome-terminal.

#apt-get install gnome-terminal

¿Cómo no disponer de aplicaciones para comrpimir-descomprimir?

#apt-get install rar unrar zip unzip

No nos olvidemos tampoco de Gdebi. Es una herramienta que puede instalar paquetes .deb (no solo está disponible con una interfaz gráfica, sino que también tiene una opción de línea de comandos).

#apt-get install gdebi libcurl3

Editor de textos…

#apt-get install gedit

Y lanzador de aplicaciones. Grun es perfecto y muy veloz:

#apt-get install grun

5.-PREFERENCIAS

Es hora de ir pensando en darle un poco de personalidad al escritorio. Para ello además de obconf que gestiona la apariencia y demás de nuestro querido openbox es necesario configurar el tema GTK y los iconos. Para ello utilizaremos lxappearance, cómodo, sencillo y sin rinbombancias: justo lo que necesitamos:

#apt-get install lxappearance

Si queremos instalar determinados temas GTK tendremos que ver la ingeniería que emplean. Por ejemplo los temas minimalistas como Dyne y Fawn emplean murrine y pixbuf. Por lo tanto:

#apt-get install gtk2-engines-murrine gtk2-engines-pixbuf

Nitrogen es un muy buen servidor de fondos de pantalla. Ligero y sencillo.

#apt-get install nitrogen

Para que se inicie en cada arranque tendremos que añadir en el archivo autostart.sh (ruta /home/usuario/.config/openbox) lo siguiente.

#Fondo de Pantalla
nitrogen –restore &

Para evitar además que cuando usemos root nos aparezca un tema diferente, tendremos que generar unos enlaces simbólicos de las carpetas de nuestro home .themes .icons y .fonts en la carpeta /root. Para ello:

#ln -s /home/usuario/.theme  /root/.theme

#ln -s /home/usuario/.icons  /root/.icons

#ln -s /home/usuario/.fonts  /root/.fonts

Ahora deberemos lanzar lxappearance como root y seleccionar los mismos temas, iconos y fuentes que estemos utilizando nosotros. Los temas que yo empleo los podeis obtener en www.gnome-look.org y en www.box-look.org. Los iconos creo que también, aunque os dejo aquí los modificados para el tema Dyne.

Y para finalizar, algo que considero imprescindible y que a pesar de haberlo incluido en apartado de preferencias debería haberlo incluido en el de elementos básicos. No es otra cosa que el maravillo conky. Aplicación para monitorizar el estado de nuestro sistema. Altamente configurable (hasta límites insospechados) yo me conformo con su sencillez. Con él podermos ver el estado de nuestra cpu, memoria, discos duros, descargas..etc y todo en el mismo fondo de pantalla. Para instalarlo:

#apt-get install conky

Instalación de Debian Lenny y Openbox -Parte III-

3.-INSTALACIÓN DEL ENTORNO GRÁFICO

Antes de nada instalaremos NTP para sincronizar la hora. Para ello:

#apt-get install ntp

Ahora necesitaremos un entorno gráfico propiamente dicho, un gestor de ventanas (que en nuestro caso utilizaremos el ligero y minimalista openbox) y un gestor de entrada para logearnos.

#apt-get install xorg

#apt-get install openbox onconf obmenu openbox-themes

#apt-get install gdm

Una vez instalado todo reiniciamos y entonces nos encontraremos ante el gestor de acceso. Como todos imaginarán, tendremos que introducir el nombre de usuario y la contraseña. Segundos después nos despertaremos en un mundo despejado con un fondo de pantalla homogéneo… y nada más.

Openbox es un gestor de ventanas libre para el Sistema X Window, disponible bajo licencia GPL. En sus inicios derivaba de Blackbox 0.65, pero ha sido totalmente reescrito y desde la versión 3.0 ya no está basado en ninguna porción de código ajeno. Está diseñado para ser rápido y consumir una mínima cantidad de recursos. Para conseguir esa ligereza sacrifica algunas funciones típicas en buena parte de los gestores de ventanas como por ejemplo barra de menú, lista de aplicaciones en ejecución o bordes redondeados en las ventanas. Pero a cambio ofrece otras posibilidades tales como menús generados dinámicamente capaces de ofrecer información variada.

Para los que no andan acostrumbrados, openbox es algo diferente a lo usual: no hay panel (aunque se puede instalar uno como pypanel). Todo se dirime con un menu desplegable que aparece cada vez que pinchamos con el botón derecho del ratón en cualquier punto del escritorio. Al principio es raro, sin embargo con el tiempo se hace muy cómodo.

La configuración con la que viene por defecto openbox es muy básica. Por lo tanto tendremos que modificarla a nuestro gusto y antojo. Al abrir el menu que viene por defecto podemos cargar un terminal. Tecleando obconf se nos abrirá un menú desde donde podremos configurar la apariencia, los temas y el comportamiento de las ventanas (además de otras muchas cosas). Si en el mismo terminal tecleamos obmenu se nos mostrará una ventana desde donde podremos configurar el menu que viene por defecto en openbox.

Para los que deseen indagar más sobre cómo configurar los menús de openbox, existe al respecto una gran documentación en la web. No es complicado. Pero para los que quieran, dejo mi archivo de configuración de obmenu aquí. Sobre este archivo podreis modificar lo que necesiteis e ir acomodándolo a vuestra configuración.