Jak vynulovat pravidla v iptables.

Michal Weinfurtner weinfurt na karneval.cz
Pátek Červenec 9 08:57:35 CEST 2004


Dalibor Straka wrote:

>>A nebo /etc/init.d/iptables clear ci podobne dle pouzite distribuce, jak
>>    
>>
U RH a Fedora presne tohle dela
# service iptables stop
Vsechny chainy vyprazdni ve vsech tabulkach a smaze ty definovane 
uzivatelem. Pokud je kernel modularni, odstrani i prislusne moduly. Pak 
je jistota ze jsou iptables vynulovana bezezbytku a spojeni pres NAT by 
mela padnout.

Funkce z /etc/init.d/iptables vymaze veskera pravidla ze vsech tabulek.

flush_n_delete() {

    # Flush firewall rules and delete chains.

    [ -e "$PROC_IPTABLES_NAMES" ] || return 1

    # Check if firewall is configured (has tables)

    tables=`cat $PROC_IPTABLES_NAMES 2>/dev/null`

    [ -z "$tables" ] && return 1

    echo -n $"Flushing firewall rules: "

    ret=0

    # For all tables

    for i in $tables; do

        # Flush firewall rules.

        $IPTABLES -t $i -F;

        let ret+=$?;

        # Delete firewall chains.

        $IPTABLES -t $i -X;

        let ret+=$?;

        # Set counter to zero.

        $IPTABLES -t $i -Z;

        let ret+=$?;

    done

    [ $ret -eq 0 ] && success || failure

    echo

    return $ret

}


Funkce stop z /etc/init.d/iptables uplne zastavi iptables, vymaze 
pravidla a vymaze moduly iptables z jadra, pokud je jadro modularni.

stop() {

    # Do not stop if iptables module is not loaded.

    [ -e "$PROC_IPTABLES_NAMES" ] || return 1

    flush_n_delete

    set_policy ACCEPT

    if [ "x$IPTABLES_MODULES_UNLOAD" = "xyes" ]; then

        echo -n $"Unloading $IPTABLES modules: "

        ret=0

        rmmod_r ${IPV}_tables

        let ret+=$?;

        rmmod_r ${IPV}_conntrack

        let ret+=$?;

        [ $ret -eq 0 ] && success || failure

        echo

    fi

    rm -f $VAR_SUBSYS_IPTABLES

    return $ret

}


Funkce panic z /etc/init.d/iptables nejprve vymaze vsechny pravidla a 
pak zastavi veskery provoz nastaveni default pravidla DROP na vsech 
chainech.

    panic)

        flush_n_delete

        set_policy DROP

        RETVAL=$?

    ;;


    *)

      echo $"Usage: $0 {start|stop|restart|condrestart|status|panic|save}"


Zdroj /etc/init.d/iptables z Fedora Core 2

M.



Další informace o konferenci Linux