Router Debian (I)
Feb 13, 07:36 PM
Feb 13, 07:36 PM
Vamos a utilizar un pc con la distribución Debian de Linux para compartir una conexión a Internet mediante modem.
1. Configuración NAT
Necesitamos configurar iptables para que haga las traducciones de red necesarias. Para ello usamos, en modo root, el siguiente comando:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
2. Guardar la configuración iptables
En otras distribuciones se hace mediante la siguiente linea
/etc/init.d/iptables save active
Si bien hay formulas para incorporar el script a Debian podemos usar el siguiente procedimiento:
- Guardamos la configuración actual de iptables en un archivo (normalmente en /var/lib/iptables/)
iptables-save -c > archivo - Creamos un script que ejecute la utilidad de restauración de iptables en if_up.d
echo "iptables-restore -c < archivo" > /etc/network/ip-up.d/inicio-iptables - Damos permisos de ejecución a dicho script
chmod a+x /etc/network/if-up.d/inicio-iptables
3. Habilitar el enrutamiento
echo "1" > /proc/sys/net/ipv4/ip_forward
Esto permite al sistema pasar los paquetes de una interfaz de red a otra. Para que esto sea permanente en cada inicio, ponemos a yes la opcion ip_forward del fichero /etc/network/options.
En los equipos clientes, basta con poner en puerta de enlace o gateway la dirección ip de nuestro equipo-router e introducir correctamente los servidores DNS si la configuración de la ip del cliente es estática.
Para mas información, consultar
Macnux
How to forge
Linux Magazine
Degradar un paquete en Debian
Feb 8, 12:03 PM
Feb 8, 12:03 PM
Como ya comenté, he conseguido lo que muchos novatos en Linux, desetabilizar el sistema con paquetes unstable. Pues bien, una de las ‘inestabilidades’ era el programa aMule, que me mandaba el siguiente error y no era capaz de arrancar:
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.6 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4),
and your program used 2.6 (no debug,Unicode,compiler with C++ ABI 102,wx containers,compatible with 2.4).
Abortado
Pues bien, buscando y buscando, he encontrado que el tema era que el programa en cuestión no era compatible con la última versión de wxGTK. Supongo que para los linuxeros mas o menos experimentados será una tontería, pero yo que ando todavía descubriendo nimiedades, el hecho de darme de que el gestor de paquetes Synaptic permite degradar un paquete a una versión anterior me ha parecido verdaderamente genial (uno venía de Red Hat, gestionando paquetes en rpm a pelo).
Pues eso, en el gestor Synaptic, en menú Paquete, existe la opción ‘Forzar versión’, con la cual puedes bajar la versión del paquete en cuestión. Es tan fácil que hasta da un poco de vergüenza ;). Ahora el tema ¿como se hará con apt desde consola?
Debian estable desestabilizado
Feb 6, 01:11 AM
Feb 6, 01:11 AM
Se me ocurrió instalar los paquetes de nDoc (un generador de documentación para .NET) desde un repositorio no oficial de debian. Dichos paquetes dependian de otros que no eran estables. El caso es que me han descolocado la configuración del teclado y los locales del Gnome, y tengo bonitas sorpresas cuando estoy en Debian. El gFTP se cierra solo, el firefox se cualga a veces, tengo inhabilitado un desklet del panel, las flechas y el borrar no continúan cuando las mantienes pulsadas… en fin un desastre.
Moraleja: no instales paquetes unstable en una distribución debian stable. Tirarás por los suelos eso de ‘uy, pues mi linux va muy bien’. Para eso usa un chroot (ya lo explicaré en otro post).
Enviador de correo .NET
Feb 6, 12:25 AM
Feb 6, 12:25 AM
A modo de hobby y sin prisas estoy creando una aplicación de gestión para asociaciones. La idea es crer una aplicación en Linux, pero a ser posible portable a Windows, de manera que se favorezca el paso de una plataforma a otra cuando sea conveniente. Para ello había escogido la plataforma .NET, pues a raíz de un curso, descubrí la programación en C#, que es verdaderamente cómoda, y opté por esta para mi aplicación.
Cierto es que uno proviene del mundo Windows, pero descubro y admiro la opción Linux cada vez mas. Después de unos primeras pruebas con SharpDevelop y MySql, descubrí el proyecto Mono, que traslada la plataforma .NET a Linux. Ni corto de perezoso, me he puesto a elaborar uno de los módulos de mi aplicación con Mono, la librería de envío de correo. Junto a esta, una aplicación de prueba que se terminado por convertir en una utilidad por si misma (utilidad dudosa, eso si, como no sea para testear cuentas) que consiste en un programa enviador de correos electrónicos.
Tal cual habeis leido, no se trata de un gestor de correo, es mucho mas simple. Un programa que permite, introduciendo los datos del servidor SMTP, envíar directamente un correo (con datos adjuntos), mostrando una consola con las peticiones y respuestas del servidor.
El programa precisa de Mono 1.1.13 para correr en Linux. Para Windows, funciona tanto con la misma versión de Mono o con el .Net Framework de Windows junto al runtime de GTK# versión 2.7.1
Podeis descargar tanto la librería de cliente smtp, el ejecutable y las fuentes en la seccion de recursos
De nuevo en mono
Feb 5, 11:25 PM
Feb 5, 11:25 PM
Bueno, con la versión 1.1.13 de mono se arreglan muuchas cosas. Por lo pronto, la portabilidad de programas hechos en Linux a Windows mejora (especialmente con la última versión del runtime de GTK#). Por lo tanto me he puesto a programar y he culminado mi pequeño experimento, el cual prefiero comentar en un artículo aparte.
De C# a C++
Jan 7, 01:00 AM
Jan 7, 01:00 AM
Parece raro ¿no? El caso es que estoy desarrollando desde Linux una aplicación que quiero que corra tanto en este como en Windows. Comencé a desarrollarla bajo Mono 1.1.10 y Gtk#, usando glade. Después de una par de ajustes, y de enterarme un poco como se aplica el proyecto de glade al monodevelop, las primeras pruebas iban bien… bajo Linux.
Cual ha sido mi sorpresa cuando, al intentar ejecutar en Windows, ha empezado a darme errores por todos lados. Me bajé el runtime del Gtk# para Windows desde la web de novell, lo instalo y empiezo a probar. Errores al ejecutar desde .net ¿? no encuentra ensamblados del gtk# ¿?¿?. Copio a mano los ensamblados al GAC del .net y nada… Probamos con mono para windows… Bien, crea la ventana, le damos al botoncito… puf, error con ICSharpCode :(((
El caso es que, leyendo de foro en foro, me he desencantado un poco con el mono este. El C# es un lenguaje muy mono, ágil, versátil y con un montón de funcionalidades, pero no parece estar maduro para programar desde Linux. Así que me he encargado a la tienda un libro de Gtk+/Gdk y voy a investigar las aplicaciones con c++. Por ahí encontré un tutorial para portar aplicaciones gtk a Windows que pienso poner en práctica.
De momento, espero poner a vuestra disposición pronto,en la sección de Recursos, las primeras pruebas de librerias y un mini programa de envío de correos, tanto con c++ como bajo .net.
