Problemas con el cortafuegos firestarter (Por Jlob)

Hoy al intentar arrancar el firestarter, resulta que me da un error como el siguiente:

error.jpg

Hasta ahora el cortafuegos siempre me ha funcionado bien. En principio no tengo ni idea de porque me esta pasando. Desinstalo el cortafuegos y vuelvo a instalarlo y el error permanece. Me meto en internet y después de mirar unas cuantas páginas, encuentro en https://lagneuronal.wordpress.com/ una referencia al problema que dice que hay que desactivar ciertas líneas del fichero firestarter.sh situado en el directorio /etc/firestarter/.

firestarter.jpg

 

En dicha página me dice que desactive, poniéndola como comentario la siguiente instrucción

 

if [ “$MASK” = “” -a “$1” != “stop” ]; then

echo “External network device $IF is not ready. Aborting..”

exit 2

fi

 

Y efectivamente funciona. Fijándome un poco veo que firestarter.sh es un script donde la variable MASK se ha cargado al principio del scritp mediante la línea

 

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

 

Esta línea se puede copiar y ejecutar en modo comando para ver qué ocurre con la variable MASK:

 

echo_mask_grep_mas

Efectivamente, dicha variable no ha cargado la máscara, cosa que se puede comprobar visualizando el contenido de dicha variable con echo $MASK.

 

Lo que ocurre es que en el comando que carga la variable MASK, grep va con Mas cuando en castellano tiene que ir con acento (Más) porque se busca la palabra Máscara. Si se cambia dicho script de modo que el comando que carga la variable MASK sea:

 

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

echo_mask_grep_mas_ok

Cambiando simplemente esa línea el cortafuegos funcionará perfectamente como se ve a continuación:

Firestarter correcto

El problema de fondo es que el script está escrito en inglés mientras que la salida de ifconfig es en castellano. Si la salida de ifconfig fuese en inglés no daría ningún tipo de error.

 

Antes de terminar quiero dar las gracias al administrador de este blog que me dio la pista para ver el problema y me invito a escribir este pequeño artículo.

 

jlob

25 respuestas a Problemas con el cortafuegos firestarter (Por Jlob)

  1. carlos dice:

    Hola.
    Gracias por compartir tu experiencia. Como me paso lo mismo segui tu procedimiento, con ello el firestart por fin se puso activo. Sin embargo, no consegui que la otra maquina que esta en red, tome internet. Como ese era el motivo principal de la instalacion, sigo con problemas.
    Muy bueno tu articulo sobre como encarar un problema.

  2. Sepy dice:

    Muchas gracias por la solucion: Al principio no me funcionaba,pero buscando cual seria la causa descubri otra “Mas” unas lineas mas abajo ( INMASK=`/sbin/ifconfig $INIF | grep Mas | cut -d : -f 4` ) cambiandola tambien empenzo a funcionar correctamente

  3. Bauglir dice:

    Muchas gracias por esa tilde xD. Eres un crack.

  4. val1399 dice:

    Gracias por compartir la solución. Recién instalada la 8.04 no veía el modo de activar el firewall.

  5. germán dice:

    Me sumo al resto para darte las gracias por publicar la solución. Habría que reportar el bug, revisé en https://launchpad.net/ubuntu/+bugs y parece no ha sido reportado aún

  6. germán dice:

    Me corrijo, el bug sí está reportado (https://bugs.launchpad.net/ubuntu/+source/firestarter/+bug/174436)

    Allí se da un enfoque alternativo. En vez de cambiar el grep se agrega una linea para que el ifconfig devuelva la salida en inglés que es lo que espera el firestarter.sh.
    Se debe agregar “export LC_ALL=C” después de “#!/bin/bash” en el firestarter.sh

    Saludos,
    Germán.

  7. Fernando dice:

    Muchas gracias! Este error me estaba tocando la moral, como para imaginarte que puede ser debido a un error por el idioma.
    Muchas gracias de nuevo🙂

  8. Reinaldo dice:

    Muchas gracias por la info pero no se porque razon me sale que no puedo editar el firestarter.sh porque no tengo permisos si alguien puede ayudarme se los agradesco

  9. lagneuronal dice:

    Necesitas permisos de administrador, solo antepón sudo a la instrucción que te está dando problemas.

    Si tu no eres administrador del sistema (p.e. tienes a un hermano que es que cuida la máuina), solo es cuestión de que le digas a el que lo componga.

  10. Vudx dice:

    Gracias mis panas, las dos alternativas funcionan perfectamente!…se agradece a lagneuronal, jlob y germán!.

  11. joder dice:

    hola, increible que fuera eso de la tilde jajaja, aunque soy un renovato en esto, me sorprende que fuera eso… voy a quitar de comentario la linea, eso es lo que habia hecho yo.

    saludos.

  12. ejjp dice:

    Hola,
    a alguien más le pasa que el archivo este firestarter.sh se regenera cuando cambias entre cable y wifi?
    Me explico mejor, que aunque lo edites vuelve a su estado original después de cierto tiempo o cierto suceso del que no estoy seguro. a alguien más le pasa’

  13. lamf dice:

    Yo tambien me he dado cuenta que si reinicias el asistente del firestarter, vuelve el mismo error.
    ¿que sera?

  14. ejjp dice:

    no he probado la solución de germán:
    Se debe agregar “export LC_ALL=C” después de “#!/bin/bash” en el firestarter.sh

    pero me imagino que tendrá las mismas consecuencias. Habríe que buscar qué genera el firestarter.sh pero creo que la solución a esto sólo va a poder solucionarse si uno mismo se compila el firestarter modificando el código fuente. estoy en lo equivocado?

  15. FRV dice:

    es correcto lo que pone German, la solución es poner:
    export LC_ALL=C

    la solución es agregar despúes de la línea 59 esta otra linea:
    fprintf (f, “export LC_ALL=C\n”);

    en el archivo: scriptwriter.c
    en el código fuente del Firestarter y compilar.

    se descargan el codigo fuente de
    http://www.fs-security.com/download.php

    y el archivo scriptwriter.c se encuentra en la carpeta “src”

    FRV

  16. ejjp dice:

    funciona!
    al reiniciar el asistente ya no hay problema, gracias FRV.

    ojo que las “comillas” de

    fprintf (f, “export LC_ALL=C\n”);

    tuve que cambiarlas porque me dió error en la compilación.

    ahora la pena es que cuando salga una actualización de firestarter no me actualizará automáticamente pues para compilar desde el código fuente decidí desinstalar el paquete .deb de firestarter.

  17. Burnaron dice:

    mil gracias por el artículo, me resultó muy útil.

  18. 1101 dice:

    Gracias! un post cojonudo!

    enga!

  19. Pepe123 dice:

    El problema es que si se cambia Mas por Más.., funciona al ejecutarlo, pero no en el script de inicio al arrancar el ordenador,, pues allí la respuesta de ifconfig es en ingles.
    Yo he cambiado Más por M.s, que según el manual de grep “.” significa, cualquier carácter,y funciona bien.
    Saludos.

  20. kornykyano dice:

    Gracias!!

  21. dabeatle28 dice:

    carlos tal vez la razón por la que tu PC en red no agarra internet es que te faltó cambiar la línea:

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

    Esta línea está dentro del “if [ “$NAT” = “on” ]; then” que precisamente se activa cuando palomeas la opción de compartir inernet en tu red local (es cuando se usa NAT). Aunque es mejor la solución de germán que viene el el bug report de Launchpad.

    Por cierto, les recomiendo a todos que no usen sudo para el gedit, mejor usen gksudo que es lo correcto para aplicaciones con GUI:

    gksudo gedit /etc/firestarter/firestarter.sh

    Si tienen duda lean esto: http://www.psychocats.net/ubuntu/graphicalsudo

    Si usan sudo con apps de GUI puede haber problemas a veces.

  22. bastard dice:

    Hola, alguien sabe como hacerle para que empiece automaticamente?

  23. udayajivi dice:

    Muchas gracias .

  24. Martín dice:

    Hola, Excelente una vez más… muchas gracias, funcionando como por arte de magia!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: