En casa hay cuatro máquinas, algunas en producción y otras de
desarrollo (¿?), y una está conectada a Internet (la mía). Me propuse
compartir la conexión para que todas tengan banda ancha sin tener que
pagar más conexiones.
Antes que nada, tenía que decir si era posible trabajar con una sola
placa de red, conectando mi placa, las otras tres máquinas y el módem
ADSL a un
HUB. Para esto debía hacer que mi placa de red trabajase con dos
IPs, la pública (que es la que me asigna Speedy) y una privada, para la
LAN
hogareña. Luego de investigar bastante en Internet, llegué a la
conclusión de que no sólo es más complicado, sino que esta solución no
funciona muy bien a menos que sepamos configurar muy bien el tema de
las colisiones y demás inconvenientes ocasionados por la dualidad de
IPs para la misma placa. Como no quería meterme en más de quince
quilombos al mismo tiempo, decidí comprar otra placa de red y agregarla
a mi máquina.
Como las placas de red son algo que duran, y no se ponen
tecnológicamente viejas, compré una buena: 3Com. No sabía muy bien como
instalar una segunda placa de red en el Linux, por lo que quise buscar
un poco en Internet como hacerlo. Como no encontré nada en los primeros
cinco minutos decidí probar a ver que pasaba. Abrí la máquina, coloqué
la placa, cerré, enchufé, arranqué el Linux (Fedora Core 3). En tiempo
de booteo, el Linux busca nuevo hardware, y me saltó un cartelito
indicando que había encontrado una nueva placa de red (especificando el
exacto modelo que yo tenía), que si la quería configurar ahora, después
o nunca. Dije "ahora", le cargué la IP correspondiente, y listo,
¡voilá!, tenía dos placas de red.
El Linux terminó de arrancar y me quise conectar a Internet, pero no se conectaba. Como
root tiré un
ifconfig -a y me di cuenta que, aunque antes la única placa que tenía era
eth0, la nueva placa se había puesto como
eth0 y la vieja estaba como
eth1. Entonces fui a la configuración de la red, y puse que Speedy estaba en
eth1 y no en
eth0 como antes. Listo, ahora también tenía Internet.
Siguiendo
este howto,
configuré algunos detallitos y reinicié la red para que tome los
cambios (un comando, nada de apgar la PC ni esas cosas...). Este
tutorial, sin embargo, me explicaba las reglas de
ipchains para configurar el IP-Masquerading (que es lo que permite compartir conexión), así que seguí con
este post en un foro que explicaba usando
iptables (que es lo que traen los Linuxes modernos para decir qué entra y qué en la máquina a nivel de red).
Fui analizando que significaba cada opción, y ejecuté alguno de las
órdenes que decía, otras no. Configuré la máquina de mi viejo, para la
red nueva interna que había armado ahora, pero no funcionaba. Tenía
ping
al exterior, pero no
DNS. Así que levanté un DNS en mi máquina, pero
tampoco: entonces tenía que bajar un nivel a ver que pasaba. Abrí el
ethereal y vi que mi máquina
estaba rechazando las conexiones. Entonces me puse a ver las reglas de
iptables y me di cuenta que estaba haciendo pasar por el
firewall a las
máquinas internas también. Puse para aceptar todo lo que venga de
adentro, y listo, ¡funcionó!.
:D