[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Conseguir script de start/stop iptables



Alejandro,

Este es el script original de Debian Sarge, lo adjunto para que no analices y lo modifiques a tu necesitas, el fichero se llama "iptables", luego que ya lo tengas OK, ejecuta este comando para crear los servicios "update-rc.d iptables start 20 1 2 3 4 5 . stop 20 0 1 6 ."

Espero te ayude.

bye


#!/bin/sh

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

default=/etc/default/iptables
if test -f $default; then
 . $default
fi

have_a_cow_man () {
 for i in $@; do
   if ! command -v "$i" >/dev/null 2>&1; then
     echo "Aborting iptables initd: no $i executable."
     exit 0
   fi
 done
}

iptables="/sbin/${iptables_command-iptables}"
iptables_save="${iptables}-save"
iptables_restore="${iptables}-restore"

have_a_cow_man "$iptables_save" "$iptables_restore"

libdir=/var/lib/iptables
autosave="${libdir}/autosave"
initd="$0"

initd_clear () {
 rm -f "$autosave"
 echo -n "Clearing iptables ruleset: default ACCEPT policy"
 $iptables_save | sed "/-/d;/^#/d;s/DROP/ACCEPT/" | $iptables_restore
 echo "."
}

initd_halt () {
 rm -f $autosave
 echo -n "Clearing iptables ruleset: default DROP policy"
 $iptables_save | sed "/-/d;/^#/d;s/ACCEPT/DROP/" | $iptables_restore
 echo "."
}

initd_load () {
 ruleset="$libdir/$@"
 if ! test -f "$ruleset"; then
   echo "Aborting iptables load: unknown ruleset, \"$@\"."
   if  ! test "${ruleset#${libdir}/}" = active -o inactive; then
       usage
   fi
   exit 0
 fi
 if test "${ruleset#${libdir}/}" = inactive; then
   initd_autosave
 fi
 rm -f "$autosave"
 echo -n "Loading iptables ruleset: load \"$@\""
 $iptables_restore < "$ruleset"
 echo "."
}

initd_counters () {
 if test "${enable_save_counters:-false}" = true; then
   echo -n " with counters"
   $iptables_save -c > "$ruleset"
 else
   $iptables_save | sed '/^:/s@\[[0-9]\{1,\}:[0-9]\{1,\}\]@[0:0]@g' \
     > "$ruleset"
 fi
}

initd_save () {
 rm -f $autosave
 ruleset="${libdir}/$@"
 echo -n "Savinging iptables ruleset: save \"$@\""
  initd_counters
 echo "."
}

initd_autosave () {
 if test -f $autosave -a ${enable_autosave-false} = true; then
   ruleset="${libdir}/active"
   echo -n "Autosaving iptables ruleset: save \"active\""
   initd_counters
   echo "."
 fi
}

usage () {
 current="$(ls -m /var/lib/iptables \
   | sed 's/ \{0,1\}autosave,\{0,1\} \{0,1\}//')"
cat << END
$initd options:
 start|restart|reload|force-reload
    load the "active" ruleset
 save <ruleset>
    save the current ruleset
 load <ruleset>
    load a ruleset
 stop
    load the "inactive" ruleset
 clear
    remove all rules and user-defined chains, set default policy to ACCEPT
 halt
    remove all rules and user-defined chains, set default policy to DROP

Saved rulesets:
 $current

Please read: $default

END
}

case "$1" in
 start|restart|reload|force-reload)
   initd_load active
   if test ${enable_autosave-false} = true; then
     touch $autosave
   fi
   ;;
 stop)
   initd_load inactive
   ;;
 clear)
   initd_clear
   ;;
 halt)
   initd_halt
   ;;
 save)
   shift
   initd_save "$@"
   ;;
 load)
   shift
   initd_load "$@"
   ;;
 save_active) #legacy option
   initd_save active
   ;;
 save_inactive) #legacy option
   initd_save inactive
   ;;
 *)
   if test "$@"; then
     echo "Aborting iptables initd: unknown command(s): \"$@\"."
   fi
   usage
   ;;
esac

exit 0



Alejandro Kurchis wrote:
Hola gente, dias atras escribi para ver si se podia hacer que el iptables en
Debian arranque y pare como un servicio tal cual lo usaba en Red Hat (con
service iptables start y stop).

Un compañero de lista me dijo muy bien que intente ejecutar #update-rc.d
iptables default, pero para ejecutar este comando previamente yo debo tener
un script ya armado en /etc/init.d, y yo no lo tengo....

No se por que cuando instale iptables no me lo hizo, asi que les queria
preguntar donde puedo conseguir un script para start/stop/restart iptables
para luego si ejecutar update-rc.d....quizas alguno me lo pueda enviar por
mail.(Aviso: no se programar scripts a ese nivel)

Muchas gracias.

A.K.


  


-- 
<a href="" class="moz-txt-link-rfc2396E" href="http://www.maptek.cl/conferencia/programa.html">"http://www.maptek.cl/conferencia/programa.html">Revise programa de Conferencia Internacional Maptek 2005, Cancún - México.</a><br>
<br>
Soporte Maptek Sudam&eacute;rica - 5 Norte 112 Vi&ntilde;a del Mar<br>
Tel: 56 - 32690683<br>
Cel: 56 - 98897094 (Vulcan)<br>
Cel: 56 - 99395768 (I-Site)<br>
Fax: 56 - 32 690628<br>

Reply to: