zabbix apache2

Zabbix
добавим шаблон apache2 zabbix_agentd.conf
UserParameter=apache.proc,ps ax | grep httpd | wc -l

открываем веб-морду заббикса
создаем item Template App Apache, где ключ будет apache.proc

будет выглядеть вот так.

dd81cd

теперь у нас появились данные апача и заббикса и видно так

fa9852

а теперь добавим триггеров на свой вкус.
мне таких хватает за глаза. по аналогии можно и другие процессы мониторить.

Чрезвычайная Critical time Apache than 5 minutes on {HOSTNAME} {Template App Apache:apache.proc.min(300)}>200 Активировано
Предупреждение Too many Apache on {HOSTNAME} {Template App Apache:apache.proc.last(0)}>100 Активировано
Высокая Warning Apache on {HOSTNAME} {Template App Apache:apache.proc.last(0)}>200 Активировано

 

ну вот и все.

Время жизни сессии php

При использовании сессий в PHP по умолчанию идентификатор сесии сохраняется в «куках» или «кукисах» — небольших блоков информации, которые хранятся на стороне клиента и имеет заданное время жизни. (в PHP куки доступны при помощи глобального массива $_COOKIES). Название идентификатора сессии — «PHPSESSID», но его можно изменить при помощи параметра session.name в файле php.ini.
Время жизни куки, которая хранит идентификатор сесии по умолчанию составляет 0 сек, т.е. кука храниться до того момента, как браузер будет закрыт. Это можно изменить при помощи параметра session.cookie_lifetime в файле php.ini.
PHP, как правило, хранит данные сессии в файлах. Для того, чтобы не засорять файловую систему периодически осуществляется очистка устаревших данных, garbage collection — уборка мусора. В файле php.ini существует параметр session.gc_maxlifetime который указывает время в секундах, по истечению которого все устаревшие данные будут удалены из файловой системы.
Допустим, мы хотим задать время жизни сесии — 3 часа. Для этого в файле php.ini устанавливаем следующие параметры:
session.gc_maxlifetime = 10800
session.cookie_lifetime = 10800
Если у вас нет возможности внести изменения в файл php.ini, то можно сделать установку этих параметров при помощи файла .htaccess. Для этого вносим в него следующие строки:
php_value session.gc_maxlifetime 10800
php_value session.cookie_lifetime 10800
Если ваш хостер запрещает вам использовать директиву php_value в файле .htacces или использовать .htaccess в целом — то пора менять хостера.
Кроме того, вы можете установить время жизни сессионной куки из PHP при помощи функции session_set_cookie_params. К примеру:

При этом нужно учитывать, что функциция set_cookie_params должна быть вызвана до того, как сессия будет открыта при помощи session_start.Функция set_cookie_params также позволяет установить путь, домен, настройки безопасности для сессионной куки.

zabbix

Supported for version: Debian 7 (Wheezy), Ubuntu 12.04 LTS (Precise Pangolin)

Installing repository configuration package

Install the repository configuration package. This package contains apt configuration files.

Zabbix 2.2 for Debian 7:

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
# dpkg -i zabbix-release_2.2-1+wheezy_all.deb
# apt-get update
Zabbix 2.2 for Ubuntu 12.04 LTS:

# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
# dpkg -i zabbix-release_2.2-1+precise_all.deb
# apt-get update
Installing Zabbix packages

Install Zabbix packages. dbconfig-common will create the database and populate the initial schema and data automatically. If backend db is located on a different server, please set dbc_remote_questions_default=’true’ in /etc/dbconfig-common/config.

Example for Zabbix server and web frontend with mysql database.

# apt-get install zabbix-server-mysql zabbix-frontend-php
The zabbix-frontend-php package, during installation, will configure a font, which is used on generated images. If you updated the package from any other repository and text is empty on graphs or maps, please check if a “ttf-dejavu-core” package is installed and try to execute “dpkg-reconfigure zabbix-frontend-php” command.
Example for installing Zabbix agent only.

# apt-get install zabbix-agent
Editing PHP configuration for Zabbix frontend

Apache configuration file for Zabbix frontend is located in /etc/apache2/conf.d/zabbix. Some PHP settings are already configured.

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
It’s necessary to uncomment the “date.timezone” setting and set the correct timezone for you. After changing the configuration file restart the apache web server.

# service apache2 restart
Zabbix frontend is available at http://zabbix-frontend-hostname/zabbix in the browser. Default username/password is Admin/zabbix.

Установка и базовая настройка Zabbix (Zabbix install)
В данной статье рассматривается установка системы мониторинга Zabbix. В качестве операционной системы была выбрана Ubuntu Server 11.10, т. к. Zabbix (версия 1.8.5) присутствует в ее стандартных репозитариях.
Установка Zabbix
Найти все пакеты связанные с zabbix можно воспользовавшись командой
root@zabbix:~# aptitude search zabbix
p zabbix-agent — network monitoring solution — agent
p zabbix-frontend-php — network monitoring solution — PHP front-en
p zabbix-proxy-mysql — network monitoring solution — proxy (using
p zabbix-proxy-pgsql — network monitoring solution — proxy (using
p zabbix-server-mysql — network monitoring solution — server (usin
p zabbix-server-pgsql — network monitoring solution — server (usin
Установим нужные.

apt-get install zabbix-server-mysql
Здесь при установке у нас спросят пароль MySQL для пользователя root — вводим его. Затем предложат настроить базу данных с помощью dbconfig-common — соглашаемся и снова вводим пароль.
После окончания установки ставим следующий пакет.
apt-get install zabbix-agent
apt-get install zabbix-frontend-php
По ходу установки zabbix-frontend-php выбираем mysql базу и снова вводим пароль(лучше такой же как до этого, чтобы не запутаться).
Вот собственно и все по установке Zabbix. Набираем в браузере http://host/zabbix/, где host — ip адрес zabbix-сервера (или же localhost).
Login по умолчанию — admin, а Password — zabbix.
Базовая настройка Zabbix
Открыв веб-интерфейс видим в правом верхнем углу вкладку Profile. Заходим и выбираем русский язык. Если перейти на вкладку Мониторинг > Dashboard(Панель) то мы увидим основные показатели zabbix. Наверняка там будет следующее:

Для того чтобы исправить ошибки, выделенные красным, необходим отредактировать файл php.ini.
vi /etc/php5/apache2/php.ini
находим там нужные строчки и выставляем необходимые значения
post_max_size = 32M
date.timezone = Europe/Volgograd
max_execution_time = 600
max_input_time = 600
Так же может возникнуть ошибка с mbstring. В этом случае находим эту строчку, разкоментируем ее и присваиваем значение 2
mbstring.func_overload=2
Сохраняем все изменения и делаем рестарт apache и zabbix-server
/etc/init.d/apach2 restart
/etc/init.d/zabbix-server restart
Снова заходим на веб-интерфейс zabbix и видим что ошибки исчезли.
Также, для мониторинга необходимо поправить скрипт пинга. Администрирование > Скрипты. Здесь в скрипте пинга меняем
/bin/ping -c 3 {HOST.CONN} на /usr/bin/fping -c 3 {HOST.CONN}
Теперь необходимо поправить конфигурации в файле zabbix_server.conf. Исправляем существующую строчку(она закоментированна по умолчанию) или дописываем:
vi /etc/zabbix/zabbix_server.conf
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
И опять рестартуем службы.
Если вдруг что-то идет не так, то всегда можно посмотреть логи zabbix-serevera, которые находятся по адресу /var/log/zabbix-server/zabbix_server.log
Итог
Произведена установка системы мониторинга Zabbix и ее базовая настройка. Теперь возможно последующее создание узлов сети, построение графиков, подготовка комплексных отчетов а так же создание карт сети, но об этом чуть позже.

Установка Zabbix-агента на Windows

Доброго времени суток. Продолжаем настраивать систему мониторинга Zabbix. И в данной статье мы поговорим о мониторинге устройств под управлением операционной системы Windows. Как Вы знаете, что Windows из коробки не поддерживает SNMP, поэтому по SNMP Zabbix не сможет забирать данные с устройства наблюдения. Но у нас есть сервера под управлением Windows, есть локальная сеть в которой находятся машины под Windows и все это нам надо мониторить. Как же быть? Да простую проверку (например, доступность узла сети) мы легко можем организовать, а вот загрузку системы, время работы узла. Для этого есть специальная программа, которая передает все эти данные zabbix-серверу. И дальше мы установим zabbix-agent на Windows, настроим zabbix агента. А также настроим zabbix сервер для получения данных от zabbix агента.

Первое, что нам надо сделать — это скачать zabbix агента для Windows. Для этого перейдите по ссылке. Дистрибутив агента Zabbix для Windows включает в себя следующие файлы: zabbix_agentd.exe, zabbix_get.exe и zabbix_sender.exe.

Установка и настройка zabbix-агента.

Создайте папку “c:\program files\zabbix». скопируйте в нее следующие файлы zabbix_agent.exe, zabbix_get.exe и zabbix_sender.exe.
Дальше создаем в этой папке log файл для zabbix агента: zabbix_agentd.log.
Следующим шагом создаем конфигурационный файл zabbix_agentd.conf и помещаем в него следующий код:

Server=
#ServerPort=10051
# Unique hostname. Required for active checks.
Hostname=host.local
# Listen port. Default is 10050
ListenPort=10050
# Name of log file.
LogFile=c:\program files\zabbix_agentd.log
# Maximum size of log file in MB. Set to 0 to disable automatic log rotation.
LogFileSize=10

где:
Server — вводим ip адрес zabbix сервера
ServerPort — указываем порт по которому работает zabbix-server с zabbix-agent, в нашем случае закомментировано, т.к. мы используем порт по умолчанию 10051
Hostname — указываем название нашего локального хоста
ListenPort — порт по которому zabbix агент отдает данные zabbix серверу, 10050
LogFile — полный путь к log файлу, в нашем случае c:\program files\zabbix_agent.log
LogFileSize — размер файла лога, указывается в мегобайтах, в нашем случае мы установили размер данного файла равног 10 мегобайт.
Теперь приступаем к непосредственной установке zabbix-agent. Для этого в коммандной строке введите следующее:

«c:\program files\zabbix\zabbix_agentd.exe» —config «c:\program files\zabbix\zabbix_agentd.conf» —install

Запускем zabbix агента, в командной строке введите:

«c:\program files\zabbix\zabbix_agentd.exe» —config «c:\program files\zabbix\zabbix_agentd.conf» —start

Или zabbix-agent можно запустить через службы Windows в панели управления.
Проверим работу zabbix агента. Для этого в командной строке введем:

«c:\program files\zabbix\zabbix_agentd.exe» —config «c:\program files\zabbix\zabbix_agentd.conf» —print

Должен появиться список параметров, которые может передать zabbix агент, вот только малая часть:
agent.hostname
agent.ping
agent.version
system.localtime
system.uname
vm.memory.size
и другие.

Настройка email оповещений. Часть 1 (zabbix ssmtp gmail)
Перед тем как перейти к настройке Zabbix, необходимо установить и настроить консольный почтовый клиент. Выбор стоял между sendmail и ssmtp.
Sendmail — один из старейших агентов передачи почты (MTA — mail transfer agent). Распространяется бесплатно вместе с исходными кодами. Существуют версии программы для практически всех операционных систем и аппаратных платформ.
Ssmtp — простой агент передачи почты, который может заменить sendmail в простых задачах. Работает на Linux, FreeBSD и Windows.
Я выбрал ssmtp, т.к. он очень легок и прост в настройке. Его функций вполне достаточно для настройки уведомлений на Zabbix. В качестве ОС — Ubuntu 11.10

1)И так, откроем терминал и вставим следующую команду:

sudo apt-get install ssmtp

2)После того как завершится установка, необходимо отредактировать конфигурационный файл

vi /etc/ssmtp/ssmtp.conf

И если вы собираетесь использовать gmail для отправки оповещений, то необходимо вставить следующее:

root=your_mail@gmail.com #почтовый ящик zabbixa
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=your_gmail_username # (без @gmail.com)
AuthPass=your_gmail_password
FromLineOverride=YES
UseTLS=YES

Я использую Ubuntu 11.10 и по умолчанию у меня не установлен sendmail, поэтому следующий шаг не обязателен. Но для тех, у кого этот пакет установлен, следует выполнить следующий пункт.
3)Необходимо убедиться что не установлен sendmail
sudo service sendmail stop
sudo apt-get remove sendmail
И затем создадим символическую ссылку для ssmtp, чтобы заменить sendmail
sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail

4)Собственно вся настройка закончена. Для отправки сообщения из терминала достаточно ввести следующую команду:
echo «email content» | mail -s «email subject» email_address_to_send_email@somedomain.com
Именно этот способ мы будем использовать при написании скрипта для отправки email оповещений из Zabbix.
Может появиться сообщение, что необходимо установить mailutils, установим его с помощью команды:
sudo apt-get install mailutils

Ошибки возникающие в процессе работы

Zabbix proxy poller processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPollers=20

Zabbix icmp pinger processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPingers=10
StartDiscoverers=10

Zabbix unreachable poller processes more than 75% busy
# nano /usr/local/etc/zabbix_server.conf
StartPollersUnreachable=10

Установка и настройка Munin с Monit на Debian Linux

В этой статье описано как настроить мониторинг сервера под управлением Debian при помощи Munin и Monit.

Munin отрисовывает отличные графики о многих ресурсах сервера, например средняя загрузка, использование памяти, загрузка CPU, пропускную способность MySQL, сеть и так далее. Также можно установить monit для контроля Apache, MySQL, Postfix и так далее. Сочетание этих двух инструментов позволяет диагностировать текущие или будущие проблемы.

Несмотря на то, что Munin позволяет отслеживать более одного сервера, в статье будет затронут мониторинг только одной системы.

Также данная статья подойдет и для других дистрибутивов Linux!

Как пример используется хостнэйм server.example.com, и виртуальный хост www.example.com с корневой директорией /var/www/www.example.com/web.

Установка и настройка munin

В Debian устанавливаем munin следующим образом:

apt-get install munin munin-node munin-plugins-extra

 

Далее нужно отредактировать конфиг /etc/munin/munin.conf. Раскомментируйте строки dbdir, htmldir, logdir, rundir, и tmpldir. Теперь меняем хостнэйм для munin, по умолчанию стоит localhost.localdomain, а нам нужен server.example.com:

# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files.  They all
# must be writable by the user running munin-cron.  They are all
# defaulted to the values you see here.
#
dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin
#
# Where to look for the HTML templates
tmpldir /etc/munin/templates

# (Exactly one) directory to include all files from.
#
includedir /etc/munin/munin-conf.d
[...]
# a simple host tree
[server.example.com]
    address 127.0.0.1
    use_node_name yes
[...]

 

Конфиг Apache для Munin находится в /etc/apache2/conf.d/munin (на самом деле это символическая ссылка на /etc/munin/apache.conf). Он определяет алиес Munin для данных мониторинга (HTML), которые сохраняются в /var/cache/munin/www. Таким образом сможем получить доступ к мониторингу со всех виртуальных хостов на сервере используя относительный путь /munin, например example.com/munin.

Закомментируйте строку Allow from localhost 127.0.0.0/8 ::1 и Allow from all:

nano /etc/apache2/conf.d/munin

 

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Order allow,deny
        Allow from all
        #Allow from localhost 127.0.0.0/8 ::1
        Options None

        # This file can be used as a .htaccess file, or a part of your apache
        # config file.
        #
        # For the .htaccess file option to work the munin www directory
        # (/var/cache/munin/www) must have "AllowOverride all" or something
        # close to that set.
        #

        # AuthUserFile /etc/munin/munin-htpasswd
        # AuthName "Munin"
        # AuthType Basic
        # require valid-user

        # This next part requires mod_expires to be enabled.
        #

        # Set the default expiration time for files to 5 minutes 10 seconds from
        # their creation (modification) time.  There are probably new files by
        # that time.
        #

    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault M310
    </IfModule>

</Directory>

 

После изменений обязательно нужно перезагрузить Apache и Munin:

/etc/init.d/apache2 restart
/etc/init.d/munin-node restart

 

Теперь подождите несколько минут чтобы Munin успел собрать первую статистику, доступ к которой можно получить по адресу:

http://www.example.com/munin/

 


Защита каталога Munin паролем

Будет не очень хорошо, если данный каталог смогут читать все кому хочется, поэтому можно поставить пароль. Для этого создадим файл с паролями /etc/munin/munin-htpasswd:

htpasswd -c /etc/munin/munin-htpasswd admin

 

admin это имя пользователя, а пароль назначается после выполнения команды. Теперь откроем /etc/apache2/conf.d/munin:

nano /etc/apache2/conf.d/munin

 

B раскомментируем секцию:

AuthUserFile /etc/munin/munin-htpasswd
        AuthName "Munin"
        AuthType Basic
        require valid-user

 

После изменений перезагружаем Apache:

/etc/init.d/apache2 restart

 

Установка и настройка Monit

В Debian для установки Monit выполняем:

apt-get install monit

 

В дефолтном конфиге /etc/monit/monitrc есть много примеров, а также можно обратиться к странице с документацией mmonit.com/monit/documentation/. Тем не менее, ниже показана настройка для ProFTPD, sshd, MySQL, Apache и Postfix. Веб-интерфейс будет работать на 2812 порту по HTTPS и отправлять сообщения на root@localhost:

mv /etc/monit/monitrc /etc/monit/monitrc_orig
nano /etc/monit/monitrc

 

set daemon  60
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { from: monit@server.example.com }
set alert root@localhost
set httpd port 2812 and
     SSL ENABLE
     PEMFILE  /var/certs/monit.pem
     allow admin:test

check process proftpd with pidfile /var/run/proftpd.pid
   start program = "/etc/init.d/proftpd start"
   stop program  = "/etc/init.d/proftpd stop"
   if failed port 21 protocol ftp then restart
   if 5 restarts within 5 cycles then timeout

check process sshd with pidfile /var/run/sshd.pid
   start program  "/etc/init.d/ssh start"
   stop program  "/etc/init.d/ssh stop"
   if failed port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout

check process mysql with pidfile /var/run/mysqld/mysqld.pid
   group database
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 then restart
   if 5 restarts within 5 cycles then timeout

check process apache with pidfile /var/run/apache2.pid
   group www
   start program = "/etc/init.d/apache2 start"
   stop program  = "/etc/init.d/apache2 stop"
   if failed host www.example.com port 80 protocol http
      and request "/monit/token" then restart
   if cpu is greater than 60% for 2 cycles then alert
   if cpu > 80% for 5 cycles then restart
   if totalmem > 500 MB for 5 cycles then restart
   if children > 250 then restart
   if loadavg(5min) greater than 10 for 8 cycles then stop
   if 3 restarts within 5 cycles then timeout

check process postfix with pidfile /var/spool/postfix/pid/master.pid
   group mail
   start program = "/etc/init.d/postfix start"
   stop  program = "/etc/init.d/postfix stop"
   if failed port 25 protocol smtp then restart
   if 5 restarts within 5 cycles then timeout

#check process nginx with pidfile /var/run/nginx.pid
#   start program = "/etc/init.d/nginx start"
#   stop  program = "/etc/init.d/nginx stop"
#   if failed host 127.0.0.1 port 80 then restart
#
#check process memcached with pidfile /var/run/memcached.pid
#   start program = "/etc/init.d/memcached start"
#   stop  program = "/etc/init.d/memcached stop"
#   if failed host 127.0.0.1 port 11211  then restart
#
#check process pureftpd with pidfile /var/run/pure-ftpd/pure-ftpd.pid
#   start program = "/etc/init.d/pure-ftpd-mysql start"
#   stop program  = "/etc/init.d/pure-ftpd-mysql stop"
#   if failed port 21 protocol ftp then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process named with pidfile /var/run/named/named.pid
#   start program = "/etc/init.d/bind9 start"
#   stop program = "/etc/init.d/bind9 stop"
#   if failed host 127.0.0.1 port 53 type tcp protocol dns then restart
#   if failed host 127.0.0.1 port 53 type udp protocol dns then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process ntpd with pidfile /var/run/ntpd.pid
#   start program = "/etc/init.d/ntp start"
#   stop  program = "/etc/init.d/ntp stop"
#   if failed host 127.0.0.1 port 123 type udp then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process mailman with pidfile /var/run/mailman/mailman.pid
#   group mail
#   start program = "/etc/init.d/mailman start"
#   stop  program = "/etc/init.d/mailman stop"
#
#check process amavisd with pidfile /var/run/amavis/amavisd.pid
#   group mail
#   start program = "/etc/init.d/amavis start"
#   stop  program = "/etc/init.d/amavis stop"
#   if failed port 10024 protocol smtp then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process courier-imap with pidfile /var/run/courier/imapd.pid
#   group mail
#   start program = "/etc/init.d/courier-imap start"
#   stop program = "/etc/init.d/courier-imap stop"
#   if failed host localhost port 143 type tcp protocol imap then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process courier-imap-ssl with pidfile /var/run/courier/imapd-ssl.pid
#   group mail
#   start program = "/etc/init.d/courier-imap-ssl start"
#   stop program = "/etc/init.d/courier-imap-ssl stop"
#   if failed host localhost port 993 type tcpssl sslauto protocol imap then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process courier-pop3 with pidfile /var/run/courier/pop3d.pid
#   group mail
#   start program = "/etc/init.d/courier-pop start"
#   stop program = "/etc/init.d/courier-pop stop"
#   if failed host localhost port 110 type tcp protocol pop then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process courier-pop3-ssl with pidfile /var/run/courier/pop3d-ssl.pid
#   group mail
#   start program = "/etc/init.d/courier-pop-ssl start"
#   stop program = "/etc/init.d/courier-pop-ssl stop"
#   if failed host localhost port 995 type tcpssl sslauto protocol pop then restart
#   if 5 restarts within 5 cycles then timeout
#
#check process dovecot with pidfile /var/run/dovecot/master.pid
#   group mail
#   start program = "/etc/init.d/dovecot start"
#   stop program = "/etc/init.d/dovecot stop"
#   if failed host localhost port 993 type tcpssl sslauto protocol imap then restart
#   if 5 restarts within 5 cycles then timeout

 

Как видно из конфига, в него добавлены еще некоторые примеры настройки, которые в случае необходимости можно раскомментировать. Конфиг не очень простой, поэтому лучше обратиться к официальной документации mmonit.com/monit/documentation/monit.html.

В части для Apache есть следующие строки:

if failed host www.example.com port 80 protocol http
      and request "/monit/token" then restart

 

Monit будет пытается подключиться к www.example.com на 80 порту смотря файл /monit/token, который у нас находится в /var/www/www.example.com/web. Если это не происходит значит Apache не работает, и Monit его перезапустит. Теперь создадим файл /var/www/www.example.com/web/monit/token, в котором можно написать пару рандомных строк:

mkdir /var/www/www.example.com/web/monit
echo "hello world" > /var/www/www.example.com/web/monit/token

 

Далее создадим PEM сертификат /var/certs/monit.pem потому что хотим использовать SSL-зашифрованные для веб-интерфейса Monit:

mkdir /var/certs
cd /var/certs

 

Теперь настроим конфиг monit.cnf:

nano /var/certs/monit.cnf

 

# create RSA certs - Server

RANDFILE = ./openssl.rnd

[ req ]
default_bits = 2048
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type

[ req_dn ]
countryName = Country Name (2 letter code)
countryName_default = MO

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = Monitoring

localityName                    = Locality Name (city)
localityName_default            = Monittown

organizationName                = Organization Name (company)
organizationName_default        = Monit Inc.

organizationalUnitName          = Organizational Unit Name (section)
organizationalUnitName_default  = Dept. of Monitoring Technologies

commonName                      = Common Name (FQDN of your server)
commonName_default              = server.monit.mo

emailAddress                    = Email Address
emailAddress_default            = root@monit.mo

[ cert_type ]
nsCertType = server

 

Создаем сертификат:

openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem

openssl gendh 512 >> /var/certs/monit.pem

openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem

chmod 700 /var/certs/monit.pem

 

Далее отредактируем /etc/default/monit поменяв значение startup на 1:

nano /etc/default/monit

 

# Defaults for monit initscript
# sourced by /etc/init.d/monit
# installed at /etc/default/monit by maintainer scripts
# Stefan Alfredsson <alfs@debian.org>

# You must set this variable to for monit to start
startup=1

# You can change the location of the state file here
# It can also be set in monitrc
# STATEFILE="/var/lib/monit/monit.state"

# To change the intervals which monit should run,
# edit the configuration file /etc/monit/monitrc
# It can no longer be configured here.

 

Запускаем monit:

/etc/init.d/monit start

 

Теперь можно зайти на веб-интерфейс по адресу:

https://www.example.com:2812/

 

Если не заходит нужно проверить не блокируется ли 2812 порт фаерволлом или читать логи. Логин для входа admin, а пароль test (данные указаны в /etc/monit/monitrc).

web cluster debian

debian 7

drbd + heartbeat + drbdlinks + php5 + mysql 5.5 + apache + nginx + memcached + eAcceleration

0. vim /etc/apt/sources.list

deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all

 

wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
sudo apt-get update

 

1. Настройка Сети
vim /etc/network/interfaces

Node1

# The secondary network interface work
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.51
netmask 255.255.255.0
network 192.168.0.255
gateway 192.168.0.254
dns-nameservers 192.168.0.254

Node2

# The secondary network interface
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.52
netmask 255.255.255.0
gateway 192.168.0.254
dns-nameservers 192.168.0.254

vim /etc/hosts

Node1

127.0.0.1 localhost
127.0.1.1 node1
192.168.0.50 nodewww
192.168.0.51 node1
192.168.0.52 node2

Node2

127.0.0.1 localhost
127.0.1.1 node2
192.168.0.50 nodewww
192.168.0.51 node1
192.168.0.52 node2

2. SSH frendly — делаем аналогично allnode

NOTE: You dont have to create an interface and set this IP or make a IP alias. Heartbeat
will take care of it. Automaticaly.

Now exchange and save authorized keys between node1 and node2.

Key exchange:

On node1:

Generate the key:

[root@hb_test1 ~]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
9f:5d:47:6b:2a:2e:c8:3e:ee:8a:c2:28:5c:ad:57:79 root@hb_test1.lap.work

Pass the key to node2:
[root@hb_test1 ~]# scp .ssh/id_dsa.pub hb_test2.lap.work:/root/.ssh/authorized_keys

On node2:

Generate the key:

[root@hb_test2 ~]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
40:66:t8:bd:ac:bf:68:38:22:60:d8:9f:18:7d:94:21 root@hb_test2.lap.work

Pass the key to node1:
[root@hb_test2 ~]# scp .ssh/id_dsa.pub hb_test1.lap.work:/root/.ssh/authorized_keys

2. Настройка времени — allnode

apt-get ntpdate ntp

tzselect, date

 

3. DRBD

vim  /etc/drbd.conf нужно разнести на несколько томов, новый том = новый порт.

apt-get install drbd8-utils drbdlinks

!!!!!!!!!! modprobe drbd >>> /etc/rc.local -на ОБЕИХ нодах.

 

global {usage-count no;
        }
common {
}

resource r0 {
        protocol C;

handlers {
        #split-brain “/usr/lib/drbd/notify-split-brain.sh root”;
        #pri-on-incon-degr “/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f”;
        #pri-lost-after-sb “/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f”;
        #local-io-error “/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f”;
}

startup {
        degr-wfc-timeout 120;
        }

disk {
        on-io-error detach;
        }
net {
#       after-sb-0pri disconnect;
#       after-sb-1pri disconnect;
#       after-sb-2pri disconnect;
#       rr-conflict disconnect;
        max-buffers 2048;
        ko-count 4;
}

syncer {
        rate 30M;
        al-extents 257;
        }

on node1 {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.51:7788;
        flexible-meta-disk internal;
        }

on node2 {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.52:7788;
        flexible-meta-disk internal;
        }
}

4.  Drbdlinks start | stop | status | list | monitor

vim  /etc/drbdlinks.conf

mountpoint('/drbd')
link('/etc/apache2')
link('/var/www')
#link('/usr/lib/cgi-bin')
link('/var/lib/mysql')
link('/etc/mysql')
link('/etc/php5')
link('/etc/phpmyadmin')

5.  Heartbeat

apt-get install heartbeat

vim  /etc/ha.d/ha.cf

debugfile       /var/log/ha-debug
logfile         /var/log/ha-log
logfacility     local0
keepalive       2
deadtime        10
warntime        30
initdead        60
udpport         694
auto_failback   off
node    node1
node    node2
debug   1
ucast eth1 192.168.0.52
#bcast eth1
ping 192.168.0.254

vim  /etc/ha.d/haresources

#Node1 

node1 IPaddr::192.168.0.50/24/eth1:1 drbddisk Filesystem::/dev/drbd0::/drbd::ext3 mysql apache2 drbdlinks

#Node2

node2 IPaddr::192.168.0.50/24/eth1:1 drbddisk Filesystem::/dev/drbd0::/drbd::ext3 mysql apache2 drbdlinks

vim /etc/ha.d/authkeys — на обеих нодах

auth 3
3 md5 specialshop

 

 

зависания модема huawei e1550 — жесткий рестарт

Ubuntu отключение usb модема

Ищем модем:
for device in $(ls /sys/bus/usb/devices/*/product); do echo $device;cat $device;done
Отключаем:
sudo sh -c «echo 0 > /sys/bus/usb/devices/3-1/authorized» (подставляем свой номер)
Включаем:

sudo sh -c «echo 1 > /sys/bus/usb/devices/3-1/authorized»

или
#!/bin/sh
 echo "Выключение питания"
 echo suspend > /sys/bus/usb/devices/1-9/power/level
 sleep 10
 echo "Включение питания"
 echo on > /sys/bus/usb/devices/1-9/power/level

 http://sysadmin.te.ua/linux/usb.html

http://sysadmin.te.ua/linux/usb.html

 

Кулл http://forum.ubuntu.ru/index.php?topic=111137.0

Скомпиленный usbreset

usbreset.tar.gz

 

Учкудук два модема…

Ещё пару слов дополню…
Поставил на систему второй модем для входящих с АллоИнкогнито и тут пришёл он самый… П-ц который: модемы сами по себе менялись местами хлеще акробатов в цирке! При отключении одного — второй норовил переехать на его порты и т.д. и т.п.

А т.к. диалпланы для них в корне разные — надо было как-то решать…
Решение вполне обоснованное для Линукса: порту можно назначить фиксированную “ссылку»!
Т.е. — задаём для модема 1 — порты не ttyUSB1 и 2, а hv0 и hi0 (ХуавейВоис и ХуавейИнфо)!
Как?
Отключаем от компа оба модема, вставляем первый.
Даём с рута в терминале команду dmesg
В ответ вываливается куча всего, но в конце — заветные строки:
[291015.913221] option 1-2:1.0: GSM modem (1-port) converter detected
[291015.913364] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[291015.913926] option 1-2:1.1: GSM modem (1-port) converter detected
[291015.914026] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[291015.916678] option 1-2:1.2: GSM modem (1-port) converter detected
[291015.916812] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2

«Кто есть ху»:
После option идёт идентификатор порта.
1-2 — первый ЮСБ хост, второе устройство
:1.1 — первый порт на этом устройстве.
В следующей строке — инфа на тему того, каким портом стал этот наш внутренний.
Нас интересуют пред-последний и последний — 1 и 2 в данном случае.
1 — порт для голоса, 2 — для данных.
Теперь открываем из под рута для редактирования файл /etc/udev/rules.d/huawei.rules — тут прописываются правила для всея Хуавей-девайсов в системе. Скорее всего он будет пустым.
Вбиваем строчки:
KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.1", NAME="%k", SYMLINK+="hv0", GROUP="root", MODE="0666"
KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.2", NAME="%k", SYMLINK+="hi0", GROUP="root", MODE="0666"

«Всея устройства на этом конкретном порту отныне и присно зовутся ещё и hv0, а на этом — hi0! Сохраняем, Аминь!»
Повторяем процесс начиная с втыкания для второго модема — появятся ещё две строчки в файле, в которых уже порты от второго модема и hv1 и hi1… Можно так и третий, и сто-тридцать-пятый добавить…

Теперь если выдернуть модемы и вставить, то по команде ls -1 /dev/hv* или ls -1 /dev/hi* — выдаст ВСЕГДА нужный девайс, главное не перепутать разъём на компе!

/etc/asterisk/datacard.conf тоже меняется — вместо безликих
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands

Появляются
audio=/dev/hv0 ; tty for audio connection
data=/dev/hi0 ; tty for AT commands

Теперь перезагружаем Астериск и ура — путаницы больше не будет!
На этом с железом пока всё.

 

 

OpenVPN настройка сервера для филиалов + мои рабочие конфиги

Спасибо

http://www.ylsoftware.com/news/393

 

Соединение нескольких офисов в одну сеть с помощью OpenVPN

 

Итак. Допустим что у некоторой фирмы есть несколько офисов в различных точках города (возможно даже земного шара — не суть важно) и нам нужно обеспечить максимально простой способ взаимодействия локальных сетей различных офисов между собой. Неплохим решением этой задачи будет объединение этих сетей посредством OpenVPN.

Итак. Уточним начальные условия:


Центральный офис (office-0):

Сервер под управлением Debian Linux. Три сетевых интерфейса: eth0, eth1, eth2. Конфигурация следующая:

  • eth0: внешний интерфейс, имеющий реальный ip-адрес a.b.c.d.
  • eth1: первая локальная сеть: 192.168.1.1/24.
  • eth2: вторая локальная сеть: 192.168.2.1/24.

Офис 1 (office-1):

Под управлением Debian Linux. Два интерфейса:

  • eth0: внешний интерфейс, имеющий доступ к адресу a.b.c.d (каким либо образом).
  • eth1: локальная сеть: 192.168.3.1/24.

Офис 2 (office-2)

Сервер полностью аналогичен серверу в первом офисе, за исключением eth1: там адрес 192.168.4.1/24.


Объединять мы будем сервера в виртуальную сеть 192.168.10.0/24. Поэтому на всех серверах должен быть настроен NAT не только для «своих» сетей, но и для сети 192.168.10.0/24.

Будем считать что всё это уже сделано. Приступаем к установке и настройке OpenVPN-сервера:

apt-get install openvpn

Создаём файл конфигурации /etc/openvpn/server.conf следующего содержания:

mode server
tls-server
daemon

ifconfig 192.168.10.1 255.255.255.0

port 1194
proto tcp-server
dev tap
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/office-0.crt
key /etc/openvpn/keys/office-0.key
dh /etc/openvpn/keys/dh1024.pem
client-config-dir /etc/openvpn/ccd
push "route 192.168.10.0 255.255.255.0 192.168.10.1"
route 192.168.3.0/24 192.168.10.101 # Обратная видимость сети филиала
route 192.168.4.0/24 192.168.10.102 # Обратная видимость сети филиала
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
verb 3
log-append /var/log/openvpn.log

Создаём каталог, в котором будут хранится индивидуальные настройки клиентов:

mkdir /etc/openvpn/ccd

Копируем скрипты для генерации ключей и создаём ключи:

cp -vR /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/
mkdir /etc/openvpn/2.0/keys
ln -s /etc/openvpn/2.0/keys /etc/openvpn/keys
cd /etc/openvpn/2.0/keys
source ./vars
./clean-all
./build-ca
./build-dh

# Ключ для центрального офиса
./build-key-server office-0

# Ключ для первого офиса
./build-key office-1

# Ключ для второго офиса
./build-key office-2

Входе выполнения этих команд будет задан ряд вопросов. Ответы на них вобщем-то очевидны, поэтому заострять на них внимание не будем.

Далее создаём файлы /etc/openvpn/ccd/office-1 и /etc/openvpn/ccd/office-2. Содержание первого:

# приcваиваем ip-адрес
ifconfig-push 192.168.10.101 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.1.0 255.255.255.0 192.168.10.1"
push "route 192.168.2.0 255.255.255.0 192.168.10.1"

# роутинг на сеть второго офиса
push "route 192.168.4.0 255.255.255.0 192.168.10.102"

Содержание второго:

# присваиваем ip-адрес
ifconfig-push 192.168.10.102 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.1.0 255.255.255.0 192.168.10.1"
push "route 192.168.2.0 255.255.255.0 192.168.10.1"

# роутинг на сеть первого офиса
push "route 192.168.3.0 255.255.255.0 192.168.10.101"

На этом настрока сервера завершена. Перезапускаем его:

/etc/init.d/openvpn restart

Убеждаемся что поднялся интерфейс tap0:

ifconfig tap0

Переходим к настройке офисов. Рассмотрим только один. Второй будет сделан аналогично, за исключением имён сертификатов.

Устанавливаем openvpn:

apt-get install openvpn
mkdir /etc/openvpn/keys

Создаём файл конфигурации /etc/openvpn/client.conf:

client
dev tap
proto tcp

# адрес сервера в центрально офисе
remote a.b.c.d 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca ca.crt
cert /etc/openvpn/keys/office-1.crt
key /etc/openvpn/keys/office-1.key
log-append /var/log/openvpn.log

Далее нам нужно поместить файлы office-1.* и ca.crt из каталога /etc/openvpn/keys сервера в каталог /etc/openvpn/keys клиента.

После этого запускаем сервис:

chkconfig openvpn on
service openvpn start

Убеждаемся что поднялся интерфейс:

ifconfig tap0

После настройки обоих офисов можно убедиться в работе сети попробовав пинговать из одного офиса какой-нибудь компьютер, расположенный в другом офисе.

На этом всё. Более подробную информацию можно найти в документации по openvpn.

 

Решил собрать на Debian 7, а клиентами расставить 2 х Mikrotik 2011UAS 2HnD IN.

Все шикарно встало, сети просматривают друг друга полностью.

Конфиги:

mode server
tls-server
daemon

ifconfig 192.168.254.1 255.255.255.0

port 1194
proto tcp-server
dev tap
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/office-0.crt
key /etc/openvpn/keys/office-0.key
dh /etc/openvpn/keys/dh1024.pem
client-config-dir /etc/openvpn/ccd
push "route 192.168.254.0 255.255.255.0 192.168.254.1"
route 192.168.3.0 255.255.255.0 192.168.254.101
route 192.168.4.0 255.255.255.0 192.168.254.102
user nobody
group nogroup
keepalive 10 120
client-to-client
persist-key
persist-tun
verb 4

tun-mtu 1500
tun-mtu-extra 32
mssfix 1300
#keepalive 15 120
#fragment 1200

log-append /var/log/openvpn.log
status /var/log/openvpn/openvpn-status.log

 

1 Клиент на сервере: /etc/openvpn/ccd/office-1

# приcваиваем ip-адрес
ifconfig-push 192.168.254.101 255.255.255.0

iroute 192.168.3.0 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.0.0 255.255.255.0 192.168.254.1"
push "route 192.168.1.0 255.255.255.0 192.168.254.1"

# роутинг на сеть второго офиса
push "route 192.168.4.0 255.255.255.0 192.168.254.102"

 

2 Клиент  на сервере: /etc/openvpn/ccd/office-2

#ip-адрес
ifconfig-push 192.168.254.102 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.0.0 255.255.255.0 192.168.254.1"
push "route 192.168.1.0 255.255.255.0 192.168.254.1"

# роутинг на сеть первого офиса
push "route 192.168.3.0 255.255.255.0 192.168.254.101"

Клиент Mikrotik 1 филиал

name="ovpn-out1" mac-address=02:41:A8:A1:6C:A8 max-mtu=1500 connect-to=93.123.171.252 port=1194 mode=ethernet user="nobody" password="" profile=default certificate=cert1 auth=sha1 cipher=none add-default-route=no

Iptables на сервере:

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -I POSTROUTING -o tap0 -j MASQUERADE

iptables -F FORWARD
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tap0 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o tap0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -j REJECT

iptables -F INPUT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --source-port 80 -j ACCEPT
iptables -A INPUT -p tcp --source-port 21 -j ACCEPT
iptables -A INPUT -p tcp --source-port 22 -j ACCEPT

+ не забываем про Fail2ban на серв.

Firewall на Mikrotik 1 филиала

Filter:

;;; OpenVPN
     chain=input action=accept protocol=tcp dst-port=1194 

 9   chain=input action=accept protocol=tcp in-interface=ovpn-out1 

10   chain=forward action=accept src-address=192.168.0.0/24 dst-address=192.168.3.0/24 

11   chain=forward action=accept src-address=192.168.3.0/24 dst-address=192.168.0.0/24 

12   chain=forward action=accept protocol=icmp 

13   ;;; drop ssh brute forcers
     chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22 

14   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist 
     address-list-timeout=1w3d dst-port=22 

15   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 
     address-list-timeout=1m dst-port=22 

16   chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 
     address-list-timeout=1m dst-port=22 

17   chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22

Nat:

chain=srcnat action=masquerade src-address=192.168.3.0/24

Также подкладываем файлы сертификатов

[root@MikroTik_Mercedes] > certificate print
Flags: K - decrypted-private-key, Q - private-key, R - rsa, D - dsa 
 0 KR name="cert1" subject=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=office-1,name=office-1,emailAddress=xxx@GMAIL.COM 
      issuer=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM serial-number="02" email=xxx@GMAIL.COM 
      invalid-before=jul/07/2013 08:09:59 invalid-after=jul/05/2023 08:09:59 ca=yes 

 1    name="cert2" subject=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM 
      issuer=C=RU,ST=MOSCOW,L=MOSCOW,O=XXX,CN=srv-vpn,name=srv-vpn,emailAddress=xxx@GMAIL.COM serial-number="D15C8FD9479AE615" 
      email=xxx@GMAIL.COM invalid-before=jul/07/2013 07:53:38 invalid-after=jul/05/2023 07:53:38 ca=yes

 

 

https://terrty.net/2014/softether-vpn-ubuntu/ — softether

NAT для OpenVPN или «Как выйти во внутреннюю сеть?»

Всем привет.

Сегодня маленькая заметка про OpenVPN.
Как-то пришлось мне ставитьOpenVPN. Сама установка не сложная, если делать всё по инструкции.

Проблемы начались позже. Как выяснилось, те NAT правила которые прописаны в официальном мануале:

FIREWALLS
OpenVPN's usage of a single UDP port makes it fairly firewall-friendly. You should add an entry to your firewall rules to allow incoming OpenVPN packets. On Linux 2.4+:

iptables -A INPUT -p udp -s 1.2.3.4 --dport 1194 -j ACCEPT

This will allow incoming packets on UDP port 1194 (OpenVPN’s default UDP port) from an OpenVPN peer at 1.2.3.4.

If you are using HMAC-based packet authentication (the default in any of OpenVPN’s secure modes), having the firewall filter on source address can be considered optional, since HMAC packet authentication is a much more secure method of verifying the authenticity of a packet source. In that case:

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

would be adequate and would not render the host inflexible with respect to its peer having a dynamic IP address.

OpenVPN also works well on stateful firewalls. In some cases, you may not need to add any static rules to the firewall list if you are using a stateful firewall that knows how to track UDP connections. If you specify —ping n, OpenVPN will be guaranteed to send a packet to its peer at least once every n seconds. If n is less than the stateful firewall connection timeout, you can maintain an OpenVPN connection indefinitely without explicit firewall rules.

You should also add firewall rules to allow incoming IP traffic on TUN or TAP devices such as:

iptables -A INPUT -i tun+ -j ACCEPT

to allow input packets from tun devices,

iptables -A FORWARD -i tun+ -j ACCEPT

to allow input packets from tun devices to be forwarded to other hosts on the local network,

iptables -A INPUT -i tap+ -j ACCEPT

to allow input packets from tap devices, and

iptables -A FORWARD -i tap+ -j ACCEPT

to allow input packets from tap devices to be forwarded to other hosts on the local network.

These rules are secure if you use packet authentication, since no incoming packets will arrive on a TUN or TAP virtual device unless they first pass an HMAC authentication test.

Позволят Вам попасть в свою сеть, но только не дальше сервера.
Что-бы пакеты перебрасывались во внутреннюю сеть нужно ещё одно NAT правило
На нашем сервере стоит 2 сетевых карты.
eth0 – смотрит в интернет
eth1 – смотрит в LAN. IP – 192.168.1.2

Сам OpenVPN использует адреса из диапазона 10.0.0.0/24

Напишем требуемое правило для того что-бы пользователи OpenVPN могли ходить в LAN

iptables -v -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/24 -j SNAT --to-source 192.168.1.2

Всё, пробуем.

Декабрь 2012 накопительное обновление часового пояса для операционных систем Windows

http://support.microsoft.com/kb/2779562/ru

Получение обновления

Центр загрузки Майкрософт

Следующие файлы доступны для загрузки из центра загрузки Майкрософт:

Свернуть эту таблицуРазвернуть эту таблицу
 
Операционная система Обновление
Для всех поддерживаемых 32-разрядных (x86) версий Windows 8
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=4f6fe619-1311-44be-83c6-309bed1c2592)
Для всех поддерживаемых 64-разрядных версий Windows 8
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=31868a76-f39f-4135-a3f1-ec0b34585d3e)
Все поддерживаемые 64-разрядные версии Windows Server 2012
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=9b93c03a-2b36-4cb3-9fc5-11bc7464c27c)
Все поддерживаемые 32-разрядные (x86) версии Windows Vista
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=bb29efd7-6d50-4a36-b678-3e52be0a0ac1)
Для всех поддерживаемых 64-разрядных версий Windows Vista
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=032894a7-5508-4dbc-aa0e-4fd625a6d25e)
Для всех поддерживаемых 32-разрядных (x86) версий Windows Server 2008
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=fa93086d-366c-4a48-9076-719da71000da)
Для всех поддерживаемых 64-разрядных версий Windows Server 2008
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=89141c35-756b-4864-9c9f-ebec4c8a09d7)
Для всех поддерживаемых IA-64-разрядных версий Windows Server 2008
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=8d81a939-387e-41f3-a521-7e9d43dd29b6)
Для всех поддерживаемых 32-разрядных версий Windows 7 (x86)
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=348802f2-6abd-4ca3-9c74-dcfe918533ea)
Все поддерживаемые 64-разрядные версий Windows 7
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=b13a5f86-1d59-41e5-9f74-dab879b96f60)
Для всех поддерживаемых 64-разрядных версий Windows Server 2008 R2
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=73942ffb-331c-4967-9880-96689cebb82d)
Для всех поддерживаемых версий Windows Server 2008 R2 для систем на базе процессоров IA-64
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=e3d1e9ad-ade0-44c2-b0cf-7e8a5d71b608)
Все поддерживаемые 32-разрядные (x86) версии Windows XP
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=faddfbf1-5bb0-43ae-83a5-573b495bd66a)
Все поддерживаемые 64-разрядные версии Windows XP
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=39f94318-065c-4426-8864-9aa27dcd1136)
Для всех поддерживаемых 32-разрядных версий Windows Server 2003
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=77d648e2-bbeb-4a0b-a748-4f0c3908521b)
Для всех поддерживаемых 64-разрядных версий Windows Server 2003
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=891622af-911c-4f4a-97c6-5dfbc4a66f90)
Для всех поддерживаемых IA-64-разрядных версий Windows Server 2003
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=378ae3a6-e23c-498b-9c36-4e81f3bbe608)
Для всех поддерживаемых версий x 86 под управлением Windows Embedded стандартный 7
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=c70394af-647e-4947-a54a-a5beb007b97b)
Для всех поддерживаемых 64-разрядных версий Windows Embedded стандартный 7
Свернуть это изображениеРазвернуть это изображение
 

Загрузить

Загрузите пакет обновления.

(http://www.microsoft.com/downloads/details.aspx?FamilyId=3a4e8b06-c8c8-4a29-8f84-f408abb2bd50)

Дата выпуска: 27 ноябрь 2012

Для получения дополнительных сведений о том, как загрузить файлы поддержки Майкрософт, щелкните следующий номер статьи базы знаний Майкрософт:

119591

(http://support.microsoft.com/kb/119591/)

Как загрузить файлы поддержки Microsoft через оперативные службы

Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последние антивирусные программы на дату, которая была учтена в файл. Файл хранится на защищенных серверах, что предотвращает внесение несанкционированных изменений в файл.

С момента предыдущего Windows накопительное обновление часового пояса были внесены следующие изменения:

  • Бахия время (зима)
    Начиная с 2012, Бахия стандартное время больше не имеют летнего времени.
  • Азорское время (зима)
    Азорское стандартное время изменения отражают на 28 октября 2012 в конце периода летнего времени. Эти изменения были выпущены в виде исправление 2769756. Данное обновление включает изменения периода летнего времени для Азорское время в Windows 8 и Windows Server 2012. Кроме того данное обновление включает изменения в исправление 2769756. Новые правила для перехода на летнее время для числа 2013 и добавляющего были выпущены в составе обновления часового пояса накопительное октября 2012 в обновлении 2756822.
  • Камчатка (зима):
    Правительство Фиджи объявило о новых правилах DST с 2012 до 2013. Переход на летнее время начинается в 2:00 в воскресенье, 21 октября 2012 и оканчивается в 3:00 в воскресенье, 20 января числа 2013. Данное обновление предназначено для Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2 и ранее. Кроме того изменения, включенные в октябре 2012 накопительное обновление часовых поясов, описанной в обновлении 2756822 находятся в данное обновление.
  • Стандартное время Иордании:
    Изменяет UTC смещение Иордания стандартное время (UTC + 2) (UTC + 3). Поэтому изменяется отображаемое имя часового пояса (UTC + 03:00) Amman. Из числа 2013 добавляющего Иорданское время (зима) больше не будут иметь летнего времени.

В следующей таблице перечислены изменения часового пояса:

Свернуть эту таблицуРазвернуть эту таблицу
Имя ключа часового пояса Отображаемое имя Новое начало летнего времени Новое окончание летнего времени TZI раздел
Бахия (зима) (UTC — 03:00) Сальвадор Не применимо Не применимо
Параметру NT\CurrentVersion\Time Zones\Bahia стандартный Time\Dynamic переход на летнее время

FirstEntryзначение DWORD: 000007da

LastEntryзначение DWORD: 000007dd

ШЕСТНАДЦАТЕРИЧНОЕ значение 2010: B4, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, \00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2011 г.: B4, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 01, 00, 06, 00, 01, 00, 00, 00, \ 00,00,00,00,00,00,00,00 0a, 00 06, 00, 03, 00, 17, 00, 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2012: B4, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 02, 00, 06, 00, 04, 00, 17, 00, \ 3b, 00, 3b, 00, e7, 03, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение числа 2013: b4, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, \ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Азорское время (зима) (UTC-01:00) Азорское Последнее воскресенье марта 00:00:00.000(2012 only) Последнее воскресенье октября 01:00:00.000(2012 only)
Параметру NT\CurrentVersion\Time Zones\Azores стандартный Time\Dynamic переход на летнее время

ШЕСТНАДЦАТЕРИЧНОЕ значение 2011 года: 3 c, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 0a, 00, 00, 00, 05, 00, 03, 00, \ 00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2012: 3 c, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 0a, 00, 00, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00

ШЕСТНАДЦАТЕРИЧНОЕ значение числа 2013: 3 c, 00, 00, 00, 00, 00, 00, 00, c4, ff, ff, ff, 00, 00, 0a, 00, 00, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,00,00,05,00,00,00,00,00,00,00,00,00

FirstEntryзначение DWORD: 000007db

LastEntryзначение DWORD: 000007dd

Стандартное время Фиджи (UTC + 12:00)
Фиджи
Третье воскресенье октября
02:00:00
Третье воскресенье января
03:00:00.000
Параметру NT\CurrentVersion\Time Zones\Fiji стандартный Time\Dynamic переход на летнее время

FirstEntryзначение DWORD: 000007d 8

LastEntryзначение DWORD: 000007de

ШЕСТНАДЦАТЕРИЧНОЕ значение 2008: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, \ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2009: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 01, 00, 04, 00, 01, 00, 00, 00, \ 00,00,00,00,00,00,00,00, 0b, 00, 00, 00, 05, 00, 02, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2010: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 03, 00, 00, 00, 05, 00, 03, 00, \ 00,00,00,00,00,00,00,00 0a, 00, 00, 00, 04, 00, 02, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2011 года: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 03, 00, 00, 00, 01, 00, 03, 00, \ 00,00,00,00,00,00,00,00 0a, 00, 00, 00, 04, 00, 02, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2012: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 01, 00, 00, 00, 04, 00, 03, 00, \ 00,00,00,00,00,00,00,00 0a, 00, 00, 00, 03, 00, 02, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение числа 2013: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 01, 00, 00, 00, 03, 00, 03, 00, \ 00,00,00,00,00,00,00,00 0a, 00, 00, 00, 04, 00, 02, 00, 00, 00, 00, 00, 00, 00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2014: 30, fd, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 01, 00, 00, 00, 04, 00, 03, 00, \ 00,00,00,00,00,00,00,00 0a, 00, 00, 00, 04, 00, 02, 00, 00, 00, 00, 00, 00, 00

Стандартное время Иордании (UTC + 3:00) Amman Отсутствует Отсутствует
Параметру NT\CurrentVersion\Time Zones\Jordan стандартный Time\Dynamic переход на летнее время

FirstEntryзначение DWORD: 000007d 6

LastEntryзначение DWORD: 000007dd

ШЕСТНАДЦАТЕРИЧНОЕ значение 2006: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 09, 00, 05, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,04,00,05,00,00,00,00,00,00,00,00,00

ШЕСТНАДЦАТЕРИЧНОЕ значение 2007: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 0a, 00 05, 00, 05, 00, 01, 00, \00, 00, 00, 00, 00, 00, 00, 00, 03, 00, 04, 00, 05, 00, 17, 00, 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2008: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 0a, 00 05, 00, 05, 00, 01, 00, \00, 00, 00, 00, 00, 00, 00, 00, 03, 00, 04, 00, 05, 00, 17, 00, 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2009: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 0a, 00 05, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,04,00,05,00,17,00 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2010: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 0a, 00 05, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,04,00,05,00,17,00 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2011 года: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 0a, 00 05, 00, 05, 00, 01, 00, \ 00,00,00,00,00,00,00,00,03,00,04,00,05,00,17,00 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение 2012: 88, ff, ff ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 01, 00, 00, 00, 01, 00, 00, 00, \ 00,00,00,00,00,00,00,00,03,00,04,00,05,00,17,00 3b, 00, 3b, 00, e7, 03

ШЕСТНАДЦАТЕРИЧНОЕ значение числа 2013: 4 c, ff ff, ff, 00, 00, 00, 00, c4, ff, ff ff, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, \ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Необходимые условия

Windows XP

Чтобы применить это обновление, необходимо наличие Windows XP Пакет обновления 3 (SP3). Дополнительные сведения о получении пакета обновления Windows XP щелкните следующий номер статьи базы знаний Майкрософт:

322389

(http://support.microsoft.com/kb/322389/)

Получение последнего пакета обновлений для Windows XP

Windows Server 2003

Чтобы применить это обновление, должна быть запущена Windows Server 2003 Пакет обновления 2 (SP2). Дополнительные сведения о получении пакета обновления Windows Server 2003 щелкните следующий номер статьи базы знаний Майкрософт:

889100

(http://support.microsoft.com/kb/889100/)

Получение последнего пакета обновления для Windows Server 2003

Windows Vista и Windows Server 2008

Чтобы применить это обновление, необходимо использовать Пакет обновления 2 (SP2) для Windows Vista или Windows Server 2008 SP2.

Для получения дополнительных сведений о получении пакета обновления для Windows Vista щелкните следующий номер статьи базы знаний Майкрософт:

935791

(http://support.microsoft.com/kb/935791/)

Получение последнего пакета обновления для Windows Vista

Дополнительные сведения о получении пакета обновления Windows Server 2008 щелкните следующий номер статьи базы знаний Майкрософт:

968849

(http://support.microsoft.com/kb/968849/)

Как получить последний пакет обновления для Windows Server 2008

Windows 7 и Windows Server 2008 R2

Для установки этого обновления требуются предварительные требования отсутствуют. Тот же пакет устанавливается как RTM-версии, а также версии Пакет обновления 1 для Windows 7 и Windows Server 2008 R2. Для получения дополнительных сведений о получении пакета обновления для Windows Server 2008 R2 или Windows 7 щелкните следующий номер статьи базы знаний Майкрософт:

976932

(http://support.microsoft.com/kb/976932/)

Сведения о пакете обновления 1 для Windows 7 и Windows Server 2008 R2

Windows 8 и Windows Server 2012

Для установки этого обновления требуются предварительные требования отсутствуют.

Windows Embedded стандартный 7

Для установки этого обновления требуются предварительные требования отсутствуют. Тот же пакет устанавливается как RTM-версии, а также версии Пакет обновления 1 для Windows Embedded Standard. Дополнительные сведения об обновлении устройства Windows Embedded стандартный 7 SP1, перейдите на веб-узел Майкрософт:

Сведения о реестре

Чтобы применить это обновление, нет необходимости вносить изменения в реестр.

Необходимость перезагрузки

Может потребоваться перезагрузить компьютер после установки данного обновления.

Сведения о замене обновлений

Это обновление заменяет обновления, описанные в КБ 2633952 и 2756822 КБ. Дополнительные сведения об этих статей щелкните следующие номера статей базы знаний Майкрософт:

2633952

(http://support.microsoft.com/kb/2633952/)

Декабря 2011 накопительное обновление часового пояса для операционных систем Microsoft Windows

2756822

(http://support.microsoft.com/kb/2756822/)

Октябрь 2012 накопительное обновление часового пояса для операционных систем Microsoft Windows

Настройка интернета на Samsung SmartTV

http://help.powernet.com.ru/main/80-smarttv-samsung-d-series.html