Архивы автора: admin

Квест ко дню сисадмина

Дорогой Сисадмин!

Квест Radmin, посвященного Дню Системного Администратора! Следуй по этапам квеста, узнай секретный ключ и получи лицензию на Radmin 3 в подарок!

Торопись! Главный приз – SSD-накопитель Samsung 840 Pro объемом 256 GB – достанется тому, кто первым пришлет нам секретный ключ! Еще один ценный приз, внешний жесткий диск Western Digital My Passport Ultra 2.5″ объемом 2.0 Tb, будет разыгран случайным образом среди всех участников, успешно прошедших квест!

Подробные условия конкурса

HTTP Error 500.19 – Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Вот такая вот бага вылезла на центре сертификации

Module CustomErrorModule
Notification SendResponse
Handler Not yet determined
Error Code 0×80070003
Config Error Cannot read configuration file
Config File \\?\C:\Windows\system32\CertSrv\en-US\web.config
Requested URL 
http://localhost:80/certsrv/certfnsh.asp
Physical Path C:\Windows\system32\CertSrv\en-US\certfnsh.asp
Logon Method Not yet determined
Logon User Not yet determined 

Выставляем в доп. параметрах пула False на 32 битные приложения

 

 

Автоматическое приветственное письмо новому сотруднику компании. Exchange 2013

Для реализации данной функциональности будем использовать агента «Scripting Agent» сервера MS Exchange ( по умолчанию агент отключен)

1. агент сценариев использует файл “ScriptingAgentConfig.xml”, который находится в директории \Bin\CmdletExtensionAgents папки в которую установлен сервер Ms Exchange.   Читать далее

Коллеги, нужна срочная помощь? Не охота разбираться? обращаемся…

Трабла и реализация проекта встала? никто не может решить проблему? ааа… база упала и бекапов нет?

Любые проекты… Nix Win Cisco PIX/ASA etc… Настройка под ключ… (заказчику предоставлю полный лог произведенных настроек c комментариями…  либо возьму на обслуживание проект)  цены гуманные … документы для бухгалтерии… Пишем на почту admin@iamroot.ru +79650147498

Выезд на место Москва — СПБ.

Спасибо.

Перечисление на основе доступа 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###################################