regist service for iptables in Debian

Posted on 2013-09-06 21:58 H2O 阅读(767) 评论(0)  编辑  收藏

From

http://www.o4v.net/blog/index.php/debian-iptables-script/

 

由于Debian安装iptables后默认不是服务提示service iptables提示unrecognized service,需要添加脚本到/etc/init.d/,脚本如下(下载iptables):


#!/bin/sh -e
#
## BEGIN INIT INFO
#
 Provides: iptables
#
 Required-Start:
#
 Required-Stop:
#
 Default-Start: 2 3 4 5
#
 Default-Stop: 0 1 6
#
 Short-Description: start and stop iptables firewall
#
 Description: Start, stop and save iptables firewall
#
## END INIT INFO 

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

IPTABLES
=/sbin/iptables

IPTABLES_SAVE
=/sbin/iptables-save

IPTABLES_RESTORE
=/sbin/iptables-restore

IPTABLES_CONFIG
=/etc/iptables.conf

 

-x $IPTABLES ] || exit 0

 . 
/lib/lsb/init-functions


 case 
"$1" in
 start)
    log_action_begin_msg 
"Starting firewall"
         type usplash_write 
>/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true
    
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
         type usplash_write 
>/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true
    ;;

 stop)
    log_action_begin_msg 
"Saving current firewall configuration"
    
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
    log_action_begin_msg 
"Flushing ALL firewall rules from chains!"
    
if $IPTABLES -F ; then
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
    log_action_begin_msg 
"Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"
    
if $IPTABLES -X ; then
        $IPTABLES 
-P INPUT ACCEPT
        $IPTABLES 
-P FORWARD ACCEPT
        $IPTABLES 
-P OUTPUT ACCEPT
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
    ;;

 save)
    log_action_begin_msg 
"Saving current firewall configuration"
    
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
    ;;

 force
-reload|restart)
    log_action_begin_msg 
"Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"
    $IPTABLES 
-F
    $IPTABLES 
-X
    
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    
else
        log_action_end_msg $?
    fi
    ;;

 
*)
    echo 
"Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"
    exit 
1
    ;;
 esac

 exit 0


说明:保存为/etc/init.d/iptables,然后chmod +x /etc/init.d/iptables 添加运行权限。


只有注册用户登录后才能发表评论。


网站导航:
 

posts - 0, comments - 21, trackbacks - 0, articles - 101

Copyright © H2O