Archivo de etiquetas de 'linux'

Pag 3 de 4

Forat Cumple Hoy 3 Años

FORAT, el enorme blog sobre linux e informática cumple hoy 3 años. Desde aquí quiero mostrarle mi reconocimiento a su trabajo.

Para todos aquellos que no lo conozcan: no duden en visitarlo, les aseguro que no saldrán defraudados.

Montaje de un servidor Ciego con Debian Lenny (5.-Redireccionamiento DNS con No-IP)

Para los que tenemos una ADSL normalita solemos tener por defecto IP dinámica y con ello un problema a la hora de localizar nuestro Router ADSL desde Internet.
De este modo nos va a ser imposible localizar nuestro Servidor Web desde Internet ya que cada cierto tiempo va cambiando nuestra dirección IP. Para poder localizar lo vamos a usar el servicio gratuito de redireccionamiento de DNS que nos ofrece la empresa No-IP.
De lo que se trata es de darnos de alta en la web de No-IP y elegir un dominio. Los que habéis seguido estos manuales al pie de la letra seguro que os suena la dirección: ejemplo.no-ip.info
Lo que vamos a registrar es un dominio.no-ip.info y en dominio pondremos el nombre de nuestro servidor. Una vez registremos el dominio instalaremos un programa en nuestro servidor que se encargara de mandar un ping cada 30 minutos para que cada vez que nos cambie nuestra IP sea relacionada con el dominio que registremos.
Esta es una manera eficaz de localizar tu Servidor Web hospedado en casa detrás de tu Router ADSL. Una vez explicado que es y para que sirve el servicio de No-IP vamos a proceder con la instalación. Abrimos un navegador e insertamos la dirección http://www.no-ip.com/ para registrarnos.
Lo primero que tenemos que hacer es crear una cuenta. Para ello clickamos en Create Ancount.

noip-1
Tendremos que rellenar un formulario con nuestros datos. Una vez aceptado, nos mandarán un email al correo indicado. Tendremos que entrar en nuestro correo y activar desde allí la cuenta.

noip-2
Una vez hecho esto, nos logeamos y accedemos al panel de control. Allí deberemos seleccionar Add a Host. Como podreis observar, una vez logeados www.no-ip.com detectará nuetra ip pública y nos la mostrará.

noip-3
Aquí es donde tendremos que introducir el nombre de nuetra máquina y seleccionar el subdominio no-ip.info (cualquier otro con el que hayamos configurado nuestro servidor), debiendo quedar algo así como ejemplo.no-ip.info.

noip-4
Al final tendremos en nuestra cuenta la dirección redireccionada.

noip-5
Ahora instalaremos el software cliente No-IP para que mande los pings a nuestro ejemplo.no-ip.info

#apt-get install noip2

Durante la instalación nos preguntará algunos datos:

Nombre de usuario de No-IP.com: dirección email con la que registramos la cuenta
Contraseña de No-IP.com: contraseña de acceso a la cuenta
Intervalo de actualización (en minutos): 30
Lista de Máquinas o Grupos: dejar en blanco
Nombre del dispositivo de red: el nombre del dispositivo de red conectado a internet (eth0, eth1,…)
¿Desea desactivar la Traducción de Dirección de Red “NAT”?: No

Ya tenemos configurado nuestro cliente No-IP que irá mandando pings cada 30 minutos con nuestra IP para que nuestro dominio (ejemplo.no-ip.info) siempre sea relacionado con nuestra IP actual.
De momento no podréis ver el contenido de vuestro servidor web desde el exterior ya que todavía no hemos abierto los puertos en el Router para redireccionarlos hacia el servicio deseado.
Vamos a tener que abrir un par de puertos en nuestro Router para poder operar desde Internet con nuestro servidor.

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.