martes, 28 de septiembre de 2010

Canon MP-250 Series en GNU/Linux

Son escasas las empresas fabricantes de Hardware que desarrollan drivers para usar sus dispositivos en GNU/Linux; y hoy me he llevado una sorpresa con la Empresa Japonesa CANON. Resulta que algunos de sus dispositivos pueden ser usados en GNU/Linux; es cuestión de buscar unos pocos minutos los drivers y de seguro lo encontraran en la WEB.

Les voy a redactar lo fácil que es instalar un dispositivo fabricado por CANON en GNU/Linux. No se necesita casi nada de conocimientos técnicos, el unico requisito es que sepan qué distribución tienen instalada en su maquina ya que de esta manera podremos seleccionar entre estos dos tipos de archivos: .deb (Ubuntu, Debian, etc)o .rpm (Fedora, Red hat, CentOS, etc).

Descarga de los paquetes necesarios:
  • Desde Aqui podemos descargar los paquetes .deb. Al final de la página está la opción "Download".
  • Desde Aqui para descargar los paquetes .rpm. Al final de la página está la opción "Download"
Una vez descargado el archivo, descomprimimos el archivo dentro del cual estan los archivos con las extensiones mencionadas arriba. Ejecutamos los archivos que correspondan a nuestra arquitectura de Sistema Operativo (i386) para 32 Bits y (x86_64) para 64 Bits.

Una vez que hayamos ejecutado los dos archivos, conectamos la impresora e imprimimos nuestra página de prueba.

Cabe mencionar que también se instala el controlador para el escaner.


Saludos,

NOTA: Comentar es una de las mejores formas de agradecer la utilidad de la información.

jueves, 9 de septiembre de 2010

Problema de Conectividad de Red en "Mainboard Intel DG41TY"

He visto que varias personas alrededor del mundo han visitado mi Blog, me resultó gratificante saber que al menos a una persona le he ayudado a solucionar algún problema. Pero les agradecería mucho si dejan sus comentarios, esa es una buena forma de incentivar a continuar publicando información útil.

En esta ocasión tuve un problema de Hardware; una de las actividades en mi trabajo es la de administrar un Laboratorio con 18 computadores a los cuales les instalé 3 Sistemas Operativos (Window$ XP y Server y CentOS 5.5) , todos estos equipos son totalmente nuevos.

Resulta que a la Semana de poner en operación los computadores, algunos empezaron a mostrar problemas con la Red. En primera instancia creí que era algún problema con los servidores de DHCP y/o DNS, dispositivos de interconexión, cableado, entre otros; pero todos ellos funcionaban a la perfección así que descarté esas opciones de fallos.

Como los discos fueron clonados, dio la pauta para creer que era un problema de Drivers sin embargo el Sistema Operativo CentOS fue instalado desde cero en cada una de las máquinas así que esa hipótesis también fue descartada.

Se procedió a llamar a la empresa que vendió los equipos, y resulta que la solución al problema que nos dieron, fue la siguientee:

  • Actualizar el BIOS. Link de descarga
  • Este punto me parecía innecesario, pero es el que resolvía el problema. DEBEN SACAR LA PILA AL MENOS 5 MINUTOS, y LUEGO COLOCARLA NUEVAMENTE.
  • Si los pasos anteriores no funcionan, compren una pila nueva (jejeje, suena chistoso pero así me lo dijeron). Según Intel esta es la solución definitiva, a mi me resultó con la última opción hasta el momento.

Pero la mejor Opción es comprar un Mainboard que no sea esta. Asi se van ahorrar muchos problemas.


Saludos,



lunes, 31 de mayo de 2010

Solución problema VirtualBox en fedora 13

He tratado de instalar VirtualBox 3.2 sobre Fedora 13 y resulta que la instalación se desarrolla adecuadamente pero al momento que quiero ejecutarlo me sale un error:

Posteriormente sale esta pantalla:



Trato de hacer lo que me sugiere el mensaje pero no se soluciona el mensaje; googleando un poco encontré la solución al problema que espero sea de ayuda para alguien más.

SOLUCIÓN

  • Instalamos los paquetes requeridos.
# yum -y install kernel-devel kernel-headers

  • Necesitamos tener instalado un compilador de C. Puede ser GCC.
# yum -y install gcc

  • Luego de eso seguimos las instrucciones del mensaje del error.

# /etc/init.d/vboxdrv setup



Debe salirnos todo o.k. para verificar que ha salido todo bien. Esto es todo ya pueden usar su virtualBox.


REFERENCIAS:

martes, 18 de mayo de 2010

Servidor DHCP sobre GNU/Linux Fedora

He visto varias deficiencias en algunos compañeros de clase respecto a redes (y algunos egresados), así que voy a hacer un compendio de configuración de los servidores más básicos sobre Linux.

En esta primera entrega vamos a empezar con el servidor DHCP.

Dynamic Host Configuration Protocol
(Protocolo de Configuración Dinámica de Host)




"El DHCP es una alternativa a otros protocolos de gestión de direcciones IP de red, como el BOOTP (Bootstrap Protocol). DHCP es un protocolo más avanzado, pero ambos son los usados normalmente."

Es un protocolo que permite a dispositivos individuales en una red de direcciones IP obtener su propia información de configuración de red (dirección IP; máscara de sub-red, puerta de enlace, etc.) a partir de un servidor DHCP. DHCP existe desde 1993 como protocolo estándar y se describe a detalle en el RFC 2131.

Sin la ayuda de un servidor DHCP, tendrían que configurarse de forma manual cada dirección IP de cada host que pertenezca a una Red de Área Local. Si un host se traslada hacia otra ubicación donde existe otra Red de Área Local, se tendrá que configurar otra dirección IP diferente para poder unirse a esta nueva Red de Área Local. Un servidor DHCP entonces supervisa y distribuye las direcciones IP de una Red de Área Local asignando una dirección IP a cada anfitrión que se una a la Red de Área Local.

Existen tres métodos de asignación en el protocolo DHCP:

  • Asignación manual: La asignación utiliza una tabla con direcciones MAC (acrónimo de Media Access Control Address, que se traduce como dirección de Control de Acceso al Medio). Sólo los anfitriones con una dirección MAC definida en dicha tabla recibirá el IP asignada en la misma tabla. Ésto se hace a través de los parámetros hardware ethernet y fixed-address.
  • Asignación automática: Una dirección de IP disponible dentro de un rango determinado se asigna permanentemente al anfitrión que la requiera.
  • Asignación dinámica: Se determina arbitrariamente un rango de direcciones IP y cada host conectado a la red está configurada para solicitar su dirección IP al servidor cuando se inicia el dispositivo de red, utilizando un intervalo de tiempo controlable (parámetros default-lease-time y max-lease-time) de modo que las direcciones IP no son permanentes y se reutilizan de forma dinámica.

Luego de algunos conceptos básicos importantes para entender qué es lo que estamos haciendo, ya que lo importante no es "subir" un servidor sino entender su funcionamiento, y de acuerdo a eso ver sí es necesario tenerlo o no.

INSTALACIÓN

Como nuestra configuración lo vamos a hacer sobre un sistema fedora, usaremos el comando "yum" para instalar paquetes, si ustedes usan algún sistema basado en Debian (Como Ubuntu) deben usar "apt-get", para Red Hat Enterprise "up2date".

  • # yum -y install dhcp
Aqui estamos instalando el paquete dhcp.

Parámetros configurables


Como casi todos los servidores en Linux, el servidor DHCP tiene un archivo de configuración /etc/dhcp/dhcpd.conf.

Un servidor DHCP puede proveer de una configuración opcional a la computadora cliente. Dichas opciones están definidas en RFC 2131.

Lista de opciones configurables:

* Dirección del servidor DNS
* Nombre DNS
* Puerta de enlace de la dirección IP
* Dirección de Publicación Masiva (broadcast address)
* Máscara de subred
* Tiempo máximo de espera del ARP
* MTU (Unidad de Transferencia Máxima)
* Servidores NIS (Servicio de Información de Red)
* Dominios NIS
* Servidores NTP (Protocolo de Tiempo de Red)
* Servidor SMTP
* Servidor TFTP
* Nombre del servidor WINS


  • # gedit /etc/dhcp/dhcpd.conf

authoritative;
ddns-updates on;
ddns-update-style ad-hoc;
option domain-name-servers 10.0.0.1, 202.188.0.133, 202.188.1.5;
option subnet-mask 255.255.255.0;
option routers 10.0.0.1;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.201 192.168.1.220;
default-lease-time 86400;
max-lease-time 86400;
option routers 192.168.1.1;
option ip-forwarding off;
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.100;
option nntp-server 192.168.1.100;
option netbios-name-servers 192.168.1.100;
}

subnet 10.0.0.0 netmask 255.255.255.0 {
ddns-updates on;
range 10.0.0.60 10.0.0.150;
}

group {
host 001_1 {
ddns-updates on;
hardware ethernet 00:50:8b:aa:f3:24;
fixed-address 10.0.0.50;
}

host 001_2 {
ddns-updates on;
hardware ethernet 00:50:8b:aa:f3:24;
fixed-address 10.0.0.50;
}

host cosh {
hardware ethernet 00:30:6e:28:5c:3f;
fixed-address 10.0.0.9;
}
}


ddns-domainname - Mediante el uso de este parámetro, se añadirá al final del nombre de la máquina cliente, para formar un nombre de dominio totalmente cualificado (FQDN).

ddns-update-style - Define el método de actualización automática de las DNS. Los valores pueden ser ad-hoc, interim y none.

ddns-updates - Activa la actualización DNS mediante los valores asignados por DHCP.

default-lease-time - Especifica la cantidad de tiempo, en segundos, que será mantenida una asignación de direcciones, siempre y cuando el cliente no haya especificado algo concreto.

fixed-address - Esta opción aparece únicamente en una declaración de host. Define las direcciones estática a asignar a un host determinado.

group - Inicia la declaración de Grupo.

hardware - Especifica el hardware de un cliente BOOTP para que éste sea reconocido por el servidor de DHCP. Tipo puede ser ethernet o token-ring y dirección será una serie de octetos hexadecimales inequívocos de la tarjeta (por ejemplo, hardware ethernet 00:50:b3:c5:60:23).

max-lease-time - Especifica la cantidad máxima de tiempo, en segundos, que será mantenida una asignación de direcciones. No está sujeta a esta especificación la asignación dinámica BOOTP.

min-lease-time - Especifica la cantidad mínima de tiempo, en segundos, que será mantenida una asignación de direcciones.

one-lease-per-client - Cuando la opción se iguala a on y un cliente solicita una asignación de dirección (DHCPREQUEST), el servidor libera de forma automática cualquier otra asignación asociada a dicho cliente. Con esto se supone que si el cliente solicita una nueva asignación es porque ha olvidado que tuviera alguna, luego tiene un sólo interfaz de red. No dándose esta situación entre los clientes no es muy aconsejable el uso de esta opción.

range ip-menor ip-mayor - En una declaración de subred, este parámetro define el rango de direcciones que serán asignadas. Pueden darse dos instrucciones range seguidas del modo:

range 192.168.0.11 192.168.0.100;
range 192.168.0.125 192.168.0.210;

server-identifier - Identifica la máquina donde se aloja el servidor de DHCP. Su uso se aplica cuando la máquina en cuestión tiene varias direcciones asignadas en un mismo interfaz de red.

server-name - Nombre del servidor que será suministrado al cliente que solicita la asignación.

shared-network - Declaración de Subred compartida.
subnet - Declaración de Subred.

option domain-name - Nombre de dominio que usará el cliente en una resolución de nombres vía DNS. Normalmente, será el nombre de dominio que se añadirá al host que realiza la petición de asignación.

option domain-name-servers - Define el nombre de los servidores DNS.

option finger-server - Define el nombre de los servidores Finger disponibles para el cliente.

option host-name - Especifica el nombre del cliente. Puede ser un nombre cualificado o no, aunque se recomienda que el nombre del dominio se asigne mediante option domain-name. Sólo se asignará el nombre al cliente en el caso de no tener éste asignado ninguno.

option irc-server - Define el nombre de los servidores de IRC disponibles para el cliente.

option lpr-servers - Define una lista de servidores de impresión LPR conforme al estándar RFC 1179. Se listan por orden de preferencia.

option nds-servers - Define una lista de servidores NDS disponibles para el cliente. Se usa en conjunción de option nds-context , que establece el nombre de inicio de la red Netware y option-nds-tree-name , que especifica el nombre del árbol a usar por el cliente solicitante.

option netbios-name-servers - Especifica un listado con los servidores WINS disponibles para los clientes.

option nis-servers - Define la lista de servidores NIS (Sun Network Information Server) disponibles. Los servidores se listan en orden de preferencia. Para establecer el nombre del dominio NIS, se usará option nis-domain .

option ntp-server - Define los servidores horarios de NTP disponibles. Se listan en oreden de preferencia.

option pop-server - Define los servidores de POP3 disponibles, listados en orden de preferencia.

option routers - Se definen una serie de routers (en la práctica, puertas de enlace), listadas en orden de preferencia, disponibles para el acceso al exterior por parte del cliente.

option smtp-server - Define la lista de servidores SMTP disponibles, listados en orden de preferencia.

option subnet-mask - Definición de la máscara de subred general.



Para indicarle la tarjeta de red que queremos usar con el servidor DHCP:
  • # gedit /etc/sysconfig/dhcpd

Y ponemos el nombre de la tarjeta a usar, al parametro:

DHCPDARGS el valor wlan0, wlan1, eth0, eth1, eth2, ... según corresponda al de nuestra tarjeta.



Ahora, hacemos que el servicio se levante automáticamente:
  • # chkconfig dhcpd on

Reiniciamos el servicio:

  • # service dhcpd restart


Con eso ya tenemos nuestro servidor DHCP, listo para ser usado.



Saludos,


NOTA: Los parámetros deben ser modificados de acuerdo a sus necesidades, los que están en el ejemplo sólo son ilustrativos.





jueves, 6 de mayo de 2010

Instalación JDK en GNU/Linux

Muchas de las veces queremos empezar a desarrollar nuestras propias aplicaciones en java pero para ello necesitamos tener instalado el JDK.

Java Development Kit (o simplemente, JDK) es un software que nos provee de excepcionales herramientas de desarrollo para programar y crear aplicaciones y programas en Java.

JDK es multiplataforma, y puede instalarse en entornos Linux, Windows, Solaris y Mac OS. JDK es un complemento necesario para IDE’s como NetBeans, Eclipse, etc.

Proceso de instalación:
  • Necesitamos descargar el archivo JDK/SDK, lo podemos hacer desde aqui.
Comprobar que el tamaño del archivo descargado coincida con el tamaño del archivo que está en el servidor, para comprobar que no hayan ocurrido errores en la descarga


  • Es recomendable realizar la instalación en el directorio /usr/local, asi que el archivo del JDK descargado anteriormente lo vamos a copiar en esa ruta.
# cp jdk-6u20-linux-x64.bin /usr/local

  • Nos situamos en la ruta /usr/local para proceder a cambiarle los permisos al archivo y poder ejecutarlo.
# chmod a+x jdk-6u20-linux-x64.bin

  • Ejecutamos el instalador, # ./jdk-6u20-linux-x64.bin, aceptamos el contrato de licencia. La instalación crea una carpeta donde ha almacenado todos los archivos, es recomendable cambiarla simplemente a java.
  • Una vez que ha terminado la instalación procedemos a exportar las variables de entorno.

# JAVA_HOME="/usr/local/java"
# PATH="$PATH:/usr/local/java/bin"
# CLASSPATH="/usr/local/java/lib"
# export JAVA_HOME PATH CLASSPATH

  • Luego de realizar los pasos anteriores, verificamos que la instalación se haya llevado a cabo correctamente.
# java -version

Si el comando nos devueleve la versión del java instalado, significa que todo esta correcto, y podemos instalar cualquer IDE para hacer nuestros desarrollos.


Saludos,


jueves, 29 de abril de 2010

Cambiar la contraseña de root de MySql

Si han hecho la instalación de MySql sobre GNU/Linux y no pusieron la contraseña, o lo que es peor la olvidaron; les voy a dar unos pocos pasos para que puedan re-establecer la contraseña de root en MySql.

  • Detener el servicio de MySql
opción 1: # service mysqld stop
opción 2: # /etc/init.d/mysqld stop

  • Iniciar en modo FULL o abierto.
# mysqld_safe --skip-grant-tables --skip-networking&

--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.

  • Iniciar el modo monitor.
# mysql -u root

  • Usamos la base del sistema mysql.
mysql > use mysql;


  • Actualizamos el campo que cambiará la contraseña.
mysql> update user set password =password('nueva_clave') where user='root';

  • Salimos de mysql.
mysql> exit;

  • Reiniciamos el servidor, y listo.

# service mysqld restart


Espero haya sido de utilidad, o si saben de alguna otra manera para cambiar la clave de root postéelan.

Saludos,

miércoles, 21 de abril de 2010

DoS y DDoS

DOS (Denial of Service) y DDoS(Distributed Denial of Service)


Una técnica de ataque que consiste en hacer inaccesible el o los recursos de un sistema de computación a los clientes de este.

Generalmente este tipo de ataques se lo llevan a cabo saturando el ancho de red o haciendo un número grande de solicitudes del servicio.

Un ataque DoS puede ser perpetrado en un numero de formas. Aunque básicamente consisten en :
  • Consumo de recursos computacionales, tales como ancho de banda, espacio de disco, o tiempo de procesador.
  • Alteración de informacion de configuración, tales como información de rutas de encaminamiento.
  • Alteración de información de estado, tales como interrupción de sessiones TCP (TCP reset).
  • Interrupción de componentes físicos de red.
  • Obstrucción de medios de comunicación entre usuarios de un servicio y la victima, de manera que ya no puedan comunicarse adecuadamente.

La diferencia de DDoS (Distributed Denial of Service) con DoS, es que en el primero el atacante se hace con el control de otros computadorespara poder llevar a cabo su tarea.

Los administradores de red deben tomar medidas de prevención y detección de estas amenazas. Ya que un ataque de estos pueden ser sutil o muy catastrófico para una organización.

Entre las recomendaciones que se deben tomar están las siguientes:

  • Tener un servidor de Logs
  • HoneySpots
  • Firewalls
  • Sniffers
  • entre otros.