Hola, nos encontramos nuevamente, esta vez para entregarles una tercera versión (aquí la primera y la segunda)de un método para compartir nuestra la conexión de internet hacia otras máquinas o inclusive toda un LAN. Esta versión se destacará por su extrema simpleza, pero antes debemos asumir que…

  1. Estamos conectados a Internet.
  2. Tenemos una interfaz de red libre.
  3. Tenemos algún Linux con Gnome y NetworkManager 0.7 o mayor (a partir de Ubuntu 8.10 esto es posible)

Lo único que debemos hacer es crear una conexión nueva haciendo click derecho en el icono del Network Manager y seleccionar “Editar las conexiones…” en el menú contextual.

Con esto se nos desplegará la siguiente ventana…

En dicha ventana en la solapa “Cableada” damos click en el botón”Añadir”, para crear la nueva conexión encargada de brindar internet a la máquina o LAN deseadas.

.

.

..


.

Al momento de crear, necesitaremos ingresar un nombre de la conexión, el cual será indistinto, en este caso le puse “Compartida” y en la solapa de “Ajustes de IPv4” seleccionamos el método “Compartida con otros equipos”. Solo queda conectar las otras PCs y seleccionar la conexión haciendo click en el icono del Network Manager como muestra la imagen a continuación y seleccionar la conexión “Compartida”. Buen provecho.

.

Siguiendo mi “fanatismo” por el hardware relacionado con redes me encuentro en MáximoPC con el review de un NAS (Network Attached Storage) de la firma Qnap, para que se entienda es como tener un disco rígido accesible a través de la red, de modo que podríamos tener nuestra información, ya sea fotos, videos, base de datos y un gran etc. compartida en la red y accesible por ejemplo desde un HTPC, Qnap posee soluciones de uso personal así como para ambientes corporativos.TS-219P_08

Adentrándome en el review y en la página oficial me encuentro con las especificaciones técnicas de uno de estos aparatitos destinados a hogares y pequeñas oficinas como es el modelo TS-219P Turbo NAS y me encuentro con estas muy interesantes capacidades entre otras.

  • Capacidad para dos discos rigidos con soporte para RAID (deben adquirirse por separado) con Hot Swap.
  • 1 puerto Gigabit LAN, 3 USB y 2 eSATA.
  • Servidor FTP.
  • Servidor de archivos (SMB).
  • Servidor de impresión.
  • Servidor Web.
  • Servidor de iTunes.
  • Base de datos MySQL.
  • Aplicaciones de Backup específicas.
  • Instalacion de aplicaciones extras (emule, wordpress)
  • Soporte para descargas Bittorrent/FTP/HTTP (podemos dejarla descargando toooodo el día).
  • Soporte para 2 cámaras IP (vigilancia).
  • Interfaz web sencilla para su configuración.
  • Consumo de 5 W en reposo y 21 W a pleno. (dato importante)
  • CPU basada en ARM.

Debo confesar que me vi sorprendido con la cantidad de características ofrecidas, fue entonces que quise interiorizarme un poquito más para descubrir el “secreto” de tanta generosidad, aunque ya tenía mis sospechas. Se trata de un sistema basado en GNU/Linux (embedded) lo que es más que lógico, ya que con semejante nivel de complejidad sería extremadamente caro realizar desde cero una plataforma con tales características.

Solo me queda por decir que me gustaría en algún futuro monetario tener centralizada cierta información en uno de estos bichitos. Muy lindo, podría hacerme el mío.

 

En un post anterior escribimos un tutorial para compartir la conexión a internet mediante Firestarter,  ahora quisiera lograr lo mismo pero sin tener que instalar nada, solo con comandos en la consola.

Antes trataré de hacer una introducción para saber de que estamos hablando. Supongamos que tenemos contratada una conexión a internet, tenemos nuestra máquina con Ubuntu (supongo que con cualquier distribución debería funcionar) conectada directamente a internet y queremos darle el servicio a otras máquinas, con caulquier sistema operativo, que deberán conectada en red con esta, para ello necesitamos que nuestro Ubuntu realice las siguientes tareas

  1. Tenga configuradas dos interfaces, una conectada a internet y otra a la red interna (pueden ser dos interfaces físicas o solo una, con un alias).
  2. Habilitar NAT.
  3. Habilitar el ruteo de paquetes.

Luego en los clientes debemos configurar las interfaces de red con los siguiente datos

  1. Dirección IP y máscara de red.
  2. Dirección del gateway.
  3. Dirección servidor DNS.

Procedamos a configurar nuestro gateway de internet (Ubuntu).

  • Configuración de las interfaces

Antes que nada, listaremos las interfaces de red en el equipo que hará de gateway.

ifconfig

Nos arrojará algo así

eth0 Link encap:Ethernet  direcciónHW 00:08:54:d5:b6:15
dirección inet6: fe80::208:54ff:fed5:b615/64 Alcance:Vínculo
ARRIBA DIFUSIÓN CORRIENDO MULTICAST  MTU:1500  Métrica:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:9
colisiones:0 txqueuelen:1000
RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)
Interrupción:18 Dirección base: 0xa000

eth1 Link encap:Ethernet  direcciónHW 00:14:85:d1:56:f1
dirección inet6: fe80::214:85ff:fed1:56f1/64 Alcance:Vínculo
ARRIBA DIFUSIÓN CORRIENDO MULTICAST  MTU:1500  Métrica:1
RX packets:213659 errors:0 dropped:0 overruns:0 frame:0
TX packets:86905 errors:0 dropped:0 overruns:0 carrier:0
colisiones:0 txqueuelen:1000
RX bytes:97185066 (97.1 MB)  TX bytes:35852528 (35.8 MB)
Interrupción:20 Dirección base: 0x8000

lo Link encap:Bucle local
inet dirección:127.0.0.1  Máscara:255.0.0.0
dirección inet6: ::1/128 Alcance:Anfitrión
ARRIBA LOOPBACK CORRIENDO  MTU:16436  Métrica:1
RX packets:280 errors:0 dropped:0 overruns:0 frame:0
TX packets:280 errors:0 dropped:0 overruns:0 carrier:0
colisiones:0 txqueuelen:0
RX bytes:11104 (11.1 KB)  TX bytes:11104 (11.1 KB)

ppp0 Link encap:Protocolo punto a punto
inet dirección:201.234.173.139  P-t-P:201.234.173.3  Máscara:255.255.255.255
ARRIBA PUNTO A PUNTO CORRIENDO NOARP MULTICAST  MTU:1492  Métrica:1
RX packets:90905 errors:0 dropped:0 overruns:0 frame:0
TX packets:86416 errors:0 dropped:0 overruns:0 carrier:0
colisiones:0 txqueuelen:3
RX bytes:84076601 (84.0 MB)  TX bytes:33574174 (33.5 MB)

En donde eth0, eth1, lo y ppp0 son las interfaces de red, en mi caso ppp0 es la que está conectada a internet y eth1 la que proveería de internet a las demás máquinas (red interna). Puede ser que este no sea el caso de todos, podría darse que eth0 sea la interfaz conectada a internet o eth1, todo dependerá con que tipo de conexión cuentes. Debo aclarar que eth0 y ppp0 es la misma interfaz física (placa de red), mientras que eth1 es otra placa de red. Como ppp0 ya está configurada solo deberemos configurar eth1 asignándole una dirección IP (de la red interna) y una máscara de red, todo eso con el siguiente comando:

sudo ifconfig eth1 192.168.0.1 netmask 255.255.255.0

Podemos ver que le hemos asignado la IP 192.168.0.1 con máscara 255.255.255.0, esa dirección deber pertenecer a la red donde estarán conectadas los clientes, de manera que estos deberán tener una dirección del tipo 192.168.0.X (2 < X < 254) con la misma máscara.

Si no contáramos con dos placas de red podemos crear un alias nuestra interfase eth0, eso lo hacemos con en siguiente comando

sudo ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0

  • Habilitando NAT

Lo haremos con 3 comandos, siempre respetando como hemos configurado nuestras interfaces. Para nuestro caso sería:

sudo iptables -A FORWARD -i ppp0 -o eth1 -s 192.168.0.0/24 -m state –state NEW -j ACCEPT
sudo iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE

  • Habilitando ruteo

Lo haremos con un simple comando

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

  • Configurando los clientes

Cada cliente deberá ser configurado con una direccion IP perteneciente a la red interna de la forma 192.168.0.X, con gateway (puerta de enlace) 192.168.0.1 y con el servidor DNS que nos proporcione nuestro proovedor. Si no lo sabemos, podemos conocerlo haciendo en la maquina conectada a internet:

cat /etc/resolv.conf

Dicho comando nos arrojará algo así

# Generated by NetworkManager
nameserver 201.234.173.3
nameserver 200.55.20.52

Donde esas dos direcciones son los servidores DNS.

Todos estos comandos deben ser reaplicados cada vez que se reinicie la PC, por eso no estaría de más crear un script como el siguiente que realice todo esto de una sola vez,

#Configuramos interfaz de la red interna

sudo ifconfig eth1 192.168.0.1 netmask 255.255.255.0

#Habilitamos NAT

iptables -A FORWARD -i ppp0 -o eth1 -s 192.168.100.0/24 -m state –state NEW -j ACCEPT

iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT

iptables -A POSTROUTING -t nat -j MASQUERADE

#Habilitamos ruteo de paquetes

echo 1 > /proc/sys/net/ipv4/ip_forward

Guardamos como un archivo de texto en nuestro home con el nombre “compartir” y lo ejecutamos de la siguiente manera.

sudo sh compartir

Espero te funcione. Saludos.


Hoy, queridos amigos, aprenderemos a compartir nuestra conexión a internet. Para esto necesitaremos que nuestra PC con Ubuntu esté directamente conectada a internet, puede ser a través de un servicio adsl, una LAN u otros. Además necesitaremos que esta PC tenga dos placas de red.

Además necesitaremos instalar Firestarter y un servidor DHCP (no es indispensable) con este comando.

sudo apt-get install firestarter dhcp3-server

Ahora un poquito de teoría. En los sistemas GNU/Linux las placas de red se las llaman ethX donde X es un número que identifica a cada placa por separado, en nuestro caso tendremos dos, la eth0 que utilizaremos para conectarnos a internet y la eth1 que utilizaremos de Gateway para proveer de internet a otra máquina o incluso a una LAN entera. Procedemos entonces a configurar nuestras interfases, suponiendo que ya estamos conectados a internet a través de la eth0 no debemos tocar la configuración de esta interfase, por lo que solo deberíamos configurar la eth1, para esto debemos crear una red LAN privada asignandolé una IP a eth1 con este comando:

sudo ifconfig eth1 192.168.1.1 netmask 255.255.255.0

O desde Sistema > Administración > Red

De esa manera estamos creando la red 192.168.1.0 privada y clase C, las máquinas que “colguemos” deberán tener IP del estilo 192.168.1.Y, donde  2 < Y < 254, pero como en este ejemplo utilizaremos un servidor DHCP que asignará las IPs automáticamente no deberemos preocuparnos demasiado por esto.

Veamos ahora como compartir la conexión, vamos al menú Aplicaciones > Internet > Firestarter. Allí nos pedirá la contraseña de root, la escribimos y le damos enter y se nos desplegara un asistente para configurar nuestro firewall.

Bienvenida al asistente de Firestarter.
Bienvenida al asistente de Firestarter.

Hacemos click en Adelante.

Configuracion de la interfase conectada a internet.
Configuración de la interfase conectada a internet.

En el segundo paso deberemos indicar cual de las interfases está conectada a internet, ya habíamos predefinido que sería la eth0, en caso de tener una conexión pppoe (generalmente adsl) seleccionaremos el dispositivo pppo0, además debemos tildar la opción “Iniciar el cortafuegos al conectarse al exterior”, la opción “Dirección IP asignada vía DHCP” dependerá de nuestro servicio de internet, si tenemos adsl seguramente deberemos tildarla.

Configuración de la interfase LAN (eth1)
Configuración de la interfase LAN (eth1)

En esta instancia debemos tildar la casilla de “Activar la compartición de la conexión a internet”. Y en el “Dispositivo de red de área local” seleccionamos el eth1.

Aqui guardamos la configuracion e iniciamos el firewall

En esta última etapa tildamos la opción de “Iniciar el cortafuegos ahora” y le damos Guardar.

Una ves iniciado nos dirigimos a Editar > Preferencias > Configuraciones de red. Ahí activamos el servidor DHCP para la red local con una configuración nueva con que asigne desde la IP 192.168.1.2 hasta la 192.168.1.254 por ejemplo. Ya deberíamos tener nuestra compartida nuestra conexión a internet, solo debemos configurar los clientes. Para ello tenemos que hacer que estos tomen la dirección de red automaticamente (DHCP), esto dependerá del sistema operativo de nuestros clientes.

  • Posibles problemas

Si en algún momento nos aparece un cartel que dice algo como este

Debemos editar un archivo de texto con este comando

sudo gedit /etc/firestarter/firestarter.sh

y buscamos la siguiente linea.

MASK=`/sbin/ifconfig $IF | grep Mas | cut -d : -f 4`

y la reemplazamos por esta

MASK=`/sbin/ifconfig $IF | grep Más | cut -d : -f 4`

Y a esta

INMASK=`/sbin/ifconfig $INIF | grep Mas | cut -d : -f 4`

por esta

INMASK=`/sbin/ifconfig $INIF | grep Más | cut -d : -f 4`