Portál AbcLinuxu, 7. května 2025 05:30

Dotaz: firehol generuje divná pravidla

6.2.2007 11:46 vit | skóre: 3
firehol generuje divná pravidla
Přečteno: 285×
Odpovědět | Admin
Dobrý den

Prosil bych poradit s fireholem, který chci dát na Arch Linux. Po spuštění /etc/rc.d/firehol start lásí chybu v několika pravidlech, např:
ERROR   : # 28.
WHAT    : A runtime command failed to execute (returned error 2).
SOURCE  : line FIN of /etc/firehol/firehol.conf
COMMAND : /usr/sbin/iptables -t filter -A FORWARD -m state '' --state RELATED -j ACCEPT
OUTPUT  :

Try `iptables -h' or 'iptables --help' for more information.
Bad argument `'

FAILED
Neví někdo, kde se berou ty apostrofy mezi -m state a --state RELATED? Je stažená poslední verze z firehol.sourceforge.net, pro Arch jsem nenašel balíček. Konfigurační soubor je:
version 5

interface eth0 ethernet0
    policy drop
    protection strong 10/sec 10
    server ident   reject with tcp-reset
    server ssh     accept
    server smtp    accept
    server pop3    accept
    server imap    accept
    server ping    accept
    client all     accept

UNMATCHED_INPUT_POLICY="DROP"
UNMATCHED_OUTPUT_POLICY="DROP"
FIREHOL_LOG_LEVEL=4
Zběžně jsem prohledal skript firehol.sh a nic co by se vkládalo do příkazu iptables mezi -m state a --state RELATED jsem nenašel.

Díky a všem přeji hezký den

Víťa
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.2.2007 14:28 vit | skóre: 3
Rozbalit Rozbalit vše Re: firehol generuje divná pravidla (Vyřešeno)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak nakonec jsem ten skript prozkoumal trochu lépe než zběžně a našel jsem, že ty apostrofy se vkládají jako hodnota proměnné statenot, ve které občas bývá !, když se nastavuje proměnná state_arg pro pravidlo. Takže jsem ten kód upravil následujícím způsobem a zdá se to být OK.
4514c4514,4519
<               local -a state_arg=("-m" "state" "${statenot}" "--state" "${state}")
---
>               if [ ! -z "${statenot}" ]
>               then
>                       local -a state_arg=("-m" "state" "${statenot}" "--state" "${state}")
>               else
>                       local -a state_arg=("-m" "state" "--state" "${state}")
>               fi
Takže zmíněná část skriptu je:
       local -a state_arg=()
        if [ ! -z "${state}" ]
        then
                if [ ! -z "${statenot}" ]
                then
                        local -a state_arg=("-m" "state" "${statenot}" "--state" "${state}")
                else
                        local -a state_arg=("-m" "state" "--state" "${state}")
                fi
        fi
Ale pořád nevím, kde se tam vzaly ty apostrofy. Nejsem moc bash programátor, tak doufám, že jsem to neudělal blbě. Používám taky firehol na ubuntu z balíčku a tam jsem tento problém neměl.

Přeji hezký zbytek dne

Víťa
21.9.2008 12:42 blazon
Rozbalit Rozbalit vše Re: firehol generuje divná pravidla
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pre ArchLinux existuje firehol Pouzivaj aj AUR a na to napriklad program yaourt

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.