Jueves 16 de noviembre de 2017

Salvador Osorio

Salvador Osorio
GNU/Linux - Casos y Cosas

Debian Jessie - SPF DKIM con Postfix y Spamassassin

En este articulo voy a documentar la forma de configurar SPF (Sender Policy Framework) y DKIM (DomainKeys Identified Mail) en Debian Jessie con Postfix y Spamassassin para evitar la sumplatanción de correos. Suponemos que mi servidor de correo esta bajo el dominio dominio.com y el nombre del host es correo.dominio.com. Configurando SPF SPF es el responsable de identificar mediante la IP y por

Viernes 10 de noviembre de 2017

Salvador Osorio

Salvador Osorio
GNU/Linux - Casos y Cosas

Software Libre y desarrollo tecnológico de El Salvador

Introducción En este artículo se trata de dar una visión general sobre Software Libre y su mayor exponente, el Sistema Operativo GNU/Linux (Un Sistema Operativo esta compuesto por una serie de programas que tratan de facilitar la interacción del usuario de computadora con el hardware de la misma), Filosofía de desarrollo, características principales, situación de software libre en Latinoamérica,

Lunes 26 de junio de 2017

¿Realmente te conoce? –AdsBlock

Este post nace a través de este enlace Dataselfie, conociendo al Algoritmo de Facebook y su Machine Learning. en el que hablan de como funciona el proceso de la publicidad que te sale en facebook,  a través del tiempo ya has dibujado tu perfil en facebook sea por búsqueda o por likes todo lo que hagas dentro de esa red social te va a salir, luego que ya saben que es lo que te gusta te empiezan a mandar publicidad acorde a ella, nunca se habían realizado esa pregunta ¿Por que me sale esto?. si quieren conocer que facebook sabe mas que ustedes tranquilamente, pueden abrir  este enlace Preferencias Ads en Facebook

El cual con la sesión abierta de facebook, desglosan en Intereses, y veras todo tus gusto, lo que por alguna razón buscaste o le diste por omisión. Ahí te conocerás realmente que es lo que te gusta.

Ya que donaste los datos, que puedo hacer.

Lo mas sensato es darse de baja de una red social donde juegan con tu información. si quieres seguir usándolo lo mas lógico seria usar AdsBlock  que lo puedes instalar en firefox y chrome, no vas a ver mas publicidad pero igual en cualquier momento que abras un enlace vas a empezar a crear nuevamente tu perfil.

Hace años 10 años una persona que respeto me compartió este video sigue vigente creemos que los servicios que usamos son gratis realmente.
https://www.youtube.com/watch?v=6bYLRGS3vFs

 

 

 

 

 

 

 

 

 

Domingo 25 de junio de 2017

Activar/desactivar registro de usuarios en WordPress

Registro WordPress

La solución es de forma inmediata, dentro del Escritorio (al que accedas administración del WordPress), le vas hacer click en  a Ajustes, Generales y activas o desactiva el checkbox de: Cualquiera puede registrarse. depende para lo que requieras.

Si lo que tienes  problema con usuarios que se registran y en realidad son robots o personas spammers, usa el plugin que mencione anteriormente  http://blog.julioh.com.ve/?p=476 en el cual se hace ocultar la url de wp-admin  otra forma es usando .httpass dentro de los directorios y bloqueando su acceso, o en su momentos podrías saber cual es tu ip para indicarle desde donde te conectas por ejemplo algo así.


order allow,deny
deny from 8.8.8.8
deny from 8.8.8.9
allow from all

Sábado 24 de junio de 2017

Seguridad en WordPress , Garantizar el acceso a wp-admin

WordPress por ser un CMS mas usado pues tienes vulnerabilidades y necesitamos blindarlo en seguridad y que mejor usando plugins para que no tengas una mala experiencia.

Esta es una de esas en la cual la ruta  ../wp-admin/ la remplazas para evitar acceso a ella.

En el caso el plugin WPS Hide Login no vas a eliminar /wp-login.php o /wp-admin , pero si lo va remplazar para no sea visible y colocaremos una url que solo sabremos nosotros.

Lo buscamos  WPS Hide Login en plugins  haz clic en Instalar y posteriormente en Activar.

En el plugin accede a Ajustes, Generales y establece la palabra de paso que sustituirá al clásico:

wp-admin por no-vasaentrar guardas los cambios y pruebas.

Configuración del plugin

Cuando intentas acceder a  http://tu-dominio.com/wp-admin
Te dará un 404 not found

De igual forma  también para  /wp-login.php no existen.

 

Prueba de acceso incorrecta

Si por el contrario pones la url de tu dominio con la palabra de paso establecida:

http://tu-dominio.com/?no-vasaentrar

Te va a salir tu panel para acceder, que se busca con esto, evitar ataques de diccionario, evitar suscripciones y proteger tu CMS de la mejor manera.

si por casualidad no te acuerdas de la url, puedes borrar el plugin en la carpeta wp-content y vuelve a la ruta original

 

Domingo 08 de enero de 2017

David Moreno

David Moreno
dm's blog

Thanks Debian

I sent this email to debian-private a few days ago, on the 10th anniversary of my Debian account creation:

Date: Fri, 14 Aug 2015 19:37:20 +0200
From: David Moreno 
To: debian-private@lists.debian.org
Subject: Retiring from Debian
User-Agent: Mutt/1.5.23 (2014-03-12)

[-- PGP output follows (current time: Sun 23 Aug 2015 06:18:36 PM CEST) --]
gpg: Signature made Fri 14 Aug 2015 07:37:20 PM CEST using RSA key ID 4DADEC2F
gpg: Good signature from "David Moreno "
gpg:                 aka "David Moreno "
gpg:                 aka "David Moreno (1984-08-08) "
[-- End of PGP output --]

[-- The following data is signed --]

Hi,

Ten years ago today (2005-08-14) my account was created:

https://nm.debian.org/public/person/damog

Today, I don't feel like Debian represents me and neither do I represent the
project anymore.

I had tried over the last couple of years to retake my involvement but lack of
motivation and time always got on the way, so the right thing to do for me is
to officially retire and gtfo.

I certainly learned a bunch from dozens of Debian people over these many years,
and I'm nothing but grateful with all of them; I will for sure carry the project
close to my heart — as I carry it with the Debian swirl I still have tattooed
on my back ;)

http://damog.net/blog/2005/06/29/debian-tattoo/

I have three packages left that have not been updated in forever and you can
consider orphaned now: gcolor2, libperl6-say-perl and libxml-treepp-perl.

With all best wishes,
David Moreno.
http://damog.net/


[-- End of signed data --]

I received a couple of questions about my decision here. I basically don’t feel like Debian represents my interests and neither do I represent the project – this doesn’t mean I don’t believe in free software, to the contrary. I think some of the best software advancements we’ve made as society are thanks to it. I don’t necessarily believe on how the project has evolved itself, whether that has been the right way, to regain relevancy and dominance, and if it’s remained primarily a way to feed dogmatism versus pragmatism. This is the perfect example of a tragic consequence. I was very happy to learn that the current Debian Conference being held in Germany got the highest attendance ever, hopefully that can be utilized in a significant and useful way.

Regardless, my contributions to Debian were never noteworthy so it’s also not that big of a deal. I just need to close cycles myself and move forward, and the ten year anniversary looked like a significant mark for that.

Poke me in case you wanna discuss some more. I’ll always be happy to. Specially over beer :)

Peace.

Lunes 12 de diciembre de 2016

Drake Dalfa

Drake Dalfa
[dalfa@b4sh ~]$

¿Como instalar Steam en Mageia 5.1?

¿Como instalar Steam en Mageia 5.1? facil: urpmi steam

[drakedalfa@localhost ~]$ su
Password:

[root@localhost drakedalfa]# urpmi steam

To satisfy dependencies, the following packages are going to be installed:
Package Version Release Arch
(medium "Nonfree Updates")
steam 1.0.0.51 1.1.mga5.non> noarch
(medium "Core 32bit Release")
libdbus-glib1_2 0.102 4.mga5 i586
libdrm2 2.4.59 1.mga5 i586
libdrm_intel1 2.4.59 1.mga5 i586
libdrm_nouveau2 2.4.59 1.mga5 i586
libdrm_radeon1 2.4.59 1.mga5 i586
libelfutils1 0.160 4.mga5 i586
libext2fs2 1.42.12 5.mga5 i586
libffi6 3.1 4.mga5 i586
libfreetype6 2.5.4 2.mga5 i586
libllvm3.5 3.5.2 1.mga5 i586
libmesaglu1 9.0.0 5.mga5 i586
libncurses5 5.9 21.mga5 i586
libpciaccess0 0.13.2 4.mga5 i586
libsasl2_3 2.1.26 10.mga5 i586
libverto1 0.2.6 3.mga5 i586
libxau6 1.0.8 5.mga5 i586
libxdamage1 1.1.4 7.mga5 i586
libxdmcp6 1.1.1 7.mga5 i586
libxext6 1.3.3 3.mga5 i586
libxfixes3 5.0.1 5.mga5 i586
libxshmfence1 1.1 3.mga5 i586
libxxf86vm1 1.1.3 5.mga5 i586
(medium "Core 32bit Updates")
libblkid1 2.25.2 3.4.mga5 i586
libbzip2_1 1.0.6 7.1.mga5 i586
libcurl4 7.40.0 3.5.mga5 i586
libdbus1_3 1.8.20 1.mga5 i586
libdri-drivers 10.5.9 3.mga5 i586
libexpat1 2.1.0 9.3.mga5 i586
libgio2.0_0 2.42.1 2.1.mga5 i586
libglapi0 10.5.9 3.mga5 i586
libglib2.0_0 2.42.1 2.1.mga5 i586
libkrb53 1.12.5 1.1.mga5 i586
libldap2.4_2 2.4.40 3.1.mga5 i586
libmesagl1 10.5.9 3.mga5 i586
libopenssl-engines1.0.0 1.0.2j 1.mga5 i586
libopenssl1.0.0 1.0.2j 1.mga5 i586
libpcre1 8.38 1.mga5 i586
libpng16_16 1.6.25 1.mga5 i586
libssh2_1 1.4.3 6.1.mga5 i586
libudev1 217 11.2.mga5 i586
libuuid1 2.25.2 3.4.mga5 i586
libx11-xcb1 1.6.3 1.mga5 i586
libx11_6 1.6.3 1.mga5 i586
libxcb-dri2_0 1.11.1 1.mga5 i586
libxcb-dri3_0 1.11.1 1.mga5 i586
libxcb-glx0 1.11.1 1.mga5 i586
libxcb-present_0 1.11.1 1.mga5 i586
libxcb-sync1 1.11.1 1.mga5 i586
libxcb1 1.11.1 1.mga5 i586
59MB of additional disk space will be used.
19MB of packages will be retrieved.
Proceed with the installation of the 50 packages? (Y/n) y

Sábado 05 de noviembre de 2016

Drake Dalfa

Drake Dalfa
[dalfa@b4sh ~]$

Como solucionar: DB_RUNRECOVERY Fatal error, run database recovery

Al tratar de actualizar, en mageia se mostraba este error: rpmdb: page 18816: illegal page type or format rpmdb: PANIC: Invalid argument rpmdb: Packages: pgin failed for page 18816 error: db4 error(-30974) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30974) from dbcursor->c_close: DB_RUNRECOVERY: Fatal error, run database recovery No Packages marked for Update rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30974) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30974) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: File handles still open at environment close rpmdb: Open file handle: /var/lib/rpm/Packages rpmdb: Open file handle: /var/lib/rpm/Name rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30974) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery La solución es mover o borrar los siguientes archivos: Mover: # mv /var/lib/rpm/__db* /tmp/ # rpm -rebuilddb Borrar: # rm /var/lib/rpm/__db* # rpm -rebuilddb

Viernes 04 de noviembre de 2016

Salvador Osorio

Salvador Osorio
GNU/Linux - Casos y Cosas

Servidor de correo Debian 8 Jessie: Instalación de Postfix, Dovecot y Roundcube con autenticacion AD

Este es el cuarto de una serie de artículos para la instalación completa de un servidor de correos con Debian Jessie 8.5. Instalación del software. INSTALACIÓN DE MYSQL Instalamos un generador de contraseñas apt install pwgen pwgen -s 30 1 AlK8MmQ0AgZReUGaqE8IjwDkrdr5Xl Instalamos MySQL, utilicemos la contraseña generada AlK8MmQ0AgZReUGaqE8IjwDkrdr5Xl para el usuario root de MySQL apt

Lunes 29 de agosto de 2016

David Moreno

David Moreno
dm's blog

Webhook Setup with Facebook::Messenger::Bot

The documentation for the Facebook Messenger API points out how to setup your initial bot webhook. I just committed a quick patch that would make it very easy to setup a quick script to get it done using the unreleased and still in progress Perl’s Facebook::Messenger::Bot:

use Facebook::Messenger::Bot;

use constant VERIFY_TOKEN => 'imsosecret';

my $bot = Facebook::Messenger::Bot->new(); # no config specified!
$bot->expect_verify_token( VERIFY_TOKEN );
$bot->spin();

This should get you sorted. What endpoint would that be, though? Well that depends on how you’re giving Facebook access to your Plack’s .psgi application.

Domingo 21 de agosto de 2016

David Moreno

David Moreno
dm's blog

WIP: Perl bindings for Facebook Messenger

A couple of weeks ago I started looking into wrapping the Facebook Messenger API into Perl. Since all the calls are extremely simple using a REST API, I thought it could be easier and simpler even, to provide a small framework to hook bots using PSGI/Plack.

So I started putting some things together and with a very simple interface you could do a lot:

use strict;
use warnings;
use Facebook::Messenger::Bot;

my $bot = Facebook::Messenger::Bot->new({
    access_token   => '...',
    app_secret     => '...',
    verify_token   => '...'
});

$bot->register_hook_for('message', sub {
    my $bot = shift;
    my $message = shift;

    my $res = $bot->deliver({
        recipient => $message->sender,
        message => { text => "You said: " . $message->text() }
    });
    ...
});

$bot->spin();

You can hook a script like that as a .psgi file and plug it in to whatever you want.

Once you have some more decent user flow and whatnot, you can build something like:



…using a simple script like this one.

The work is not finished and not yet CPAN-ready but I’m posting this in case someone wants to join me in this mini-project or have suggestions, the work in progress is here.

Thanks!

Sábado 16 de enero de 2016

Drake Dalfa

Drake Dalfa
[dalfa@b4sh ~]$

Como solucionar problema de juegos oscuros STEAM para Linux

Ultimamente he estado probando STEAM y en Linux (Mageia) me sucede que varios juegos se mostraban muy oscuros, la solucion es facil, hay que instalar driconf y activar la opcion "Enable S3TC texture compression even if software support is avaible":
Luego se cierra el programa y se ejecuta STEAM

Miércoles 22 de abril de 2015

Victor Ostorga

Victor Ostorga
vostorga.org » linux

Redefining CFLAGS in Makefile

I am used to the old way of defining CFLAGS in the console when needed but recently in Debian exporting CFLAGS didn’t have the desired effect.

So In case CFLAGS variable for command line and even in makefile doesn’t work for you, this will make the trick in Makefile:

EXTRA_CFLAGS += foo bar baz

Sábado 31 de enero de 2015

Francisco Rivera

Francisco Rivera
El rincon de Cisko

Evadir antivirus para utilizar Setoolkit, powershell y meterpreter

Después de otro buen tiempo sin escribir por acá, vengo con algo sencillo, nada del otro mundo, pero que a mas de alguno le puede servir. No voy a entrar en detalles sobre las herramientas en si, puede encontrarse bastante información en google sobre SETOOLKIT (social-engineer toolkit), para generar un código que se ejecute en la máquina víctima haciendo uso de la powershell y alphanumeric

Lunes 28 de julio de 2014

Victor Ostorga

Victor Ostorga
vostorga.org » linux

Squid 3.3 in Raspbian Wheezy

I have been playing recently with Squid and “Splash pages”, but this function works fine on Squid 3.2 and later; however Raspbian only offers Squid 3.1.

I looked for a ready to install 3.2+ version in the Webz but didn’t find one, so I backported the Debian Jessie version.

For the lazy ones, here are the links (try them at your own):

libecap2 (This dependency is not available in Wheezy)

libecap2_0.2.0-1_armhf.deb

libecap2-dev_0.2.0-1_armhf.deb

Then install squid3 (install according to your needs)

squid3_3.3.8-1.1_armhf.deb 

squid3-dbg_3.3.8-1.1_armhf.deb

squidclient_3.3.8-1.1_armhf.deb
squid3-common_3.3.8-1.1_all.deb

squid-cgi_3.3.8-1.1_armhf.deb

squid-purge_3.3.8-1.1_armhf.deb

 

Sábado 12 de julio de 2014

Victor Ostorga

Victor Ostorga
vostorga.org » linux

Mounting a partition from a dd image

At some point, everybody may have done a dd image of a USB/SD stick, as the below example shows:

dd if=/dev/sdb of=foo.img 

But it is usual that at some point in time we would like to access the information inside the image, doing that is quite easy:

First,you should do a fdisk on the image:

fdisk -l foo.img

Disk foo.img: 7998 MB, 7998537728 bytes, 15622144 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002fc6d

Device Boot      Start         End      Blocks   Id  System
foo.img1   *             15622143     7811071+   c  W95 FAT32 (LBA)

Then some maths are needed. The operators are the start of the partition and the sector size in bytes.  The operation is simply start * sector size in bytes.

In this particular case the operation is 1 * 512 = 512.

Now that we have the result, that we call the offset. In other words, 512 is the offset where the partition starts in this dd image.

So the command to mount the partition is:

mount -t vfat -o loop,ro,noexec,offset=512 foo.img /mnt/mountpoint

And then we can copy the information from the partition inside!

 

 

 

 

Jueves 06 de marzo de 2014

Francisco Rivera

Francisco Rivera
El rincon de Cisko

[root@kzepeda ~]# init 0

5 de Marzo de 2006... un amigo se nos adelantó, una gran pérdida en el mundo Linuxero de El Salvador. Kirlian Manuel Zepeda, uno de los fundadores de la Asociacion de Usuarios GNU/Linux de El Salvador, un impulsador, un hacker, un geek... sus charlas eran algo aburridas ;)  pero no lo era el tiempo que entre cheros linuxeros pasábamos fregando con Kirlian, un amigo. Desde éste humilde rincón se

Miércoles 16 de octubre de 2013

Actualizar Debian Squeeze a Wheezy con instalación de ISPconfig 3 + dovecot + roundcube

Bueno llego el tiempo de la actualización planeada de Debian 6 (Squeeze) a Debian 7 (Wheezy) en el servidor de la empresa, me leí los “known issues” de debian.org y como no encontré nada que afectara a mi server inicié con el upgrade, solo para encontrar que dovecot-core vomitó 10 errores de post-inst (arrastrando otros paquetes de dovecot).

doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: mail_plugin_dir: access(/usr/lib/dovecot/modules/lda) failed: No such file or directory

Pues el error era de que ese archivo ‘lda’ ya no existe, asi que al cambiar la ruta de su entrada en /etc/dovecot.conf:

protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
  mail_plugins = sieve quota
  postmaster_address = postmaster@my-domain.tld
}

a esto:

protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugin_dir = /usr/lib/dovecot/modules
  mail_plugins = sieve quota
  postmaster_address = postmaster@my-domain.tld
}

El archivo era correcto nuevamente, ahora a terminar de instalar:

apt-get -f install

Luego el problema era roundcube, el error de roundcube era este en /var/log/apache2/error.log:

SoftException in Application.cpp:221: File "/usr/share/roundcube/index.php" is not in document root of Vhost "/var/www/"

Rarisimo, pero buscando en startpage.com (si, ya no uso google) entre los resultados encontré esto:
http://www.crazysquirrel.com/computing/debian/servers/ubuntu-mail-server.jspx
Y encotré al culpable, se llamaba /etc/suphp/suphp.conf, tenemos que cambiar dos cosas aqui, primero el “check_vhost_docroot” que revisa si el script que estamos corriendo esta dentro del document root de este archivo (no el de apache):

check_vhost_docroot=false

Y luego encontré otra belleza gracias a este mismo archivo:

 SoftException in Application.cpp:350: UID of script "/var/lib/roundcube/index.php" is smaller than min_uid

Bueno resulta que roundcube instalado desde paquetes debian siempre guarda sus archivos como usuario root (UID 0) ya que antes roundcube llamaba a php-cli para trabajar, ahora todo lo que es php-cli se esta migrando a php5-cgi, y que para correr aplicaciones que requieran permisos altos (como para mover, copiar y borrar dentro de un buzón de correo en posesión de otro usuario) debe usar un programa llamado suphp, hasta aquí todo bien, solo que este roundcube es algo viejito y no venía preparado para el cambio por lo que es imposible hacerlo correr, a menos que cambiemos sus permisos y volvamos a modificar el archivo:

Primero cambiamos el dueño y el grupo de los directorios de roundcube:

chown -R www-data:www-data /var/lib/roundcube
chown -R www-data:www-data /usr/share/roundcube

Y luego en el archivo /etc/suphp/suphp.conf cambiamos el min_uid y el min_gid a 33 (UID Y GID de www-data):

; Minimum UID
min_uid=33

; Minimum GID
min_gid=33

Luego reiniciamos apache y probamos nuestros servicios, podemos ver que todo funciona perfectamente.

Si llegan a experimentar un error de base de datos entonces deben actualizar mysql con el script integrado:

mysql_upgrade --force  --password='mysqlrootpassword'

ISPConfig en mi configuración actual ya está integrado con estos servicios y funciona sin problemas, aun no he probado el manejo de OpenVZ, pero eso es para otro articulo.


Viernes 26 de julio de 2013

Network Shaping con debian squeeze (oldstable) mastershaper 0.44 con soporte vlan Cisco

Bueno regreso a hacer proyectos frikis, esta ves un equipo de red usando GNU/Debian ya que no tengo $3000 para comprar un packeteer o algo parecido que haga network shaping, qos y data rate limit.

Proyecto

Mi escenario es el siguiente:

Si, este es mi esquema de red, internet es una nube oscura y tenebrosa

Si, este es mi esquema de red, internet es una nube oscura y tenebrosa

Bueno el router solo tiene una interfáz de entrada y una de salida, la interfáz de salida esta en modo trunk para comunicarse con el switch, el shaper que está ubicado entre ambos equipos es un bridge, osea completamente transparente para ambos, pero debe ser capáz de ver la vlan que vamos a manipular, lo que necesitamos:

1- router cisco o de cualquier otra marca que soporte encapsulación dotq1
2- Switch administrable con soporte de encapsulación dotq1 (para las vlan)
3- Una pc con dos tarjetas de red (generalmente una viene incluida en la motherboard) FastEthernet
4- Un patchcord cruzado RJ45 y uno recto, el cruzado para conectar con el router y el otro hacia el switch.

El router y el switch los pueden configurar como quieran, aqui esta el ejemplo de como están los puertos relevantes en equipos cisco con ios 12.x:

Router:

interface GigabitEthernet0/0
ip address -IP WAN- 255.255.255.248
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1
no ip address
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1.2
description vlan internet
encapsulation dot1Q 2
ip address -IP LAN- 255.255.255.0
ip nat inside
ip virtual-reassembly

Switch:

interface FastEthernet3/1
 switchport
 switchport trunk encapsulation dot1q
 switchport mode trunk
!
interface FastEthernet3/2
 switchport
 switchport access vlan 2
 switchport mode access
!
interface FastEthernet3/3
 switchport
 switchport access vlan 2
 switchport mode access

Construcción del equipo shaper

A- Fuentes y compilación de kernel, IPtables, agregar soporte para protocolos capa 7 y filtrado intermedio en iptables

Instalamos debian squeeze como siempre, luego cuando ya tengamos acceso a la línea de comando descargamos las herramientas de compilación:

aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential patch time checkinstall

Luego el fuente del kernel:

cd /usr/src 
apt-get source linux-image-2.6.32-5-amd64
ln -s /usr/src/linux-2.6-2.6.32 /usr/src/linux

Parcheamos el kernel para que soporte capa 7 en netfilter:

cd /usr/src/linux 
wget --no-check-certificate  https://dev.openwrt.org/export/18900/trunk/target/linux/generic-2.6/patches-2.6.32/100-netfilter_layer7_2.21.patch 
patch -p1 < 100-netfilter_layer7_2.21.patch

Si vamos a filtrar usando iptables necesitamos también el parche para imq (intermediate queuein):

cd /usr/src/linux
wget http://www.linuximq.net/patches/linux-2.6.32-imq-test2.diff
patch  -p1 < linux-2.6.32-imq-test2.diff

Configuración del kernel antes de iniciar la compilación:

cd /usr/src/linux 
cp /boot/config-2.6.32-5-amd64 .config
perl -pi -e 's/CONFIG_VT6656=m/CONFIG_VT6656=n/g' .config # Este driver da problemas
make menuconfig

Activamos imq:

Device Drivers  ---> 
 -*- Network device support  ---> 
      IMQ (intermediate queueing device) support 
     IMQ behavior (PRE/POSTROUTING) (IMQ AB)  ---> 
       (X) IMQ AB 
     (16)    Number of IMQ devices

Y layer 7:

-*- Networking support  ---> 
     Networking options  ---> 
     [*] Network packet filtering framework (Netfilter)  ---> 
       Core Netfilter Configuration  ---> 
        Netfilter connection tracking support 
        "layer7" match support

Antes de compilar el kernel descargamos el source de iptables, ya que la versión incluida en debian squeeze no soporta los parches de imq, descargamos la versión 1.4.10 (squeeze trae 1.4.8)

cd /usr/src
wget -c ftp://ftp.netfilter.org/pub/iptables/iptables-1.4.10.tar.bz2
tar -xvf iptables-1.4.10.tar.bz2
ln -s  iptables-1.4.10 iptables

Parcheamos iptables para soportar imq

cd /usr/src/iptables
wget http://www.linuximq.net/patches/iptables-1.4.10-imq.patch
patch -p1 < iptables-1.4.10-imq.patch

Ahora descargamos el parche para layer 7 en iptables

wget http://downloads.sourceforge.net/project/l7-filter/l7-filter%20kernel%20version/2.22/netfilter-layer7-v2.22.tar.gz
tar -zxvf netfilter-layer7-v2.22.tar.gz

Ahora a copiar las extensiones

cp /tmp/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/libxt_layer7.* /usr/src/iptables/extensions/

Y copiar el archivo parcheado del kernel para iptables

cp /usr/src/linux/include/linux/netfilter/xt_layer7.h /usr/src/iptables/extensions/

Ahora con las fuentes ya preparadas podemos compilar, el kernel se compila primero:

cd /usr/src/linux
fakeroot time make-kpkg --initrd --append_to_version=-layer7-imq-amd64 linux-image

Una ves terminado instalamos con dpkg los paquetes creados por make-kpkg

cd /usr/src
dpkg -i *.deb  #asumiendo que solo los paquetes del kernel se encuentren ahi

Ahora compilamos iptables:

cd /usr/src/iptables
./configure --with-ksource=/usr/src/linux --prefix=/usr --with-xtlibdir=/lib/xtables --libdir=/lib --enable-libipq --enable-devel
make
checkinstall

Descargamos los protocolos para layer 7

cd /tmp
wget http://ufpr.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2009-05-28.tar.gz
tar -zxvf l7-protocols-2009-05-28.tar.gz 
mv l7-protocols-2009-05-28 /etc/l7-protocols

Ahora instalamos las extensiones xtables de squeeze

apt-get install xtables-addons-common

Luego de todo esto reiniciamos la computadora y probamos que los módulos estén instalados y funcionando:

modprobe imq
iptables  -m layer7 --help
iptables -m ipp2p --help

B-Stack Lamp e instalación de mastershaper

Ahora que todo ha funcionado es tiempo de instalar mastershaper, primero instalamos el stack LAMP.

aptitude install php5 php5-mysql libapache2-mod-php5 apache2 mysql-server mysql-client phpmyadmin

Seguimos los pasos de la instalación e introducimos la contraseña del root de mysql, ahora descargamos mastershaper propiamente dicho:

cd /tmp
wget -c http://www.mastershaper.org/files/mastershaper_0.44.tar.bz2
mkdir shaper
cd shaper
tar -xvf ../mastershaper_0.44.tar.bz2

Creamos una base de datos para mastershaper y un usuario en mysql, con phpmyadmin o con comando:

CREATE DATABASE shaper_db;
USE shaper_db;
GRANT ALL ON shaper_db.* to shaperuser@localhost IDENTIFIED BY 'inserte contraseña aqui';

Instalar mastershaper en el document root de apache (normalmente /var/www)

cd /tmp
cp -r shaper /var/www/

Ahora podemos acceder desde el navegador al shaper con http://ip-del-shaper/shaper o http://localhost/shaper si entramos desde la misma pc.

Instalamos los módulos ip de php-pear para que mastershaper pueda manejar los comandos de red.

pear install DB Net_IPv4

Descargamos jpgraph para obtener estadísticas de red (en el menu monitoring de mastershaper)

cd /var/www/shaper/
wget -c http://jpgraph.net/download/download.php?p=5
mv download.php?p=5 jpgraph.tar.gz
tar -xvf jpgraph.tar.gz
mv jpgraph-version/ jpgraph/

Descargamos también phplayersmenu de la misma forma:

cd /var/www/shaper/
wget -c  http://downloads.sourceforge.net/project/phplayersmenu/phplayersmenu-devel/3.2.0-rc/phplayersmenu-3.2.0-rc.tar.gz
tar -xvf phplayersmenu-3.2.0-rc.tar.gz
mv phplayersmenu-3.2.0-rc/ phplayersmenu/

C- Configuración

Ingresamos a http://localhost/shaper (o a remotamente en http://dirección-del-shaper/shaper) y llenamos los campos de configuración, agrego el screenshot de la configuración para que se den una idea:

Esta es la ventana de configuración central, denle click a la imagen por que el blog aun no soporta telescopio

Esta es la ventana de configuración central, denle click a la imagen por que el blog aun no soporta telescopio

Si queremos soporte para IMQ entonces debemos generar las interfaces necesarias para que iptables pueda modificar el tráfico.

ip link set imq0 up
ip link set imq1 up

iptables -t mangle -I PREROUTING -i ${EXT_DEV} -j IMQ --todev 0
iptables -t mangle -I POSTROUTING -o ${EXT_DEV} -j IMQ --todev 1

EXT_DEV es la interfás donde se quiere manipular el tráfico (salida solamente, si se quiere manipular solo ancho de banda o protocolos no es necesario IMQ)

Como mastershaper necesita poder utilizar iptables y tc (comandos solo para root) hay que darle poderes de sudo, pero solo para procesos de shaping y evitar que php pueda acceder a root, en debian y ubuntu existe el comando “visudo” para editar /etc/sudoers (en cualquier otro GNU/Linux se permite editar directamente) y agregamos lo siguiente:

www-data ALL= NOPASSWD: /var/www/shaper/shaper_loader.sh

Asumiendo que el shaper corra con el usuario www-data (lo normal en debian) y que la carpeta del shaper este en /var/www.

Luego deben revisar si no pueden descargar desde el navegador el archivo “config.dat” (http://server/shaper/config.dat), en el .tar del shaper debería venir un .htaccess para evitar su lectura y descarga, si apache no reconoce el .htaccess en esa carpeta hay que cambiar la directiva “AllowOverride” en /etc/apache2/sites-available/default.

D – Vlans

Este paso es OPCIONAL para gente que no tenga vlans configuradas en su red, en mi caso necesito hacer shaping en las vlans 2 y 3, como verán mas adelante mastershaper no fue diseñado para ver vlans, solo interfaces físicas y lógicas por lo cual tuve que montar 2 carpetas shaper (localhost/shaper y localhost/shaper2) para poder hacer cambios en ambas, ustedes pueden solventar este problema como mejor les parece (virtualización por ejemplo).
La vlan3 esta deshabilitada en la muestra de cisco y no la agregue en el ejemplo siguiente

Instalación de vlan en GNU/Linux

Como mi shaper se usará en modo bridge (transparente) necesitaremos bridge utils, y el paquete “vlan” para poder usar vlans.

aptitude install vlan bridge-utils

Luego modificamos de esta manera nuestro /etc/network/interfaces

ADVERTENCIA – Si estás configurando el shaper desde un equipo remoto puede que pierdas acceso al shaper, revisa que tengas acceso físico al equipo para realizar este paso –

vi /etc/network/interfaces
# Fisica PCI
auto eth0
iface eth0 inet manual

# Fisica integrada
auto eth1
iface eth1 inet manual

# VLAN2
auto eth0.2
iface eth0.2 inet manual

auto eth1.2
iface eth1.2 inet manual

#Bridge VLAN2
auto br0
iface br0 inet static
        bridge_ports eth0.2 eth1.2
        bridge_stp      off
        bridge_maxwait  0
        bridge_fd       0

        address 192.168.30.3
        broadcast 192.168.30.255
        netmask   255.255.255.0
        gateway 192.168.30.1

Pasare a explicarles este desastre, primero pasamos las interfaces físicas (las tarjetas de red eth0 y eth1) a modo manual sin IP, luego configuramos subinterfaces para cada una en la vlan correspondiente (eth”interfás”.”vlan”) y luego las unimos en una interfáz puente con ip para acceso remoto (los equipos conectados físicamente por el no lo verán como un salto de red).

Una ves se tenga todo listo pasamos a iniciar esta configuración, asegurense de tener una forma de revertirlo en caso de que no funcione por cualquier razón.

ifdown eth0 && ifdown eth1 && ifup br0

Si pudieron pasar por esto y pudieron acceder remotamente a la ip configurada en la interfáz puente entonces la configuración es correcta.

E-Habilitando shaper

Regresamos a la ventana del navegador (ya con la ip de la interfáz puente) y nos vamos al menu de la izquierda, en “settings->Options” se nos preguntara:

  • Ancho de banda de bajada y subida (este es el ancho de banda total disponible) en kbit/s
  • Interfaces de entrada (en mi caso eth0.2) y de salida (eth1.2)
  • Activar IMQ (solo si hemos configurado IMQ y si vamos a hacer shaping de trafico entrante), no necesario si solo se limitara ancho de banda.
  • ACK packets: prioridad para paquetes ACK (respuesta) y otros paquetes pequeños normalmente utilizados por los protocolos de transporte como señalizadores o respuesta de peticiones
  • Disciplina de cola: este es un poco complicado pero lo pondré asi: la mayoría de las personas usarán HTB (Hierarchical Token Bucket) que trabaja dandole prioridad (definida en la configuración de “Service Levels” del shaper) y distintos valores de ancho de banda dinamico dependiendo del estado de saturación del enlace. Si tenemos un servidor que requiere tráfico en tiempo real, como por ejemplo streaming de video/audio, VoIP/Videoconferencia es mejor utilizar HFSC (Hierarchical Fair Service Curve) que define prioridades de servicio en tiempo real, y CBQ (Class Based queueing) que es parecido a HTB pero con limites duros sin variación en los anchos de banda, es como el abuelo del qos en GNU/Linux.
  • Filtro de tráfico, esto es dependiendo de que quieren hacer, si solo se quiere limitar ancho de banda o hacer qos basado en IP, tc-filter bastara (gasta menos recursos), si necesitan hacer qos mas avanzado basado en protocolos o en mac entonces necesitarán Iptables.
  • Modo: El shaper puede ser un router (actuar como gateway) o bridge (transparente sin ser un salto de red), en mi caso lo hice bridge ya que el routing lo estamos haciendo en el equipo cisco y no queremos que sea accesible fuera de la vlan.
  • Autenticación: para manejar usuarios y contraseñas y añadir seguridad al shaper, esto es necesario para que si algún usuario logra acceder al shaper no pueda cambiar el ancho de banda o jugar con la configuración Advertencia Debes crear cuentas de usuario ANTES de activar la autenticación.

Luego de todas estas desiciones guardamos los cambios y comenzamos a manejar nuestro ancho de banda.

La documentación sobre mastershaper esta en este sitio:

Sitio mastershaper
Howtos y ejemplos para usar mastershaper

Y como cuando escribí esto el sitio estaba caido subo mi copia de la documentación:
MasterShaper_documentation

Espero que les haya servido, este proyecto me llevó mucho tiempo pero ya está en producción, puede que iptables no funcione como debería, pero los parches funcionan aún, wheezy trae el kernel 3.2 el cual ya no es soportado por mastershaper 0.44, se está desarrollando la versión 0.66 pero no he logrado conseguirla (no dan links de git o tar para descargar) esta nueva implementación funciona en kernel 3.x y sin necesidad de parchear iptables (segun los comentarios del foro) así que cuando logre conseguir una nueva versión o un sustituto para mastershaper (claro también libre) escribiré otro howto.

Fuentes

mensaje 2741 foro de mastershaper en inglés
Documentación de mastershaper y los ejemplos del sitio (links al final de la sección E)


Jueves 25 de octubre de 2012

Como instalar la tarjeta wifi 802.11n DLink dwa-525 en GNU/Debian

Esta es una de esas piezas de hardware que son fáciles de encontrar pero difíciles de hacer funcionar, ya sea por que el chipset es muy nuevo o por que los drivers (de cualquier sistema que no sea windows) están perdidos en el espacio o no existen, afortunadamente logre encontrar como hacerlo funcionar:

El chipset debe dar esta respuesta en lspci

03:01.0 Network controller: RaLink Device 5360

Comencé buscando por el nombre del modelo de tarjeta, pero el que nos interesa es el chipset, ya que DLink parece estar vendiendo esta misma tarjeta con diferentes chipset (y por ende requieren drivers diferentes), primero parecía que este tutorial funcionaría con mi tarjeta:

https://steveswinsburg.wordpress.com/2011/03/12/how-to-install-a-d-link-dwa-525-wireless-network-card-in-ubuntu-10-04/

Y luego de seguir paso a paso todo lo que ahí decía no funciono ¬¬#, luego intente con otro de la comunidad ubuntu:

http://ubuntuforums.org/showthread.php?t=1559576

El mismo procedimiento, pero con otro driver… igual no funciono, luego me di cuenta que en todas esas publicaciones (y los que las copiaban) solo mencionaban los chipset  ralink 3060 (ese si funciona con los links anteriores) que aparece en lspci como:

Network Controller: Ralink Device 3060 0

Es completamente diferente al 5360 que yo tengo, entonces comence a buscar hasta en otros idiomas con el chipset como mi unica pista y llegue a este lugar también de la comunidad ubuntu (ESTA EN RUSO):

http://forum.ubuntu.ru/index.php?PHPSESSID=s17iic366u1v38f2cl4h60bua1&topic=190612.15

y gracias al traductor de google encontre mi respuesta:

-Primero necesitamos ESTE firmware de ralink

-Descargar la fuente de driver para compilar desde AQUI 

EDIT: Ya no se sigue este paso

-Extraer el archivo comprimido

-Editar con gedit, kate, vim o el editor de texto que tengan a la mano el siguiente archivo:

carpetaextraida/os/linux/config.mk

donde “carpetaextraida” es el directorio que se creó al extraer el driver, luego debemos buscar estas líneas:

HAS_WPA_SUPPLICANT=n 
y 
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT = n

Una ves encontradas cambiamos la “n” que esta después del “=” por “y” con esto le decimos al driver que habilite el soporte para WPA

Edit: paso nuevo:

Ahora abrimos el archivo

carpetaextraida/os/linux/pci_main_dev.c

Y buscamos el siguiente texto, donde agregamos la línea que dejo en rojo:

#ifdef RT5390
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5390_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC539F_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5392_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5362_PCI_DEVICE_ID)},
        {PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5360_PCI_DEVICE_ID)},
#endif /* RT5390 */

-Ahora debemos compilarlo, necesitamos los headers de nuestro kernel y las herramientas para compilar, las instalamos asi:

aptitude install build-essential linux-headers-$(uname -r)

Ahora si a construir, entramos en la “carpetaextraida” y como root ejecutamos:

make && make install

Esperamos a que compile sin errores y se instale (es desinstalable con make uninstall desde ese mismo directorio), les recuerdo que como es una instalación manual en el caso que el kernel se actualice o cambien el kenel  deberán compilar de nuevo.

Ahora a comenzar la configuración para que no de problemas primero extraemos el firmware que descargamos al principio, dentro de el nos aparecerá el archivo rt2860.bin el cual debemos copiar (como root) a /lib/firmware/.

Luego debemos agregar un driver a blacklist,  ya que genera conflicto con el que acabamos de construir:

echo "blacklist rt2800pci" >> /etc/modprobe.d/blacklist

(si tienen kernel 3 de backports entonces blacklist ahora se llama blacklist.conf)
yo en modo paranoico agregue de la misma manera estos también:
blacklist rt2x00lib
blacklist rt2x00pci
blacklist rt2800lib

Ahora habilitemos el modulo del driver:

modprobe  rt5390sta

Y lo agregamos a /etc/modules para que se cargue al inicio

echo "rt5390sta" >> /etc/modules

Y ahora un truco que nos permitirá usar ese driver con nuestro dispositivo:

Abrimos como root el archivo /etc/rc.local y antes de la línea que dice “exit 0” agregamos lo siguiente:

echo "1814 5360" | tee /sys/bus/pci/drivers/rt2860/new_id

Que forzará al driver a funcionar con el chipset 5360 que es el que posee nuestra tarjeta, luego solo guardamos todo y reiniciamos la maquina, network manager, wicd o ifconfig ya deben mostrarnos el nuevo dispositivo “ra0” y podemos entonces conectarnos y disfrutar de nuestro wifi.

Espero que funcione para ustedes de la misma manera que ha funcionado para mi.

Fuente ultimo edit: Ubuntu forums post 2008849 gracias a un comentario de Medusetfil


Lunes 05 de marzo de 2012

Francisco Rivera

Francisco Rivera
El rincon de Cisko

En memoria de Kirlian...

Desde este humilde rincón no queremos olvidar a uno de los grandes amigos linuxeros quien en vida fuera fundador y presidente de la Asociación de Usuarios GNU/Linux de El Salvador, tu recuerdo no muere Kirlian, grande como siempre!!!

Martes 19 de abril de 2011

Gustavo Burgos

Gustavo Burgos
Debian Tavo

gateway w350a T-series con Debian squeeze

bueno hace un par de dias cambie mi laptop por la gateway w350a
la cual me parecio muy atractiva y lo mas novedoso de todo es que
debian es full compatible con ella, me tome la molestia de hacer este post
por el echo de alguna referencia del equipo a Debian



gnburgos Gustavo Burgos

Martes 08 de marzo de 2011

William Díaz

William Díaz
LEPROSYS

Script de radios de El Salvador para Amarok v0.3


Por ahí recibí un comentario que el script dejo de funcionar hace unos días, así que el día de hoy decidí a actualizarlo y hacer unos pequeños cambios como algunas actualizaciones a las direcciones de las radios, es probable que algunas no sirvan es porque su servicio es inestable y otras las he dejado para solucionarlo en un próximo lanzamiento.

Para los que no lo conocían el script añade una serie de radios de El Salvador a Amarok

Domingo 06 de marzo de 2011

Melvyn Gomez

Melvyn Gomez
elsimio

6 años bloggeando

Esta semana que hablábamos de una posible nueva tertulia de bloggeros (no tuiteros) de El Salvador recordé que pronto cumpliria un aniversario mas desde que cree este espacio para compartir pensamientos o simplemente ideas mías, y bueno justo hace 6 años un domingo en la madrugada cree que el Blog con esta entrada http://elsimio.blogspot.com/2005/03/mi-primer-blog.html luego de regresar de #beber

Sábado 05 de marzo de 2011

Usando un Nokia E71 como Modem OpenSuSE

Hace un tiempo adquirí un telefono nokia E71 el cual en sus funciones habituales tiene la característica de funcionar como modem pero solamente vía infrarrojos, investigando un poco sobre que otro uso se le puede dar al equipo encontré que es posible utilizarlo como modem via bluetooth, con cualquier maquina que tenga de estos dispositivos
por lo tanto para realizar esta accion, acontinuacion les explico como se configura y se realiza la conexion via bluetooth con un telefono nokia e71
Para iniciar primero instalaremos las aplicaciones requeridas para esta actividad, utilizando el zypper de opensuse:

stevz@SuSER:~> sudo zypper --no-refresh in bluez wvdial 

donde wvdial  es una utilidad que ayuda a realizar conexiones a Internet basadas en módem y que se incluye en algunas distribuciones de Linux importantes, es  un marcador de Protocolo Punto-a-Punto: marca con un módem y comienza pppd en orden a conectar a Internet. La conexión comenzada con wvdial se puede dejar caer volviendo al terminal desde el que se comenzó y presionando Ctrl-C.

BlueZ es la pila Bluetooth oficial de Linux. Su meta es lograr una implementación de los estándares inalámbricos Bluetooth para Linux. En 2006, la pila soporta todos los protocolos y niveles de la especificación de base.2 Está disponible a partir de la versión 2.4.6 del núcleo.


ya con la instalacion del wvdial, procedemos a configurarlo de la siguiente forma, utilizando el editor de texto que prefieras.: 
stevz@SuSER:~/bin>vi  /etc/wvdial.conf
[Dialer nokia-bt]
Modem = /dev/rfcomm0
Baud = 3600000
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 =
Phone = *99#
Username = user
Password = user 
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 0
DialMessage1 =
DialMessage2 =
ISDN = 0
New PPPD = yes
ya configurado el wvdial que utilizaremos para realiza la conexion, pasamos a buscar el telefono que utilizaremos:

stevz@SuSER:~> hcitool scan
Scanning ...
C0:38:00:53:E3:00 Suser
00:00:FE:B3:00:45 Stevz

ya identificado la mac del terminal la configuramos en el siguiente archivo que corresponde al bluez

stevz@SuSER:~> more /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 00:00:FE:B3:00:45;
channel 2;
comment "Nokia E71 Stevz";
}
ya con esta configuracion lista pasamos a conectarnos utilizando los siguiente comando: 
Se identifica la MAC del telefono

stevz@SuSER:~> hcitool scan

Ya con la MAC lista se procede a buscar el canal que el dispositivo tiene habilitado para conexiones 


stevz@SuSER:~> sdptool search --bdaddr $MAC DUN 
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
realizamos la conexion de la maquina y el telefono via bluetooth de la siguiente forma 


stevz@SuSER:~> rfcomm bind 0 00:00:FE:B3:00:45 2

Al final utilizamos el wvdial para realizar la conexion


stevz@SuSER:~> wvdial nokia-bt 

Buenos y eso es todo, para deconectarte solo tienes que darle ctrl + c para finalizar la conexion.

Por otro lado cree un script, en el cual solo se ingresa el nombre del dispositivo movil que le hemos asignado en el bluetooth y este realiza toda la conexion el cual lo pueden encontrar aca en gist.

code

la forma de uso de este script es sencilla:

sudo 3g-dev.sh start   
Se inicia el script y te consulta el nombre del dispositivo movil

sudo 3g-dev.sh stop
Se detiene el script y realiza la desconexion del modem y el bluetooth

sudo 3g-dev.sh status
Verifica la conexion bluetooth y la ip asignada al ppp0

Espero les sirva de utilidad. 

Jueves 03 de marzo de 2011

OpenSuSE 11.4

Estamos a pocos días de liberar la nueva versión de openSUSE la que corresponde a la versión 11.4 la cual estara disponible desde opensuse


Martes 01 de febrero de 2011

Anuncio openSUSE 11.0 Alpha 3

Una buena noticia!
El dia 20 de marzo anunciaron la liberacion del OpenSUSE 11.0 Alpha 3


una muestra de los paquetes actualizados a una nueva version es la siguiente:
  • linux kernel 2.6.25-rc5
  • GCC 4.3 final
  • GNOME 2.22 final
  • Compiz 0.7.2
  • KDE 4.0.2/3.5.9
  • Zypper 0.10.2
La iso la pueden descargar de aqui opensuse 11.0 Alpha 3

Domingo 16 de enero de 2011

William Díaz

William Díaz
LEPROSYS

Reglas udev y mi dispositivo android


udev es lo que nos ayuda a interactuar con nuestros dispositivos, así que si tenemos un dispositivo con android debemos de darles unas reglas a udev para entienda que debe de darle los permisos para poder acceder a el, sobre todo si queremos utilizar el SDK si solamente queremos utilizar la memoria SD del dispositivo no es necesario crear esta regla.

Primero conectamos nuestro dispositivo a la PC por USB, para saber los ID del USB tanto de manufactura como el modelo ocupamos el siguiente comando:
lsusb
Nos saldrá algo parecido a esto:
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 15ca:00c3 Textech International Ltd. Mini Optical Mouse
Bus 008 Device 002: ID 17ef:1003 Lenovo Integrated Smart Card Reader
Bus 002 Device 003: ID 22b8:2d66 Motorola PCS

Debemos de reconocer nuestro dispositivo android, por ejemplo el mio es un celular Motorola MB200 entonces es el que tiene el nombre Motorola PCS y tiene los IDs 22b8:2d66.

Ahora que ya se los IDs paso a crear la regla para udev, con cualquier editor de texto y con permisos de root:
vim /etc/udev/rules.d/51-android.rules

Y lo que este archivo debe de tener es lo siguiente:
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct} =="2d66", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"

En este punto solo falta ver las cosas que van a cambiar por ejemplo:

  • ATTRS{idVendor}=="22b8" : es el ID del vendedor y lo conocemos porque lo sacamos anteriormente con el comando lsub y son los primeros 4 dígitos antes de los dos puntos.
  • ATTRS{idProduct} =="2d66" : es el ID de nuestro dispositivo y como en el anterior caso lo conocemos por lo que nos dice lsusb y son los siguientes 4 dígitos después de los dos puntos.
  • GROUP="plugdev" : significa que le dará permisos 0666 aquellos usuarios que estén en el grupo plugdev, así que debes de estar en el grupo plugdev o cambiar el nombre del grupo de plugdev por ejemplo a users.
  • Nota: para saber en que grupos esta el usuario esta el comando: groups

Para que nos reinicies y los cambios sean aceptados, como root ejecutar el siguiente comando:
udevadm control --reload-rules

Conectamos nuestro dispositivo a la computadora pero antes debemos asegurarnos que esta en modo Debug en Configuración > Aplicaciones > Desarrollo > Depuración de USB

Ahora ya podremos usar el SDK en nuestro dispositivo con android :p

Domingo 19 de diciembre de 2010

William Díaz

William Díaz
LEPROSYS

Aplicaciones Qt con apariencia GTK


El día de hora pase viendo como cambiarle la apariencia a las aplicaciones Qt para que parecieran al tema GTK que utilizo actualmente, la manera de hacerlo es sencillo:
  1. Instalar qgtkstyle
  2. Ejecutamos: qtconfig
  3. En seleccionar el tipo de GUI: GTK

Si usamos gentoo o derivado necesitamos el soporte de qt3support en qt-ui para que podamos ejecutar qtconfig.
Y así de fácil guardamos cambios y es todo.

Martes 28 de septiembre de 2010

Manuel Villatoro

Manuel Villatoro
NeoZero's (¬¬) Blog

WebDav y Apache2

Problema:

Quiero poder modificar mis archivos sin necesidad de de usar ftp, ssh, sftp, etc.. solamente desde la web.

Solución:

Utilizar WebDav [1] permite modificar ver/descargar/modificar archivos desde el mismo protocolo http (WebDav es una extension del protocolo http)

Advertencia

Se recomienda utilizar el http segugo (https) para que los datos de la autenticación no viajen en texto plano, cosa que no se tocará en esta receta. La referencia completa esta en [3]

Howto

Notas preliminares

Sistema: Debian GNU/Linux Lenny i386
Apache: Version 2.2

Instalacion

Instalamos el apache2
 aptitude install apache2

Habilitamos los modulos del apache

 a2enmond auth_digest
a2enmond dav
a2enmond dav_fs
a2enmond authn_file

Creamos el archivos de usuarios/clave

 htdigest -c /var/www/webdav_passwd webdav-ejemplo manolo

Configuramos el Default VirtualHost

Pueden ver las opciones completas de webdav en [2] y de autenticacion en [3].

Alias /webdav /var/www/

Dav On
AuthType Digest
AuthName "webdav-ejemplo"
AuthDigestProvider file
AuthUserFile /var/www/webdav_passwd
Require valid-user

Reiniciamos el apache

 /etec/init.d/apache2 restart

Prueba

Instalación del cliente

  aptitude install cadaver
Probar su funcionamiento
  cadaver http://localhost/webdav/
Si todo va bien verán algo como esto:
  server1:~# cadaver http://localhost/webdav/
Authentication required for test on server `localhost':
Username: test
Password:
dav:/webdav/> quit
Connection to `localhost' closed.
server1:~#

Referencias

[1] http://es.wikipedia.org/wiki/WebDAV
[2] http://httpd.apache.org/docs/2.2/mod/mod_dav.html
[3] http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html
[4] http://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch

Miércoles 21 de julio de 2010

Gustavo Burgos

Gustavo Burgos
Debian Tavo

Administración de impresores en linux (Debian mi caso)

Hace un par de días postie algo sobre la configuración de una impresora en linux
y muchos amigos windowseros me dijeron que los sistemas unix/linux es un dolor
de cabeza administrar algo como printers.
Así que por ahí les dejo un par de capturas de mi pantalla administrando un impresor
en linux con CUPS, que por cierto es superior a win2 hasta en la paguina de prueba....XD


Lunes 12 de julio de 2010

Gustavo Burgos

Gustavo Burgos
Debian Tavo

Instalar Canon IP2700 en Debian Lenny.

El día de hoy compre un printer canon ip2700 y como soy usuario Debian me di la tarea de hacerlo andar
en mi querida distro.

primero que nada nos bajamos los drivers del siguiente link.

con el archivo descargado, lo extraemos y buscamos dentro de la carpeta extraída una carpeta llamada
packages e instalamos los dos archivos que ahí se encuentran los dos son .deb.

instalacion desde la consola.

# dpkg -i cnijfilter-common_3.30-1_i386.deb
# dpkg -i cnijfilter-ip2700series_3.30-1_i386.deb

conectamos la impresora y la encendemos y esta lista para imprimir, si ya la habías encendido antes
y el sistema te la reconoció tendrás que eliminarla y apagar el printer y volverlo a encender.

para eliminar el printer sistema--Administración--imprimiendo. y ahí se elimina

para probar el printer desde Cups abrimos nuestro navegador preferido y en el URL escribimos
localhost:631 click en impresoras y después click en imprimir pagina de prueba. Entones tendremos
una verdadera pagina de prueba de impresión, no como la pobre pagina que muestra win2.

espero que a alguien le sirva...

Gustavo Burgos (gnburgos)


Viernes 20 de noviembre de 2009

Manuel Villatoro

Manuel Villatoro
NeoZero's (¬¬) Blog

Programacion Linear: Debian GLP-Solve

Hace ya un par de años que llevé Metodos de Optimización (MOP115) o su equivalente Investicagion de Operaciones (IOP115) en la Facultad de Ingeniería y Arquitectura en la Universidad de El Salvador, cosa que mi memoria no recuerda muy bien.

Hoy un compañero que lleva Manejo de Software para otras ingenierias (Que no es Ing. de Sistemas) le dejaron una tarea de explicar un programa para esa materia, y encontró GLP-Solve [1] que resulve problemas de programación lineal.

Como todo debianero, puse a mi disposicion mis habilidades (con ayuda de leprosys [2]) instalandolo en un sistema Debian Lenny GNU/Linux.

Manos a la obra

Lo primero es descargar el archivo compreso:
Descargar GLP-SOLVE
$wget http://carleos.epv.uniovi.es/~juan/dist/GLP-Solve-1.2.tar.gz
Autenticarse como usuario root
$su

Instalar las dependencias:

libgtk2.0-dev
libgnomeui-dev
libgtksourceview-dev
libgnomeprintui2.2-dev
lp-solve
liblpsolve55-dev

# aptitude install libgtk2.0-dev libgnomeui-dev libgtksourceview-dev libgnomeprintui2.2-dev lp-solve liblpsolve55-dev

Hacer un enlace de la libreria compilada liblpsolve55.so en /usr/lib/ con:
# ln -s /usr/lib/lp_solve/liblpsolve55.so /usr/lib/

Descomprimir el archivo

# cd ./GLP-Solve-1.2

Empezar la compilacion.
Configurar el sistema

# liblpsolve_CFLAGS=-I/usr/include/lpsolve liblpsolve_LIBS="/usr/lib/lp_solve/liblpsolve55.so" ./configure --prefix=/usr --docdir=/usr

Compilar
# make


Instalarlo
# make install
# exit

Ejecutarlo con:
$ glp-solve






[1] http://carleos.epv.uniovi.es/~juan/
[2] http://www.leprosys.info/

Martes 17 de noviembre de 2009

Manuel Villatoro

Manuel Villatoro
NeoZero's (¬¬) Blog

Problema X11 Caraceteres

Hace cuatro dias, despues de trabajar un rato en mi debian con gnome, de repente aparecieron estos caracteres en donde deberia aparecer texto.


Despues de esperar, y buscarle solución, intenté:

dpkg-reconfigure fontconfig-config
dpkg-reconfigure fontconfig

Pero sin ningun resultado.
Al ver los logs de .xsession-errrors sale:

(gnome-appearance-properties:8121): Pango-WARNING **: shaping failure, expect ugly output. shape-engine=’BasicEngineFc’, font=’ESP 14′, text=’Spanish (Español) ¡Hola!’

SOLUCION:

Cambiar los permisos de las fuentes, por que al no leerlas no halla como renderizarlas y solo hacemos :
$su
#chmod 777 -R /usr/share/fonts

Y LISTO, ya funciona como deberia.. kkzo

Lunes 29 de junio de 2009

Melvyn Gomez

Melvyn Gomez
elsimio

Asamble General Extraordinaria de Linux SV y otras Comunidades de Software Libre

el día de ayer se celebro una reunión de LinuxSV junto a otras Comunidades de Software Libre de El Salvador para tratar de reorganizarnos, estuvo todo muy bien; ya días no se celebraba una la ultima fue en diciembre del 2005, el extracto de lo hablado lo pueden ver acá.

Martes 26 de mayo de 2009

Melvyn Gomez

Melvyn Gomez
elsimio

TuxPuck

Por sugerencia de johpunk instale tuxpuck en mi debian y luego de nancear un rato que no hacia ni un pinche gol, al final le pude ganar a arcana y luego a jugar en contra de tux, después de una nanceada buena le pude hacer un gol, creo que ya tengo diversión por otro buen tiempo hasta que logre ganarle a tux, les dejo el reto que le hagan un gol y si pueden le ganan.