Combinar Network Manager y Firestarter

Uno de los inconvenientes que encontraba de Firestarter era que te obligaba a indicar por que interfaz/dispositivo de red teníamos acceso a Internet para configurar correctamente el Firewall. En mi portátil esto es un inconveniente dado que dispongo (como la gran mayoría) de tarjeta ethernet y tarjeta wireless, por tanto no siempre utilizo la misma para conectarme en las diferentes redes que trabajo.

Esta situación provocaba que tuviese que acordarme de cambiar manualmente la configuración de Firestarter. Sin embargo, ahora he encontrado una solución en el foro de Ubuntu. Se trata de crear un script que cambiará la configuración de Firestarter de forma automática cada vez que Network Manager se conecte a una red.

Creamos el fichero ‘/etc/NetworkManager/dispatcher.d/firestarter’ con el siguiente contenido (no es el mismo script que el del foro, lo he mejorado un poco para que cambie también valores del gconf):

#!/bin/sh -e
# Script to dispatch NetworkManager events
#
# Runs firstarter with proper interface name  when NetworkManager fiddles with interfaces.
#

if [ -z "$1" ]; then
    echo "$0: called with no interface" 1>&2
    exit 1;
fi

# put interface name in quotes
IFACE='"'$1'"'
# extract currently set-up interface for firestarter from configuration file
CONF_IFACE=`grep ^IF= /etc/firestarter/configuration | sed 's/IF=//'`

# Run the right scripts
case "$2" in
    up)
        # set interface in firestarter config file to $IFACE
        # start firestarter
        chmod +w /etc/firestarter/configuration

        # Internet interface
        sed -i "s/^IF=$CONF_IFACE/IF=$IFACE/" /etc/firestarter/configuration
        gconftool-2 --set -t string /apps/firestarter/firewall/ext_if $1

        ## Optional
        # Disable NAT (Shared Internet connection)
        #sed -i "s/^NAT=\"on\"/NAT=\"off\"/" /etc/firestarter/configuration
        #gconftool-2 --set -t boolean /apps/firestarter/firewall/nat false
        #sed -i "s/^DHCP_SERVER=\"on\"/DHCP_SERVER=\"off\"/" /etc/firestarter/configuration
        #gconftool-2 --set -t boolean /apps/firestarter/firewall/dhcp/enable_server false

        chmod -w /etc/firestarter/configuration
        firestarter --start
        ;;
    down)
        # just stop firestarter, when interface is shut down
        firestarter --stop
        ;;
esac

Y finalmente le damos permisos de ejecución:

chmod 755 /etc/NetworkManager/dispatcher.d/firestarter

Network Manager ejecuta todos los scripts del directorio ‘/etc/NetworkManager/dispatcher.d/’ cuando se conecta a una red y pasa como parámetros la interfaz o dispositivo de red que utiliza y si se ha conectado o desconectado.

2 thoughts on “Combinar Network Manager y Firestarter

  1. hi. i have a problem that i just cant solve it, i cant use firestarter to sharing internet in this way wlan0—–>eth0 i was wondering if u can help me with this problem… thx

Leave a Reply

Your email address will not be published. Required fields are marked *