Архив за месяц: Июнь 2014

Перечисление на основе доступа Windows 2008 R2

Access-based Enumeration (доступ на основе разрешений)
позволяет на общих сетевых ресурсах скрыть от пользователей файлы и папки, к которым у них отсутствует NTFS-доступ.

Включение Windows 2008 R2 Читать далее

Копирование файла большого объема exchange

Потребовалось на днях скопировать большой файл (600ГБ)

D:\>d:\bin\eseutil /y c:\MDB\data.edb /d \\192.168.0.1\c$\Backups\datab_bk.edb

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server 
Version 15.00
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating COPY FILE mode... 
     Source File: c:\MDB\data.edb
Destination File: \\192.168.0.1\c$\Backups\datab_bk.edb

                      Copy Progress (% complete)

          0    10   20   30   40   50   60   70   80   90  100 
          |----|----|----|----|----|----|----|----|----|----| 
          ...................................................

Operation completed successfully in 1117.67 seconds.

[ warning] [vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send. Код события 1000

Windows 2000, XP, 2003:
C:\Documents and Settings\All Users\Application Data\VMware\VMware Tools\tools.conf
Windows Vista, 7, 2008, 2012:
C:\ProgramData\VMware\VMware Tools\tools.conf

[logging]
vmusr.level = error

Останавливаем службу

C:\Users\lexit>net stop VMTools Читать далее

1C Bitrix настройка mail

nano /etc/msmtprc

account default
from XXXXX@yandex.ru
host smtp.yandex.ru
port 587
protocol smtp
auth login
user XXXXX@yandex.ru
password XXXXXXXXX
logfile /var/log/msmtp.log
tls off
tls_starttls off
tls_certcheck off
#tls_trust_file /etc/ssl/certs/ca-certificates.crt
php -r "mail('test@email.com', 'Test', 'Test');"

Openmeetings 3.0.2 Centos 6.5 краткое HowTo по установке бесплатной системы видеоконференций

По просьбам коллег

yum update
yum install -y vlc libjpeg libjpeg-devel giflib giflib-devel giflib-utils ghostscript freetype freetype-devel unzip gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool bison bison-devel openssl-devel bzip2 bzip2-devel wget ImageMagick file-roller unzip zlib zlib-devel x264 mysql mysql-server
yum -y install libreoffice libreoffice-base libreoffice-core libreoffice-draw libreoffice-headless libreoffice-impress libreoffice-writer
cd /opt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo
wget http://localrepo.iamroot.h/flash-plugin-11.2.202.359-release.x86_64.rpm
wget http://mirror.its.sfu.ca/mirror/CentOS-Third-Party/NSG/common/x86_64/jdk-7u60-linux-x64.rpm
wget http://optimate.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
wget http://www.mirrorservice.org/sites/downloads.sourceforge.net/s/so/sox/sox/14.4.1/sox-14.4.1.tar.gz
wget http://www.swftools.org/swftools-2013-04-09-1007.tar.gz
wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip
wget http://www.eu.apache.org/dist/openmeetings/3.0.2/bin/apache-openmeetings-3.0.2.zip
wget http://ffmpeg.org/releases/ffmpeg-2.1.3.tar.gz
wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.29/mysql-connector-java-5.1.29.jar
cp linuxtech.repo /etc/yum.repos.d

rpm -Uvh epel-release-6-8.noarch.rpm
rpm -Uvh flash-plugin-11.2.202.359-release.x86_64.rpm
rpm -Uvh jdk-7u60-linux-x64.rpm

service mysqld start
/usr/bin/mysqladmin -u root password 'p@ss'
mysql -p -u root
 mysql> CREATE DATABASE open3 DEFAULT CHARACTER SET 'utf8';
 mysql> GRANT ALL PRIVILEGES ON open3.* TO 'openmeetings'@'localhost' IDENTIFIED BY '8888' WITH GRANT OPTION;
 mysql> quit;

nano /etc/profile
...
export JAVA_HOME=/usr/java/jdk1.7.0_60/bin/java
export PATH=$PATH:/usr/java/jdk1.7.0_60/bin

...
source /etc/profile

update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_60/jre/bin/java 20000
update-alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_60/bin/jar 20000
update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_60/bin/javac 20000
update-alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_60/jre/bin/javaws 20000
update-alternatives --config javac
update-alternatives --config java

cd /opt
tar xzvf lame-3.99.5.tar.gz
cd /opt/lame-3.99.5
./configure --libdir=/usr/lib --bindir=/usr/bin
make && make install

cd /opt
tar xzvf sox-14.4.1.tar.gz
cd /opt/sox-14.4.1
./configure --enable-libmp3lame
make && make install

cd /opt
tar xzvf swftools-2013-04-09-1007.tar.gz
cd /opt/swftools-2013-04-09-1007
./configure --libdir=/usr/lib --bindir=/usr/bin
make && make install

cd /opt
tar xzvf ffmpeg-2.1.3.tar.gz
cd /opt/ffmpeg-2.1.3
./configure --libdir=/usr/lib --bindir=/usr/bin --enable-libmp3lame --disable-yasm --enable-nonfree --enable-gpl
make && make install

nano /etc/hosts
....
192.168.1.11 open3.iamroot.ru
....

cd /opt
unzip jodconverter-core-3.0-beta-4-dist.zip
mkdir /opt/red53
cd /opt/red53/

unzip apache-openmeetings-3.0.2.zip
chown -R nobody /opt/red53/

cd /opt
cp /opt/mysql-connector-java-5.1.29.jar /opt/red53/webapps/openmeetings/WEB-INF/lib/
cd /opt/red53/webapps/openmeetings/WEB-INF/classes/META-INF/
mv persistence.xml persistence.xml-ori
mv mysql_persistence.xml persistence.xml
nano persistence.xml
(Правим имя базы. Логин. Пароль)
...
...

chmod 640 persistence.xml


nano /etc/init.d/red5
#!/bin/bash
PROG=red5
RED5_HOME=/opt/red53
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
# Source function library
. /etc/rc.d/init.d/functions
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
RETVAL=0
case "$1" in
        start)
        echo -n $"Starting $PROG: "
        cd $RED5_HOME
        $DAEMON >/dev/null 2>/dev/null &
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
        echo $! > $PIDFILE
        touch /var/lock/subsys/$PROG
        fi
[ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
echo
;;
stop)
echo -n $"Shutting down $PROG: "
killproc -p $PIDFILE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
;;
restart)
$0 stop
$0 start
;;
status)
status $PROG -p $PIDFILE
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL



chmod +x /etc/init.d/red5
service mysqld start
/etc/init.d/red5 start
update-rc.d red5 defaults

Далее идем браузером на

http://<ip>:5080/openmeetings/install

и следуем инструкциям


iptables samples

################################BEGIN OF FILE###################################
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-firewall/iptables/files/iptables-1.3.2.init,v 1.4 2006/11/11 08:25:00 vapier Exp $

opts="save reload panic"

#######################################################################################################
# Настройки IPTABLES ----- Iptables Settings
# здесь определяются переменные используемые в процедурах старта, перезапуска, останова и т.д.
#######################################################################################################

IPTABLES_NAME="iptables"
IPTABLES="/sbin/iptables"
SAVE_RESTORE_OPTIONS="/etc/firewall.rules"
IPTABLES_SAVE="/sbin/iptables-save"
IPTABLES_RESTORE="/sbin/iptables-restore"
IPTABLES_PROC="/proc/net/ip_tables_names"
FIREWALL="/etc/firewall.rules"
POLICY="DROP"

#######################################################################################################
# Настройки интерфейсов ----- Interfaces Settings
#######################################################################################################

WAN1_IF="eth0"	 # внешний интерфейс
WAN1_IP="10.1.0.5"	# адрес на внешнем интерфейсе
WAN1_GW="10.1.0.1"	# шлюз провайдера

LAN="192.168.1.0/24"	# внутренняя сеть
LAN1_IF="eth1"	 # внутренний интерфейс
LAN1_IP="192.168.1.1"	# адрес на внутреннем интерфейсе

LO_IF="lo"	 # loopback-интерфейс
LO_IP="127.0.0.1"	 # loopback-адрес
LOOPBACK="127.0.0.0/8"	# loopback-петля

DNS="196.196.80.235"	# DNS-провайдера

echo 1 > /proc/sys/net/ipv4/ip_forward	#ядро должно знать что оно может продвигать пакеты

depend() {
before net
use logger
}

# Установка политики по умолчанию (переменная $POLICY установлена в DROP, т.е. пакеты будут дропаться)
rules() {
ebegin "Setting default policy to $POLICY"
$IPTABLES -P INPUT $POLICY
$IPTABLES -P FORWARD $POLICY
$IPTABLES -P OUTPUT $POLICY

#########################################################################
# Общие Правила - COMMON RULES
# Здесь мы создаем различные цепочки, которые висят в памяти ядра, далее в таблицах при определенных 
# условиях мы будем направлять пакеты в эти цепочки.
#########################################################################
ebegin "Сreating user-defined chains"
# Разрешаем прохождение statefull-пакетов. Эта цепочка обязательная она разрешает прохождение пакетов в
# уже установленных соединениях(ESTABLISHED), и на установление новых соединений от уже установленных
# (RELATED) 
einfo "Creating states chain"
$IPTABLES -N allowed	
$IPTABLES -F allowed	
# "allowed" это просто имя, можно использовать что нибудь и другое:)
# Разрешаем прохождение statefull трафика. Далее идет собственно сам список правил
$IPTABLES -A allowed -m state --state ESTABLISHED,RELATED -j ACCEPT
# Журналируем все обращение к этому серверу от WAN-сетей :) Мы не ждем гостей !
$IPTABLES -A allowed -i $WAN1_IF -m limit --limit 1/second -j ULOG --ulog-prefix "Bad packet from $WAN1_IF"
$IPTABLES -A allowed -j $POLICY

# Цепочка общего разрешения использовать аккуратно!
# Эту цепочку я использую когда необходимо разрешить прохождение пакетов, с определенных портов или адресов
einfo "Creating common accepting chain"
$IPTABLES -N com-allow
$IPTABLES -F com-allow
$IPTABLES -A com-allow -p tcp -j ACCEPT
$IPTABLES -A com-allow -p udp -j ACCEPT

#----------------------------------------------------------------------------------------------------------
# Правила для входящего трафика
#----------------------------------------------------------------------------------------------------------
# 1. Создаем цепочку для входящих ICMP.
# 2. Создаем цепочку для входящего SSH трафика.

# 1. Разрешаем ICMP
einfo "Creating incoming icmp traffic chain"
$IPTABLES -N icmp_in
$IPTABLES -F icmp_in
# здесь можно увидеть применения модуля "state" т.е. состояние. пропускаются пакеты со статусом NEW, 
# остальные нам не нужны
$IPTABLES -A icmp_in -m state --state NEW -p icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A icmp_in -m state --state NEW -p icmp --icmp-type time-exceeded -j ACCEPT
$IPTABLES -A icmp_in -m state --state NEW -p icmp --icmp-type destination-unreachable -j ACCEPT
# Журналируем ICMP-пакеты, нам не нужны эти пакеты.
$IPTABLES -A icmp_in -p icmp -j ULOG --ulog-prefix "Bad ICMP"

# 2. Входящий SSH трафик
einfo "Creating incoming ssh traffic chain"
$IPTABLES -N ssh-in
$IPTABLES -F ssh-in
$IPTABLES -A ssh-in -p tcp --dport 22 -j ACCEPT
# Защита о флуда по SSH
$IPTABLES -A ssh-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport ssh -j ACCEPT
$IPTABLES -A ssh-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport ssh -j ACCEPT
$IPTABLES -A ssh-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport ssh -j ACCEPT
$IPTABLES -A ssh-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT

#----------------------------------------------------------------------------------------------------------
# Правила для исходящего трафика
#----------------------------------------------------------------------------------------------------------
# 1. Разрешаем исходящий ICMP трафик (функции диагностики)

# 1. Необходимо чтобы мы пинговали всех.
einfo "Creating outgoing icmp traffic chain"
$IPTABLES -N icmp_out
$IPTABLES -F icmp_out
# Разрешаем icmp-reply во все сети в ответ на icmp-request'ы с сетей
$IPTABLES -A icmp_out -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_out -m state --state NEW -p icmp --icmp-type time-exceeded -j ACCEPT
$IPTABLES -A icmp_out -m state --state NEW -p icmp --icmp-type destination-unreachable -j ACCEPT

# Проверка флагов. Обнаружение сканеров потров. Взято из руководства по Iptables 1.1.19
einfo "Creating portscan detection chain"
$IPTABLES -N check_tcp
$IPTABLES -F check_tcp
# Отбрасываем невалидные пакты
$IPTABLES -A allowed -m state --state INVALID -m limit --limit 3/minute -j ULOG --ulog-prefix "INVALID"
$IPTABLES -A allowed -m state --state INVALID -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A check_tcp -p tcp ! --syn -m state --state NEW -j ULOG --ulog-prefix "NEW not --syn"
$IPTABLES -A check_tcp -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j ULOG --ulog-prefix "NMAP-XMAS"
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL ALL -m limit --limit 5/minute -j ULOG --ulog-prefix "XMAS"
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 5/minute -j ULOG --ulog-prefix "XMAS-PSH"
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j ULOG --ulog-prefix "NULL_SCAN"
$IPTABLES -A check_tcp -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/minute -j ULOG --ulog-prefix "SYN/RST"
$IPTABLES -A check_tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A check_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/minute -j ULOG --ulog-prefix "SYN/FIN"
$IPTABLES -A check_tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#----------------------------------------------------------------------------------------------------------
# Цепочка t mangle PREROUTING (необходима для изменения битов TOS, QOS)
#----------------------------------------------------------------------------------------------------------

# Пример использования таблицы mangle, маркируем esp-трафик для дальнейших манипуляций в ядре
# Можно неиспользовать в простых роутерах такая функция применяется редко
$IPTABLES -t mangle -A PREROUTING -p esp -j MARK --set-mark 1

#----------------------------------------------------------------------------------------------------------
# Цепочка t nat PREROUTING (необходима для изменения поля dst в заголовке пакета, можно использовать 
# для проброса порта на сервер во внутренней сети )
#----------------------------------------------------------------------------------------------------------

# перебрасываем все запросы на 80 порт, приходящие на внешний интерфейс на внутренний веб-сервер
$IPTABLES -t nat PREROUTING -i $WAN1_IF -p tcp --dport 80 -j DNAT --to-destination 192.168.1.20

#----------------------------------------------------------------------------------------------------------
# Цепочка INPUT
# Здесь создаем правила для входящего трафика, конкретно для SSH, DNS, ICMP и служебных обращений на петле
# также включена проверка на плохие пакеты и в конце правила для остального трафика (см. цепочку allowed).
#----------------------------------------------------------------------------------------------------------
einfo "Applying chains to INPUT"

# Проверяем пакеты.
$IPTABLES -A INPUT -p tcp -j check_tcp
# Разрешаем входящие по SSH
$IPTABLES -A INPUT -p tcp --dport 22 -j ssh-in
# Разрешаем входящие соединения к прокси-серверу SQUID
$IPTABLES -A INPUT -s $LAN -p tcp --dport 3128 -j com-allow
# Разрешаем входящие по DNS
$IPTABLES -A INPUT -s $LAN -p udp --dport domain -j com-allow
# Разрешаем входящие по icmp
$IPTABLES -A INPUT -p icmp -j icmp_in
# Разрешаем входящие на петлю, при его включении заметно улучшение отклика при ssh-авторизации
$IPTABLES -A INPUT -i $LO_IF -d $LOOPBACK -j ACCEPT
# Ну, и разрешаем statefull-пекеты.
$IPTABLES -A INPUT -j allowed

#----------------------------------------------------------------------------------------------------------
# Цепочка FORWARD
# Здесь создаются правила для транзитного трафика, для случая если необходимо пользоваться какими либо
# внешними сервисами (почта, веб, аська). В конце правило для остального трафика (цепочка allowed).
#----------------------------------------------------------------------------------------------------------
einfo "Applying chains to FORWARD"

# Отбрасываем плохие пакеты
$IPTABLES -A FORWARD -j check_tcp
# Разрешаем SSH
$IPTABLES -A FORWARD -s $LAN -p tcp --dport 22 -j com-allow
# Разрешаем прохождение icmp-пакетов
$IPTABLES -A FORWARD -p icmp -j icmp_in
# Разрешаем прохождение асечных пакетов
$IPTABLES -A FORWARD -i $LAN1_IF -s $LAN -p tcp --dport 5190 -j com-allow
# Разрешаем веб-трафик, если у нас не стоит прокси сервер, можно раскоментить эту строку
# Здесь же показано применения модуля "multiport"
# $IPTABLES -A FORWARD -i $LAN1_IF -s $LAN -p tcp -m multiport --dport 80,443,1080,3128,8080 -j com-allow
# Разрешаем прохождение почтовых пакетиков от POP и SMTP
$IPTABLES -A FORWARD -i $LAN1_IF -s $LAN -p tcp -m multiport --dport 25,110 -j com-allow

# Несовсем понятно практическая функция этого правила:)
# $IPTABLES -A FORWARD -o $LO_IF -d $LOOPBACK -j ACCEPT

# Разрешаем входящие пакеты, являющиеся частью установленного соединения
$IPTABLES -A FORWARD -j allowed

#----------------------------------------------------------------------------------------------------------
# Цепочка OUTPUT
# Здесь создаются правила для исходящего трафика, конкретно для SSH, ICMP, DNS, WWW а также разрешены
# исходящие соединения с внутреннего интерфейса. В конце правила для остального трафика (цепочка allowed).
#----------------------------------------------------------------------------------------------------------
einfo "Applying chains to OUTPUT"

$IPTABLES -A OUTPUT -j check_tcp
$IPTABLES -A OUTPUT -o $LAN1_IF -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -j icmp_out
$IPTABLES -A OUTPUT -o $LO_IF -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 22 -j com-allow
$IPTABLES -A OUTPUT -p udp --dport domain -j com-allow
$IPTABLES -A OUTPUT -p tcp -m multiport --dport http,https -j com-allow
$IPTABLES -A OUTPUT -j allowed

#------------------------------------------------------------------------------------------------------------------------
# Цепочка t NAT POSTROUTING
# Изменяем поле адрес источника, а пакете, 
#------------------------------------------------------------------------------------------------------------------------
ebegin "Applying NAT chains"

$IPTABLES -t nat -A POSTROUTING -s $LAN -o $WAN1_IF -p tcp --dport 22 -j SNAT --to-source $WAN_IP
#$IPTABLES -t nat -A POSTROUTING -s $LAN -o $WAN1_IF -p tcp -m multiport --dport 80,443,1080,3128,8080 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -s $LAN -o $WAN1_IF -p tcp -m multiport --dport 25,110 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -s $LAN -o $WAN1_IF -p tcp --dport 5190 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -s $LAN -o $WAN1_IF -p icmp -j SNAT --to-source $WAN_IP

}
# Все правила для пакетов заканчиваются, если пакет не подошел ни к одному условию, его ждет судьба по 
# умолчанию, а нашем случае DROP.
#########################################################################################################################
#########################################################################################################################
# здесь начинаются процедуры останова старта перезапуска и т.д.
# при установке они уже находятся в скрипте, только в начале необходимо указать переменные
# этот раздел скрипта можно пропустить

set_table_policy() {
local chains table=$1 policy=$2
case ${table} in
nat) chains="PREROUTING POSTROUTING OUTPUT";;
mangle) chains="PREROUTING INPUT FORWARD OUTPUT POSTROUTING";;
filter) chains="INPUT FORWARD OUTPUT";;
*) chains="";;
esac
local chain
for chain in ${chains} ; do
${IPTABLES} -t ${table} -P ${chain} ${policy}
done
}

checkkernel() {
if [[ ! -e ${IPTABLES_PROC} ]] ; then
eerror "Your kernel lacks ${IPTABLES_NAME} support, please load"
eerror "appropriate modules and try again."
return 1
fi
return 0
}
checkconfig() {
if [[ ! -f ${IPTABLES_SAVE} ]] ; then
eerror "Not starting ${IPTABLES_NAME}. First create some rules then run:"
eerror "/etc/init.d/${IPTABLES_NAME} save"
return 1
fi
return 0
}

start() {
ebegin "Starting firewall"
if [ -e "${FIREWALL}" ]; then
restore
else
einfo "${FIREWALL} does not exists. Using default rules."
rules
fi
eend $?
}

stop() {
if [[ ${SAVE_ON_STOP} == "yes" ]] ; then
save || return 1
fi
checkkernel || return 1
ebegin "Stopping firewall"
for a in $(<${IPTABLES_PROC}) ; do
set_table_policy $a ACCEPT
${IPTABLES} -F -t $a
${IPTABLES} -X -t $a
done
eend $?
}

reload() {
checkkernel || return 1
ebegin "Flushing firewall"
for a in $(<${IPTABLES_PROC}) ; do
${IPTABLES} -F -t $a
${IPTABLES} -X -t $a
done
eend $?

start
}

save() {
ebegin "Saving ${IPTABLES_NAME} state"
touch "${IPTABLES_SAVE}"
chmod 0600 "${IPTABLES_SAVE}"
${IPTABLES}-restore ${SAVE_RESTORE_OPTIONS} > "${IPTABLES_SAVE}"
eend $?
}

panic() {
checkkernel || return 1
[[ -e ${svcdir}/started/${IPTABLES_NAME} ]] && svc_stop

ebegin "Dropping all packets"
for a in $(<${IPTABLES_PROC}) ; do
${IPTABLES} -F -t $a
${IPTABLES} -X -t $a

set_table_policy $a DROP
done
eend $?
}
#################################END OF FILE###################################