martes, 26 de octubre de 2010

Como instalar un servidor FTP en Debian Parte 1

Para transferir archivos entre ordenadores es muy común hacer uso de una llave USB sin embargo el tiempo que implica el copiado del archivo de la "pc local" a la memoria y luego de esta  a la "pc remota" es significativo si nos encontramos moviendo una gran cantidad de archivos que exceden el tamaño de almacenamiento de la memoria por lo tanto podemos hacer uso del nuestra red local para la transferencia de archivos de gran tamaño  o para grandes cantidades de archivos, de manera rapida y sencilla  entre estaciones, para esto utilizaremos el "Protocolo de Transferencia de Archivos FTP"

Necesitaremos instalar un demonio que se encontrara corriendo en nuestra PC para ello en nuestra distribución basada en Debian (Ubuntu Mint o el mismo Debian) escribimos en la consola de comando 

debianY:~# apt-get install vsftpd

Confirmamos y de esta forma instalamos el servicio de ftp en nuestra pc esto abrira algunos puertos como el 21 para la transferencia de archivos por medio de este protocolo

al finalizar se mostrara un mensaje que indique que se ha inicializado el demonio
Starting FTP server: vsftpd.

Luego tendremos que modificar el archivo de configuración del servidor para garantizar que sea posible el ingreso a personas anonimas ya que podria implicar un riesgo de seguridad para esto abriremos el archivo de configuración de vsftpd

debianY:~# gedit /etc/vsftpd.conf 

Es posible modificar dicho archivo según las necesidades, realizaremos una configuración estandar de seguridad  en la cual unicamente permitiremos el acceso a los usuarios del sistema siendo estos limitados a sus  respectivos directorios personales es decir a su propia carpeta Home


En primer lugar garantizamos la existencia de la siguiente linea:
listen=YES

La entrada:
anonymous_enable=YES
la cambiaremos para que diga:
anonymous_enable=NO

Con esto garantizamos que la entrada anonima esta bloqueada en nuestro servidor
Ahora debemos permitir el acceso a los usuarios del sistema para ello descomentamos la siguiente linea
#local_enable=YES
La linea descomentada debe quedar asi:
local_enable=YES

Si deseamos que los usuarios puedan guardar archivos y subir archivos al servidor debemos descomentar la linea:
#write_enable=YES
para que quede de esta forma:
# Uncomment this to enable any form of FTP write command.
write_enable=YES

Algunas lineas que no he mencionado las dejaremos sin cambios si se encuentran comentadas o con sus valores por defecto 


Para restringir a los usuarios a sus carpetas personales es decir para impedir que estos puedan acceder a las carpetas del sistema descomentamos la siguiente linea:
#chroot_local_user=YES
para que quede de la siguiente manera:
chroot_local_user=YES

Es posible especificar una lista de que usuarios serán restringidos a su carpeta home si chroot_local_user se encuentra en YES para esto descomentamos la siguiente linea
#chroot_list_enable=YES
para que quede de la siguiente manera:
chroot_list_enable=YES

Podemos especificar  el archivo de lista donde se escribiran los nombres de los usuarios limitados a su carpeta descomentando la siguiente linea para que quede de esta forma:
chroot_list_file=/etc/vsftpd.chroot_list

Crearemos el archivo /etc/vsftpd.chroot_list y en el escribiremos de forma vertical los nombres de los usuarios en mi caso lo hare para los usuarios cdcobos, cdlogic y logic

Contenido de /etc/vsftpd.chroot_list

debianY:~# cat /etc/vsftpd.chroot_list 
cdcobos
cdlogic
logic

Una vez terminado procedemos a reiniciar el demonio de Ftp por medio del comando

debianY:~# /etc/init.d/vsftpd restart
Restarting FTP server: vsftpd

Y probamos acceder al servicio de ftp por medio del navegador web escribiendo en la barra de busqueda algo como esto:

ftp://10.0.19.202

Nos pedirá un usuario y contraseña podemos ingresar con cualquiera de los que hayamos definido en el archivo chroot_list siempre y cuando este exista en el sistema

A continuación algunas capturas del acceso al ftp via navegador web










martes, 19 de octubre de 2010

Chequeo del disco de rutina en Debian Lenny

Por defecto tras la instalación del Sistema Operativo Debian Lenny este se encarga de realizar algunos chequeos de rutina  para garantizar que nuestra PC se encuentre saludable en cuanto al  hardware con el que contamos pero en algunas ocasiones el chequeo del disco duro tiende a ser un poco molesto asi que es posible modificar los parametros de esta revisión de acorde a nuestras necesidades:

Podemos ejecutar como super usuario el comando:


debianY:~# fdisk -l

Disco /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x80d2f3ee

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1               1       16540   132857518+   5  Extendida
/dev/sda2   *       16541       16553      102400    7  HPFS/NTFS
/dev/sda3           16553       19075    20257792    7  HPFS/NTFS
/dev/sda5               1        2437    19575139+  83  Linux
/dev/sda6            2438        4989    20498908+  83  Linux
/dev/sda7            4990        7421    19535008+  83  Linux
/dev/sda8            7422       16053    69336508+  83  Linux
/dev/sda9           16054       16540     3911796   82  Linux swap / Solaris




Aca podremos ver información relacionada a las particiones de mi disco duro el dispositivo se espicifica a travez de la ruta /dev/sda  y contiene un numero que especifica el numero de partición, los numeros del 1 al 4 son para particiones primarias y los numeros a  partir del 5 son para unidades extendidas se especifica otra información como el sistema de archivos entonces de aca podemos tomar la información relacionada con nuestras particiones ahora para poder comprobar cual es nuestra partición root podemos ejecutar el comando 


debianY:~# mount
/dev/sda6 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda8 on /media/data type ext3 (rw)

Y nos muestra la información de cada dispositivo y como ha sido montado en mi caso puedes ver que la primera linea indica que la particion /dev/sda6 ha sido montada en / y es de tipo ext3 adicionalmente algunas opciones de montaje  entonces con esto identificamos que nuestro volumen "/" es el dispositivo /dev/sda6 entonces para cambiar la tasa de chequeo del volumen "/" ejecutaremos 

debianY:~# tune2fs -c 100 /dev/sda6
tune2fs 1.41.2 (02-Oct-2008)
Se pone la cuenta de montajes máxima a 100

Y con esto haremos que nuestro sistema chequee la partición root cada 100 montajes y de esta manera es posible modificar dicho parametro para las otras particiones a fin de optimizar el arranque y que no suceda tan amenudo este chequeo que aunque si bien es necesario aveces puede ser un tanto molesto

Por medio del simple comando:

debianY:~# tune2fs 
tune2fs 1.41.2 (02-Oct-2008)
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
        [-i interval[d|m|w]] [-j] [-J journal_options] [-l]
        [-m reserved_blocks_percent] [-o [^]mount_options[,...]] 
        [-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
        [-M last_mounted_dir] [-O [^]feature[,...]]
        [-E extended-option[,...]] [-T last_check_time] [-U UUID]
        [ -I new_inode_size ] device

Podemos ver las diferentes variantes del comando como por ejemplo al pasar el parametro -i podemos especificar el intervalo de chequeo en formado escribiendo cuantos dias meses y semanas deseemos dar  de espera entre chequeos del sistema de archivos

Tambien es posible ejecutar un listado de la configuración del chequeo de nuestra partición con el comando

debianY:~# tune2fs -l /dev/sda6
tune2fs 1.41.2 (02-Oct-2008)
Filesystem volume name:   debianY
Last mounted on:          <not available>
Filesystem UUID:          f3cc666b-4294-4740-a75e-d801a88fd510
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1283632
Block count:              5124727
Reserved block count:     256236
Free blocks:              434565
Free inodes:              1026985
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1022
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8176
Inode blocks per group:   511
Filesystem created:       Fri Feb  5 22:50:13 2010
Last mount time:          Tue Oct 19 09:08:22 2010
Last write time:          Tue Oct 19 09:51:16 2010
Mount count:              9
Maximum mount count:      100
Last checked:             Mon Oct 11 15:24:22 2010
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
First orphan inode:       1156675
Default directory hash:   half_md4
Directory Hash Seed:      e2df71e6-cdd0-42c7-959f-a8fe25b561e5
Journal backup:           inode blocks

Por ultimo es posible desactivar definiendo 0 segundos entre intervalos de revision de esta forma

debianY:~# tune2fs -i 0   /dev/sda6
tune2fs 1.41.2 (02-Oct-2008)
Se pone el intervalo entre revisiones en 0 segundos

lunes, 11 de octubre de 2010

Ejecución de Aplicaciones via SSH

Otra de las bondades de SSH es que este nos permite hacer un llamado al servidor grafico de la estación a la cual estamos accediendo via SSH y de esta manera ejecutar programas que aunque nos encontremos viendo la interfaz gráfica y de usuario en nuestra propia pantalla los procedimientos de ejecución estan siendo llevados acabo en la estación remota, este tipo de tecnica es util cuando contamos con una estación de recursos modestos y otra de grandes capacidades y poseemos una red de datos que las interconecta

ejecutamos una conexión en consola de SSH a un usuario determinado vale la pena mencionar que los programas que abramos contendran la información y personalizaciones configuración etc que poseen los programas en la configuración de la cuenta de usuario a la cual estamos accediendo, estableceremos la sessión SSH pasando como parametro la opción -X la cual nos permitira abrir un display para renderizar aplicaciónes graficas que se ejecutan en la terminal remota

Acontinuación se ejecuta una sessión SSH con X y luego se ejecutara el comando firefox el cual nos permitira abrir el navegador web que se encuentra en a estación remota


cdcobos@debianY:~$ ssh cdcobos@10.0.19.250 -X
cdcobos@10.0.19.250's password:
Linux debianx.udb.edu.sv 2.6.32-5-686 #1 SMP Sat Jul 24 02:27:10 UTC 2010 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.
You have mail.
Last login: Sat Oct  9 14:35:46 2010 from debiany.local
cdcobos@debianx:~$ firefox

Se muestra la pantalla del navegador web



Tambien podemos abrir programas especificos de gnome como el visor de procedimientos, donde observaremos el monitor de procesos de la estación remota nuevamente

cdcobos@debianx:~$ gnome-system-monitor 




Inclusive podemos abrir el panel de Gnome para poder ver la barra inferior y superior del entorno de escritorio de la estación remota  y desde aca lanzar cualquier programa de forma grafica 

cdcobos@debianx:~$ gnome-panel


Puedes ver la diferencia en el estilo del panel de Gnome que aparece cuando abrimos firefox que es el panel que tengo actualmente en esta PC y al abrirlo con el comando anterior  se muestra que es un tema distinto

Con esto termina esta saga de posts sobre SSH espero te haya sido de ayuda

Bondades de SSH

En el post anterior mencionamos la conectividad que se puede hacer para administración remota de equipos haciendo uso de SSH, ahora bien SSH nos brinda otras cualidades como la transferencia de archivos de gran volumen a travez de un protocolo seguro como lo es SCP



De manera grafica en el entorno de escritorio Gnome podemos acceder a una PC que cuente con el demonio openssh-server corriendo a través de la opción Lugares Conectar con el servidor esto nos desplegara una ventana  en la cual ingresaremos la información Tipo de Servicio seleccionaremos SSH, Servidor la dirección Ip de nuestra estación que cuente con el servicio de SSH activo en puerto ingresaremos el puerto de SSH usualmente este se configura en el puerto 22 carpeta una carpeta que exista en en contexto de la estación remota, usuario para ingresar será necesario validarse con un usuario que exista previamente a la conexión, y en nombre de la conexión se permitira escribir que nombre se le desea dar esto generara una carpeta en el escritorio el cual funcionara como una carpeta compartida entre ambas estaciones





Si nunca se ha establecido una conexión via ssh a este usuario apartir de la computadora en la que nos encontremos devolvera una alerta notificando que la identidad de dicha estación es desconocida presionamos el boton conectar de todas formas





Nos solicitara que ingresemos la contraseña esta podemos especificar que sea introducida cada vez que se dese transferir algo o podemos marcar que sea recordada para la sessión o para siempre





Una vez dentro podremos acceder a las carpetas de la estación remota de manera transparente gracias al navegador nautilus


Por medio de la consola es posible intercambiar archivos via SSH haciendo uso del comando "scp"

La sintaxis para hacer un copiado "cp" via SSH es 

scp [ruta origen] [ruta destino]

Donde si vamos a copiar un archivo hacia o desde una estación remota ya que puede ser una copia bi direccional siempre que hagamos referencia a la ruta de la Pc remota tendremos que especificar  antes de la ruta el nombre del usuario @ el nombre del servidor por ejemplo si deseamos copiar el archivo /etc/apt/sources.list que se encuentra en una estación con la dirección 10.0.19.250 tendremos que escribir lo siguiente

cdcobos@debianY:~$ scp root@10.0.19.250:/etc/apt/sources.list /home/cdcobos/sources.list
root@10.0.19.250's password: 
sources.list                                  100%  799     0.8KB/s   00:00 


Vemos que nos solicita la contraseña de root recordemos que en este caso la contraseña que pide es de root pero en 10.0.19.250, adicionalmente nos muestra información asi como el porcentaje de copiado del archivo recordando que si se esta copiando un archivo a un destino el usuario que se encuentre copiando dicho archivo debe de poseer permisos de escritura en el archivo que esta copiando por esa razon lo copie a la carpeta personal de cdcobos

En la proximo post vermos como abrir aplicaciones via SSH haciendo uso de un servidor X remoto

sábado, 9 de octubre de 2010

Administración Remota de Equipos con SSH

Una de las bondades del internet es que nos permite reducir grandes distancias  permitiendo comunicaciones de voz y vídeo y obviamente el intercambio de datos de forma transparente para los usuarios, para un admistrador de servidores y equipos es de gran ayuda contar con mecanismos para poder acceder a sus equipos de forma remota ya sea para obtener información o para realizar procesos de forma remota por ello el objeto de este post una mirada al mundo de SSH

Existen diversos protocolos de comunicación en la red que permiten la administración remota de equipos tales como Telnet, SNMP o SSH. Cada uno con sus diferentes caracteristicas  de las cuales mencionaremos que SSH brinda conectividad de forma segura y encriptada de ahi su nombre "Secure Shell" o "Interprete de ordenes seguro", Veremos en primera instancia que para instalar dicho protocolo en nuestra PC con Linux Debian, Ubuntu, Mint  y o cualquier distribución basada en Debian que cuente con paqueteria apt lo instalaremos de la siguiente manera como super usuario:


debianY:~# apt-get install openssh-server

Por medio de dicho comando instalaremos el servicio de SSH lo cual habilitara y permitira conexiones que se establezcan al puerto 22 de nuestra estación una vez instalado el servidor SSH esta listo para ser usado, vale la pena mencionar que aun sin contar con el servidor instalado es posible acceder una maquina la cual tenga el servidor activo a continuación  realizare el procedimiento para conectarme a mi estación en primer lugar tengo que conocer la dirección Ip de la estación a la cual me deseo conectar y debo de contar con un usuario que posea contraseña para poder auntenticarme en la estación remota 

debianY:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:1f:29:ad:0a:e8  
          inet addr:10.0.19.202  Bcast:10.0.19.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:29ff:fead:ae8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1897 errors:0 dropped:0 overruns:0 carrier:0
          collisions:641 txqueuelen:10 
          RX bytes:1845605 (1.7 MiB)  TX bytes:458859 (448.1 KiB)
          Memory:e4600000-e4620000 

Mi dirección Ip en estos instantes es 10.0.19.202 

accedere desde mi estación debianX  a debianY asi:

debianX:~#ssh 10.0.19.202

En debian X como podras ver me encuentro en el usuario root al hacer la petición por ssh a la dirección 10.0.19.202 intentare acceder al usuario root que se encuentra en la 10.0.19.202 ssh me solicitara una confirmación ya que se añadira una llave RSA en otro post estudiaremos esto con detalle por el momento solamente escribimos yes para acceder

debianX:~# ssh 10.0.19.202
The authenticity of host '10.0.19.202 (10.0.19.202)' can't be established.
RSA key fingerprint is 04:39:0f:48:f2:e6:cf:9c:27:d4:0a:df:12:02:5a:f6.
Are you sure you want to continue connecting (yes/no)? yes

Nos desplegara una alerta indicando que se ha añadido una entrada RSA a la lista "known hosts"


Warning: Permanently added '10.0.19.250' (RSA) to the list of known hosts.
root@10.0.19.250's password: 
Linux debianx.udb.edu.sv 2.6.32-5-686 #1 SMP Sat Jul 24 02:27:10 UTC 2010 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: Sat Oct  9 04:02:41 2010 from 190.86.28.225
root@debianY:~# 

Y como podras ver me encuentro ahora en el promt de root pero de debianY a la cual he accedido desde debianX, aca puedes realizar casi cualquier acción que necesites ejecutar desde la consola como comandos apt,  creación y manipulación de archivos reinicio y apagado de la Pc 

"Cuidado con esto si reinicias la Pc a la cual te has conectado tendras que esperar a que esta encienda nuevamente y si la apagas tendras que encenderla de manera fisica"

para cerrar la session de SSH escribes el comando exit para salir 

root@debianY:~# exit
logout
Connection to 10.0.19.202 closed.
debianX:~# 

Ahora si deseas acceder como un usuario especifico puedes especificarlo en la rutina de conexión anteponiendo el nombre del usuario al cual deseas iniciar sessión  seguido de una arroba y luego la dirección Ip de esta forma accedere a la estación debianY sin embargo aun cuando me encuentro en debianX como root accedere a mi usuario personal en debianY la contraseña que nos solicita en esta parte es la contraseña del usuario cdcobos anteriormente nos solicitaba la contraseña de root

debianX:~#ssh cdcobos@10.0.19.202
cdcobos@10.0.19.2's password: 
Linux debianx.udb.edu.sv 2.6.32-5-686 #1 SMP Sat Jul 24 02:27:10 UTC 2010 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.
You have mail.
Last login: Fri Oct  8 04:11:44 2010 from 190.86.75.86
cdcobos@debianY:~$ 

Ahora como podras ver  me encuentro en debianY como  el usuario cdcobos con las respectivas limitantes que implica el usuario sin privilegios

En el proximo post veremos otras variantes sobre SSH siendo utilizado para copiar archivos a travez de la red

jueves, 7 de octubre de 2010

Servidor Proxy en Debian

En algunas ocasiones nos encontraremos en una empresa o institución en la cual para poder conectarnos a internet necesitaremos configurar un servidor proxy el cual nos va a permitir la conectividad, para esta entrada explicare la manera gráfica y la manera Debian de hacerlo

Primero La manera grafica  dependiendo del navegador web que estes utilizando puedes configurar el proxy directamente en el navegador si te encuentras utilizando Firefox o Iceweasel puedes hacerlo a travez de la barra de manu la opción Editar, Preferencias se abrira una ventana selecciona la opción Avanzada y dentro de avanzada la pestaña Red:


Luego presionamos el boton configuración


Entre las opciones que tenemos estan Sin proxy cuando  nos encontremos en nuestras casas y en un entorno en que no sea necesario, Usar configuración del sistema nos permitira definir el proxy en Debian y Configuración manual  en la cual es posible definirlo solamente para el navegador web  esta configuración hara que el proxy no sea utilizado por cualquier otro programa mas que por este navegador, si seleccionamos la opción Usar configuración del sistema, tendremos que definirlo en este caso lo haré para el entorno de escritorio Gnome

En la barra superior de gnome en el boton Systema, Proxy de la Red, aparecera una ventana como la siguiente donde definiremos el proxy:



Esto definirá el proxy para todo el sistema y sera aplicado a cualquier programa como al gestor de paquetes synaptic y otros

Ahora como efectuar esta configuración desde la consola es decir a la "debian way" nos vamos a la consola  no necesariamente como super usuario ya que en el usuario que nos encontremos tomara efecto el proxy ya que lo que haremos será exportar una variable de entorno por lo tanto distintos usuarios pueden tener diferentes variables si deseamos que nuestro usuario tenga el proxy configurado ejecutaremos 

cdcobos@debianY:~$ export http_proxy=http://proxy.midominio.com:8080
cdcobos@debianY:~$ export ftp_proxy=http://proxy.midominio.com:8080

Si deseamos instalar paquetes entonces tendremos que ejecutar estas entradas como el usuario root

debianY:~$ export http_proxy=http://proxy.midominio.com:8080
debianY:~$ export ftp_proxy=http://proxy.midominio.com:8080


Y ahora con esto podremos instalar programas habiendo configurado nuestro proxy

Direcciones Ip en Consola

La primera entrada trato sobre como configurar direcciones Ip haciendo uso del archivo de configuración /etc/network/interfaces ahora trataremos los comandos para poder hacer esos cambios directamente en la consola sin modificar estos archivos de texto, vale la pena mencionar el hecho que estos cambios no serán permanentes y ser perderán cada vez que reiniciemos la Pc ya que al encenderla esta se configurara basándose en el archivo interfaces, pero que uso puede tener hacer una configuración del tipo volátil pues para el uso que creas conveniente he aquí los pasos

En la consola como super usuario podemos hacer que nuestra Pc solicite una dirección por dhcp sin importar la configuración de direcciones que exista previamente para eso en la consola como super usuario escribiremos el comando dhclient  esto hara que nuestra Pc envié solicitudes de direcciones y si encuentra un servidor que se este encargando de brindar dichas direcciones pues este tomara la oferta que reciba


debianY:~# dhclient
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/vboxnet0/0a:00:27:00:00:00
Sending on   LPF/vboxnet0/0a:00:27:00:00:00
Listening on LPF/wlan0/00:21:5c:6e:66:01
Sending on   LPF/wlan0/00:21:5c:6e:66:01
Listening on LPF/wmaster0/
Sending on   LPF/wmaster0/
Listening on LPF/eth0/00:1f:29:ad:0a:e8
Sending on   LPF/eth0/00:1f:29:ad:0a:e8
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wmaster0 to 255.255.255.255 port 67 interval 6
receive_packet failed on wmaster0: Network is down
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 10.0.19.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.0.19.1
bound to 10.0.19.33 -- renewal in 412 seconds.

Esto fuerza la dirección a una dirección dinámica, adicionalmente también es posible forzar una dirección estática, para lo cual utilizaremos los siguientes comando 

debianY:~# ifconfig eth0 10.0.19.202 netmask 255.255.255.0 up 
debianY:~# route add default gw 10.0.19.1

El primer comando define en la interfaz eth0 la io 10.0.19.202 con mascara 255.255.255.0 
El segundo comando define la dirección de la puerta de enlace para la estación 

Ambos métodos que hemos mostrados pueden ser comprobados con el comando ifconfig 

Direcciones Ip en Debian Lenny

En esta primera entrada quería comentar algo que me ha sido de mucha ayuda en mi trabajo y en distintas actividades y eso es como definir direcciones Ip estaticas en una estación con el sistema Operativo Debian Lenny, En la versión de Debian que cuenta con el entorno de escritorio Gnome, viene una herramienta que sirve para realizar estos cambios de manera grafica, no daré explicaciones sobre como hacerlo de esta manera ya que con un poco de intuición es facil hacerlo, pero que sucede cuando estamos administrando un equipo y no disponemos de entorno gráfico por diversos motivos como el hecho que no ha sido instalado, o que los controladores de video no han sido reconocidos de manera automatica, pues entonces tocara utilizar comandos de consola para configurar nuestra pc en una red

Archivo de Configuración /etc/network/interfaces

Contamos con un archivo en el cual es posible definir el comportamiento de las interfaces de red que se encuentren en nuestra PC y los metodos por los cuales serán estos configurados

Para ver el contenido de este archivo podemos ejecutar el comando en la consola

cat /etc/network/interfaces

y esto hara que el contenido de dicho archivo sea impreso en la salida de la consola  veremos algo como esto:


debian:~# cat /etc/network/interfaces
# 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

auto eth0
iface eth0 inet dhcp


En este archivo tenemos dos interfaces configuradas  la primera se le conoce como interfaz de loopback, esta interfaz funciona para el sistema para poder realizar pruebas del funcionamiento de la red y otra serie de utilidades que no mencionare, lo que si es importante es que se encuentren definidas las lineas:

auto lo
iface lo inet loopback

ya que sin ellas podriamos experimentar problemas para que nuestro sistema cargue, la siguiente interfaz es la interfaz eth0, en debian las interfacez toman nombres similares a este  dependiendo del tipo de interfaz es el nombre y asi tambien su numero puedes comprobar las interfaces que tengas en tu Pc con el comando ifconfig
el cual debe ser ejecutado como super usuario

Salida del comando ifconfig


debianY:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1f:29:ad:0a:e8
          inet addr:10.0.19.202  Bcast:10.0.19.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:29ff:fead:ae8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:29424 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17511 errors:0 dropped:0 overruns:0 carrier:0
          collisions:12384 txqueuelen:10
          RX bytes:37557064 (35.8 MiB)  TX bytes:1587658 (1.5 MiB)
          Memory:e4600000-e4620000

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:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1520 (1.4 KiB)  TX bytes:1520 (1.4 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:21:5c:6e:66:01
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Podemos ver que cuento con 3 interfaces  lo que es obligatoria, wlan0 que corresponde a la tarjeta de red inalambrica ya que me encuentro en una laptop y eth0 la cual es la interfaz que se conecta por cable de red

bien entonces en nuestro archivo /etc/network/intefaces debemos contener información que defina el comportamiento de esta asi:


auto eth0
iface eth0 inet dhcp


La primera linea hace que la interfaz eth0 sea encendida y configurada de manera automatica, la segunda linea defina la interfaz (iface) eth0 para obtener dirección ip de manera automatica atravez del protocolo dhcp 

Si deseas comprender un poco lo que es dhcp haz aqui: http://es.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

Otra forma de configurar la dirección Ip es de manera Estatica es decir definiendo que dirección sera asignada a dicha interfaz para esto cambiamos la linea del archivo /etc/network/intefaces para que se vea de esta manera:

iface eth0 inet static 

Reemplazando la palabra "dhcp" por "static"
Con esto estamos diciendo que nosotros mismos definiremos que dirección tendrá nuestra interfaz será necesario agregar un par de lineas para especificar esto hare el ejemplo configurando una dirección Ip

iface eth0 inet static
#Esta linea define la dirección Ip
address 192.168.1.100
#Esta linea define la mascara de red
netmask 255.255.255.0
#Define la puerta de salida
gateway 192.168.1.1
#Define el o los servidores de dns
dns-nameservers 168.243.355.255

Finalizada la edición del archivo procedemos a reiniciar el demonio con el comando 

/etc/init.d/networking restart

Si todo ha sido ingresado sin ningun error puedes comprobarlo con ifconfig y el nombre de la interfaz asi 

debianY:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:1f:29:ad:0a:e8  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21f:29ff:fead:ae8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31054 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18014 errors:0 dropped:0 overruns:0 carrier:0
          collisions:12418 txqueuelen:10 
          RX bytes:37780699 (36.0 MiB)  TX bytes:1903142 (1.8 MiB)
          Memory:e4600000-e4620000

La proxima entrada tratara sobre realizar estas configuraciones sin modificar el archivo ingresando solamente comandos de consola