Yo en linux compartir la conexión y el firewall lo hago con iptables (ha substituida al ipchanis), supongo que si teneis una version bastante reciente de linux tambien tendreis que usarlo.
Si teneis un firewall activado seguramente estara hecho con iptables y lo unico que se habrá de hacer es añadir una lineas al script de arranque del firewall. No se si habrá una utilidad grafica que permita hacerlo ya que nunca he usado mandrake.
Si quereis podeis consultar información en
www.netfilter.org.
Aqui os pongo las ordenes que habria que tener el script para que funcionara, pero tener en cuenta que no tiene por que ser igual para cada sistema.
echo "1" > /proc/sys/net/ipv4/ip_forward
Esto sirve para activar la opción de forward, es decir que los paquetesm que llegan por una de las dos interfaces pueden reenviarse por la otra. Por defecto todos los paquetes que llegan no han de reenviarse hemos de especificar que paquetes queremos que se enruten. Primero establecemos la politica de que ningun paquete se enrute:
$IPTABLES -P FORWARD DROP
$IPTABLES es una variable, en mi caso la defino así
IPTABLES="/sbin/iptables" al principio del archivo de configuración del firewall, para otro sistema puede ser diferente, dependiendo de donde este ubicado el archivo iptables.
Continuamos: le decimos al linux que enrute los paquetes que lleguen por la targeta de red interna. Estos paquetes han de tener como puerta de enlace la ip interna del linux (en este caso 192.168.0.1) si no el linux pasará de ellos. La play de Musice ya tiene bien configurada esta opción,
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
Con esta orden todos los paquetes que lleguen de la red interna se reenviaran a internet.
LAN_IFACE="eth1" en este caso (Las declaraciones de variables van al principio del archivo).
Ahora el linux ya sabe que ha de reenviar los paquetes, el problema es que no puede enviar paquetes a internet con ips de origen 192.168.xxx.xxx (nadie aceptaria estos paquetes, y en el caso de que los aceptaran no serian capaces de enviar respuesta), por lo que tenemos que hacer un cambio de direccion (NAT). Eso se consigue con la siguiente orden:
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to $IP_PUBLICA
INET_IFACE="eth0",
IP_PUBLICA="`/sbin/ifconfig $INET_IFACE | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
Esta peazo de definicion para la IP_PUBLICA se debe a que se trata de una ip dinamica, si fuera estatica con poner
IP_PUBLICA="la.ip.q.sea" bastaría.
La orden viene a decir que a los paquetes que salgan por la interface que esta conectada a internet (INET_IFACE) les cambie el origen (sender network adress translation) por la ip que tiene esa interface. Por lo tanto los paquetes que salgan directamente desde el linux se quedaran igual, y los que vengan reenviados desde la otra targeta se les cambiara la direccion de origen del paquete por una ip valida.
Llegados aqui los paquetes que enviemos desde la parte interna llegan a internet con una direccion ip buena, ahora solo falta las respuestas desde internet. El linux es suficientemente inteligente para saber los paquetes que llegan de internet a quien van dirigidos: si a la misma maquina (linux) o a una maquina de la parte interna de la red , pero la politica esta establecida en no dejar pasar nada, asi que le tenemos que decir que los paquetes que lleguen desde internet a un ordenador (o play) de la parte interna los reenvie. Se ha de tener en cuenta que estos paquetes seran respuestas, perteneceran a una conexion establecida previamente desde la parte interna por la play. Para ello ponemos la siguiente orden:
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Y con esto ya esta, hemos compartido nuestra conexion a internet.
Despues de todo esto decir que seguro que hay una manera mas facil de hacerlo (o de configurarlo), me extrañaria que no hubiera ninguna utilidad de configuración grafica, pero yo no la se
. Aun con todo si alguien quiere probarlo se lo recomiendo, ya que esto solo es una pequeña parte de lo que se puede hacer con iptables y nunca esta de mas aprender una cosa nueva.
Espero que a alguien le sirva.