Blog de Daniel Zegarra Rotating Header Image

Tutoriales

Configurando un gateway de red con Ubuntu

Ya había explicado lo simple que era compartir nuestra conexión a internet con Windows, ahora explicare como hacerlo con Ubuntu.

Para lograrlo necesitamos dos cosas:

  • Instalar y configurar el servicio dhcp. Para entregarle la configuración a los demás equipos de la red.
  • Configurar las iptables del equipo con conexión a internet para que funcione como gateway.
  • Definir la configuración de red del servidor gateway.

El servicio dhcp

Para instalarlo abres el terminal y escribes:

sudo apt-get install dhcp3-server

Ahora, debes decirle al servidor dhcp en que dispositivo de red debe trabajar. Si no sabes cual elegir el comando ifconfig te dará un listado de todos los dispositivos de red instalados. Asegurate de identificar el que necesitas.Los que inician con eth# son las tarjetas de red por cable y los wlan# las tarjetas inalámbricas. Los ppp# suelen ser dispositivos modem.

Una vez que lo tengas identificado abre y edita el archivo /etc/default/dhcp3-server con el siguiente comando:

sudo gedit /etc/default/dhcp3-server

En este ejemplo estoy usando gedit como editor de textos. Puedes usar otro como nano o vi si no cuentas con un entorno grafico.

Cambia eth0 por el que necesites, por ejemplo:

INTERFACES="wlan0"

Luego, abres y editas el archivo /etc/dhcp3/dhcpd.conf de la misma manera que el fichero anterior. Reemplaza el contenido del archivo con el siguiente texto:

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;

#DNS's de tu proveedor de internet
option domain-name-servers 213.158.199.1, 213.158.199.5;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.150 192.168.0.200;
}

En este ejemplo se define una red de clase C (192.168.###.###) y se darán IPs del 192.168.0.150 al 192.168.0.200. En option domain-name-servers se definen los servidores DNS’s. Debes reemplazarlos con los que tu proveedor de internet te asigna. Pueden encontrarlos en el fichero /etc/resolv.conf.

Para probarlo, ejecuta el siguiente comando para detener el servicio (si ya estuviera ejecutándose) y volverlo a iniciar:

sudo /etc/init.d/dhcp3-server restart

Nota: Debes asegurarte que el dispositivo de red donde dhcp3-server va ha trabajar esta conectado a la red. De lo contrario el servicio podría no iniciar.

Configurar los iptables

Abre el fichero /etc/sysctl.conf y retira el comentario de la siguiente linea:

net.ipv4.ip_forward=1

Nota: Las lineas comentadas llevan el signo # para ser ignoradas por el sistema.

Luego ejecuta el siguiente comando para aplicar los cambios efectuados:

sudo sysctl -p

Ahora, el siguiente comando configurara las iptables para que enmascaren los paquetes recibidos desde la nat hasta el dispositivo ppp0. Reemplaza ppp0 por el dispositivo de red que configuraste con el servicio dhcp:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

Si deseas que el gateway este disponible en cada inicio del sistema agrega al fichero /etc/rc.local el ultimo comando ignorando el “sudo” inicial para que quede de la siguiente manera:

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
exit 0

Configurando manualmente nuestra conexión a la red local

Si cuentas con un entorno gráfico lo puedes hacer usando el administrador de redes que tiene Ubuntu. De lo contrario, debes configurar tu red desde la consola. Para ello abre el fichero /etc/network/interfaces.

El paso siguiente depende si esta ya configurado el dispositivo de red y como lo esta. Reemplaza los #### con el nombre del dispositivo conectado a la red local (el mismo al que el servicio dhcp esta sirviendo).

Si encuentras la linea iface #### inet dhcp elimínala.

Si encuentras la linea iface #### inet static suprimes desde esta linea hasta antes de empezar el siguiente iface... o hasta el final del archivo.

Una vez que ya no este definida una configuración para este dispositivo de red escribir lo siguiente:

iface #### inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1

Guardar el archivo y corres el siguiente comando para aplicar la nueva configuración a los dispositivos de red:

sudo /etc/init.d/networking restart

Con esto ya tienes tu gateway y servidor dhcp configurado y funcionando.

Enviar y recibir SMS’s usando el modem 3G

Recibir SMS’s es lo que menos te preocupa cuando compras un modem 3g, lo unico que deseas es que sea rápido y compatible con Windows y Ubuntu (o Mac).

Asi era mi caso hasta que me di con la sorpresa que la web de mi proovedor de internet me envíaba un SMS con una clave de un solo uso para poder entrar al panel de administración de mi cuenta.

No hay problema si usas Windows, usualmente el modem viene con una aplicación que te informa cada vez que recibes un mensaje. Pero en Linux, si bien Ubuntu detecta y configura el modem con suma eficiencia, no hay manera (con las herramientas nativas de Ubuntu) de leer o recibir mensajes SMS.

Por suerte existe Gammu, un proyecto que permite controlar tu telefono gracias a su libreria llamada libGammu. Junto con el proyecto, y para hacerlo mas simple, esta Wammu, una aplicacion de entorno grafico que utiliza la libreria libGammu para el mismo proposito.

Puedes encontrar Wammu en los repositorios de Ubuntu o lo puedes descargar desde http://wammu.eu/download/ .

Luego de instalarlo debes configurar la aplicación para tu teléfono/modem. Si no lo logras usando el asistente puedes encontrar la configuración deseada en http://wammu.eu/phones/ . Yo encontré la mía ahí, el modem Huawei E160G.

Mientras estoy conectado a internet Wammu se congela segundos después de conectarse al modem y solicitar la lista de mensajes recibidos. No funcionara perfectamente pero al menos llego a leer el que necesitaba.

Modem 3G, Windows y el error 31

Un dispositivo conectado al sistema no funciona… ese es el error que mostraba Windows cada vez que intentaba conectarme a internet por primera vez usando el módem 3G que acababa de comprar.

Modem Huawei E160g

Modem Huawei E160g

Pase una hora intentando de todo, probé en todos los puertos USB, busque información que me pudiera servir en los papeles que vinieron con el paquete, desinstale e instale el software varias veces, borre los controladores y deje que Windows los volviera a instalar, restaure el sistema, etc.

Cansado y convencido de que:

  • Yo era un completo idiota que no podía hacer funcionar un módem que según el vendedor simplemente debía “conectarlo y empezar a navegar”
  • El módem tenia un problema de fabrica.

Empecé a buscar entre la documentación algún numero de teléfono de ERA donde pudiera llamar y preguntar si es que algo se me esta pasando por alto y si, por favor, me pudieran responder en ingles en lugar de polaco.

Al no encontrar soporte en ingles me resigne a esperar el día siguiente para poder llevar mi laptop a la tienda. Luego de una hora se me ocurre conectar el modem en la laptop de mi esposa y… magicamente… si funciona ahi!

Estube revisando las diferencias entre una y otra. Las dos usan Windows 7, estan libres de virus, tienen casi lo mismo instalado, cuentan con puertos USB 2.0. La única diferencia que pude encontrar es que la suya no contaba con un módem integrado.

ERA Polska

ERA Polska

Ahora ya con internet en una laptop pude investigar y corroborar que no se trataba de un problema del módem sino de windows y además, que no era el único con este problema. Muchos usuarios encontraron soluciones diversas, las mas drásticas: Reinstalando todo el sistema operativo y otros, corriendo un archivo llamado rarepair.exe de dudosa procedencia.

La unica referencia a este problema en la web de Microsoft se puede encontrar en este enlace, pero segun esto el problema fue encontrado y solucionado el 24 de Julio del 2007, eso fue hace 2 anos. Por que aparece este problema aun con Windows 7?

Yo decidí arriesgarme y ejecutar rarepair.exe porque no estaba dispuesto a reinstalar todo mi sistema operativo del que estaba seguro, no tenia ningún problema. Deshabilite todas los dispositivos de red desde el administrador de dispositivos y cori el programa. Luego de reiniciar el SO un par de veces el programa termino por instalarme unos dispositivos de red inexistentes y que Windows marcaba como “no se encuentra el dispositivo” pero a pesar de eso, efectivamente rarepair.exe logro su objetivo.

“Conecte el módem y empecé a navegar” como dijo el vendedor de ERA.

Unos días después el mismo error 31 apareció en la laptop de mi esposa, la que no tenia problemas al principio. Ejecute rarepair.exe en esa laptop, los adaptadores inexistentes se instalaron… y la conexión a internet volvió a funcionar.

Pase mi laptop a Ubuntu y allí, realmente, todo fue un “conectar y usar” (al menos el primer día).

Puedes descargar rarepair.exe haciendo clic en el siguiente enlace: Descargar rarepair.exe

Compartir internet usando adaptadores WiFi

Compramos un modem HSDPA para conectarnos a internet pero tenemos dos laptops. Asi que hasta hace unos minutos solo una de las dos computadoras podria navegar a la vez, la que tuviera el modem.

Estube buscando una manera de compartir el internet via inalambrica y lo primero que se me ocurrio fue hacerlo via bluetooth. Aunque hay maneras de hacerlo por esta via, depende de si tu adaptador bluetooth lo permite. Yo tengo dos adaptadores Kensington USB Adapter 2.0, uno para cada laptop y lamentablemente no cuentan con esta caracteristica (al menos no con Windows 7).

Luego, cansado, se me ocurre buscar una solucion usando las tarjetas wifi que vienen integradas. Fue entonces cuando por fin aprendo que son las redes Ad-hoc. Sinceramente, que alegria senti.

Empiezo por entrar al Centro de redes y recursos compartidos y luego eligo la opcion Configurar una nueva conexion o red.

Configurar una conexion de red

Configurar una conexion de red

Selecciono Configurar una red ad hoc inalambrica y presiono en Siguiente. Te mostrara una breve descripcion de lo que estas a punto de hacer, solo continuas.

Creando una red ad hoc

Creando una red ad hoc

Eliges un nombre de tu red y la clave para encriptar los datos. Y por ultimo, eliges compartir tu conexion a internet por este medio.

Compartir Internet

Compartir Internet

Listo, ya tengo mi nueva red inalambrica ad hoc. Ahora, para conectarme a ella tan solo la busco como a los hotspots wifi.

Conectandose a una red ad hoc

Conectandose a una red ad hoc

Afuera hace 3 grados y creo escuchar truenos. Sigue pendiente mi post sobre Europa.

Probando distribuciones de Linux

He estado buscando un sistema operativo ligero para las precarias máquinas de mi amigo Marte. Ya conozco todas las versiones de Windows y la única que recomendaría es el Win7, pero esta no correría en una Pentium II así que es la primera descartada.

Pensando en la plataforma Linux, hay varias distribuciones para elegir:

Ubuntu
Muy conocido y utilizado. Por lo tanto, es probable que si te topas con un problema, en Internet alguien ya haya colgado la solución. No es muy ligero pero si robusto. Su interfaz es simple y facil de comprender. Ademas, el entorno gráfico es muy completo. Casi todas las aplicaciones que necesites las instalarás desde el gestor de aplicaciones.

Ubuntu 9.10

Ubuntu 9.10

Kubuntu
Es la versión de ubuntu con el entorno gráfico KDE en lugar de Gnome. Personalmente KDE me parece mas estilizado pero de acabado tosco, como barato. También creo que requiere de mas recursos gráficos.

Kubuntu 9.10

Kubuntu 9.10

Lubuntu
Una distribución nueva pensaba para equipos de bajo nivel pero aún se encuentra en una versión beta y con hartos bugs.

Lubuntu 9.10 b23

Lubuntu 9.10 b23

Puppy
Otra versión muy ligera pero también recontra fea. No esperes mucho de esta, pero seguro corre sin problemas en una Pentium I.

Puppy 4.1.1

Puppy 4.1.1

Slax
Esta tiene casi las tres B’s. Es ligera, el soporte de su web es bueno, muy personalizable. Las manera de instalar aplicaciones es novedosa y el soporte de estas es constante. Los gráficos tampoco están mal.

Slax 6.1.2

Slax 6.1.2

En conclusión
Depende por supuesto del hardware del equipo. Esto es lo que recomendaría si me encontrara con:
80486 : No te queda otra que Puppy o Windows 95.
Pentium I : Puppy, Windows 98. Si tienes mas de 128MB de RAM entonces podrías probar Windows ME o Slax.
Pentium II : Windows 98/ME/XP (Fenix edition), Slax.
Pentium III o AMD Duron : Windows XP (desactivando servicios inútiles), Slax.
Pentium IV o AMD Athlon: Windowx XP, Ubuntu.
Intel DualCore/Core2Duo, AMD Phenom : Vista/7, Ubuntu, Kubuntu.

Por supuesto que lo que recomiendo para una Pentium II una Pentium IV podría correrlo.