Показаны сообщения с ярлыком server. Показать все сообщения
Показаны сообщения с ярлыком server. Показать все сообщения

пятница, 12 февраля 2010 г.

Установка и настройка vnc4server в Linux. Поднимаем X-ы на удалённом сервере

Установка и настройка vnc4server в Linux. Поднимаем X-ы на удалённом сервере.

Часто существует потребность установки на удалённом сервере под управлением linux графической оболочки gnom или kde. Я предлагаю рассмотреть реализацию данной задачи с помощью vnc4server.

Установка производилась в linux debian lenny.
#apt-get install vnc4server
#apt-get install xorg
Также установим KDE3.
#apt-get install kde-core
После установки перейдём в домашний каталог вашего пользователя в моё случае это root:
# cd /root/
Появилась папка .vnc
и в ней конфиг файл xstartup
если нет то создаём его
#touch xstartup
(файл должен иметь права на выполнение)
#!/bin/sh
# раскомментируйте (если файл существовал и он закомментированы ) эти строки для запуска графической оболочки
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title «$VNCDESKTOP Desktop» &
twm &
Установим пароль для входа вашему пользователю.
#vncpassword
и ввеёдём пароль 2 раза.

Далее переходим в каталог /etc/X11/xinitrc и правим файл xinitrc
#!/bin/bash
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $
# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)
# invoke global X session script
#. /etc/X11/Xsession # закоментировать
startkde #строка для запуска kde автоматически
теперь запускаем наш vnc4server
#vnc4server
New ’178-59-12-55:1 (root)’ desktop is 178-59-12-55:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/78-159-112-55:1.log
Теперь можно соединятся к нашему удалённому рабочему столу по адресу 178.59.12.55:5901, введя пароль вы попадаете уже непосредственно в kde.
Если после соединения вы не увидили графическю оболочку а только консоль введите startkde.
Заметим что нормер после знака «:» в строке New ’178-59-12-55:1 соответствует последней цифре порта 5901. При повторном перезапуске если не очищать каталог /tmp/ от файлов типа .X1-lock .X2-lock то порт будет меняться по возрастанию последней цифры порта.
Для просмотра удалённого рабочего стола пользователям linux и windows стоит установить утилиту vncviewer.

Настройка DNS сервера


Настройка DNS сервера

DNS – Domain Name System — система доменных имён
распределённая система (распределённая база данных), способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства), сообщить IP адрес или (в зависимости от запроса) другую информацию. DNS работает в сетях TCP/IP. Как частный случай, DNS может хранить и обрабатывать и обратные запросы, определения имени хоста по его IP адресу – IP адрес по определённому правилу преобразуется в доменное имя, и посылается запрос на информацию типа «PTR».
Установка

#apt-get install bind9

Настройка
Автоматически после установки все конфиг файлы распологаются в /etc/bind
Начнём с файла /etc/bind/named.conf

include «/etc/bind/named.conf.options»;
// подгрузить файл в котором будут описаны опции
// далее описываются зоны
//в этой зоне описана база данных root тоесть сервера которые хранят доменные имена в зоне «.»
zone «.» {
type hint;
file «/etc/bind/db.root»;
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
// зона локальных имён
zone «localhost» {
type master;
file «/etc/bind/db.local»;
};
// обратная зона локальных имён
zone «127.in-addr.arpa» {
type master;
file «/etc/bind/db.127″;
};
//обратная бродкаст зона
zone «0.in-addr.arpa» {
type master;
file «/etc/bind/db.0″;
};
zone «255.in-addr.arpa» {
type master;
file «/etc/bind/db.255″;
};

В нём находятся глобальные настройки
options {
directory «/var/cache/bind»;
// If there is a firewall between you and nameservers you want
// to talk to, you might need to uncomment the query-source
// directive below. Previous versions of BIND always asked
// questions using port 53, but BIND 8.1 and later use an unprivileged
// port by default.
// query-source address * port 53;
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0′s placeholder.
// forwarders { адрес соседнего DNS (возможно slave или master сервера) или несколько адресов с которыми разрешено общятся для обмена зонами и другой информацией
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Вот впринцпе и всё такие стандартные настройки позволят вашему серверу нормально функционировать. Теперь рассмотрим пример добавления доменного имени в прямую и обратную зоны.

В файл /etc/bind/named.conf добавляем запись

zone «myhost.net.ua» {
type master;
file «masters/db.myhost.net.ua»;
allow-transfer { // опишем тут адреса DNS серверов которым разрешить загрузку зоны
217.20.160.161;
217.20.160.162;
194.19.14.154;
194.19.15.254;
};
};
// опишем обратную зону
zone «14.19.194.IN-ADDR.ARPA» {
type master;
file «masters/db.194.19.14″;
allow-transfer {
217.20.160.161;
217.20.160.162;
194.19.14.3;
194.19.14.154;
194.19.15.254;
};
};

Теперь нужно создать файлы зон

Создадим файл прямой зоны как указано в конфигурации db.myhost.net.ua
$TTL 86400
;
$ORIGIN net.ua.
myhost IN SOA ns.myhost.net.ua. hostmaster.myhost.net.ua. (
2009041000 ; Serial (yymmddxx)
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Time to Live
IN A 194.19.14.152
; NS for myhost.net.ua.
IN NS ns.myhost.net.ua.
; MX for myhost.net.ua.
IN MX 10 relay.myhost.net.ua.
$ORIGIN myhost.net.ua.
relay IN A 194.19.14.1

Подробней о записях:

Запись A (address record) или запись адреса связывает имя хоста с адресом IP. Например, запрос A-записи на имя referrals.icann.org вернет его IP адрес — 192.0.34.164
Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя K.ROOT-SERVERS.NET вернет его IPv6 адрес — 2001:7fd::1
Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя
Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
Запись NS (name server) указывает на DNS-сервер для данного домена.
Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги кеширования зонной информации и взаимодействия DNS-серверов.

Теперь создадим файл обратной зоны db.194.19.14

$TTL 86400
;
14.19.194.IN-ADDR.ARPA. IN SOA ns.myhost.net.ua. hostmaster.myhost.net.ua. (
2009050700; Serial
28800 ; Refresh
7200 ; Retry
1209600 ; Expire
86400) ; Time to Live
IN NS ns.myhost.net.ua.
$ORIGIN 14.19.194.IN-ADDR.ARPA.
; hosts from main backbone
1 IN PTR relay.myhost.net.ua.

О записях обратной зоны

Запись PTR (pointer) или запись указателя связывает IP хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP хоста в reverse форме вернёт имя (FQDN) данного хоста (см. Обратный DNS-запрос). Например, (на момент написания), для IP адреса 192.0.34.164: запрос записи PTR 164.34.0.192.in-addr.arpa вернет его каноническое имя referrals.icann.org. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии.

Вот и всё теперь можем перезапустить сервер и опробовать работу DNS сервера

#/etc/init.d/bind9 reload
#host -t A relay.myhost.net.ua
relay.myhost.net.ua has address 194.19.14.1
# dig @127.0.0.1 relay.myhost.net.ua
; <<>> DiG 9.4.2-P2 <<>> @127.0.0.1 relay.myhost.net.ua
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- 1312="" id:="" noerror="" opcode:="" p="" query="" status:=""> ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;relay.myhost.net.ua. IN A
;; ANSWER SECTION:
relay.myhost.net.ua. 86400 IN A 194.19.14.1
;; AUTHORITY SECTION:
myhost.net.ua. 86400 IN NS ns.myhost.net.ua.
;; ADDITIONAL SECTION:
ns.myhost.net.ua. 86400 IN A 194.19.14.1 52
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue May 12 11:11:33 2009
;; MSG SIZE rcvd: 158
Хочу заметить то что для ведения ведения зон нужно 2 DNS сервера master как пример описанный выше и slave сервер.
Статью буду изменять в соответствии с вашими пожеланиями и замечаниями.

SSL + apache , Настройка ssl шифрования для веб страниц


SSL + apache , Настройка ssl шифрования для веб страниц

Настройка ssl шифрования для веб страниц apache+modssl

Устанавилваем apache + modssl и openssl

#apt-get install openssl
#apt-get install appache2
Далие нужно активировать ssl модуль :

Создаём ссылки

/etc/apache2/mods-available/ssl.conf в /etc/apache2/mods-enabled
/etc/apache2/mods-available/ssl.load в /etc/apache2/mods-enabled
теперь нужно создать ключи
Создаём ключ командой
#openssl req -newkey rsa:1024 -nodes -keyout server.key
#openssl rsa -in server.key -out server.pem
Заполняем все поля которые попросит система
выполняем следующее
#openssl req -new -key server.key -out server.csr
Заполняем поля повтороно
#openssl x509 -req -days 60 -in server.csr -signkey server.key -out server.crt
получаем приватный ключ на 60 дней
Теперь нужно создать конфигурацию для apache — тоесть виртуальный хост

правим /etc/apache2/apache2.conf

ServerAdmin webmaster@domain.com
DocumentRoot /var/www/apache2/share/htdocs
ServerName www.domain.com
ScriptAlias /cgi-bin/ /var/www/apache2/share/htdocs/cgi-bin/
SSLEngine on
SSLCertificateFile /var/www/apache2/server.crt # путь к ключу очень важно!!
SSLCertificateKeyFile /var/www/apache2/server.pem #путь к ключу
SetEnvIf User-Agent «.*MSIE.*» nokeepalive ssl-unclean-shutdown
CustomLog /var/www/apache2/var/log/ssl_request_log \ #логи пути могут быть другми
«%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \»%r\» %b»
Эту конфигурацию нужно переделать под свои пути и названия ключей и также можно и сохранить отдельным файлом в /etc/apache2/sites-available и потом сделать ссылку в /etc/apache2/sites-enabled

Настройка VPN сервера с помощью pptpd. , Настройка VPN сервера с помощью pptpd. Linx Ubuntu server-8.0.4.1


Настройка VPN сервера с помощью pptpd. , Настройка VPN сервера с помощью pptpd. Linx Ubuntu server-8.0.4.1

Настройка VPN сервера с помощью pptpd.
Многие провайдеры домашних сетей используют этот способ для продажи интернета своим клиентам. Сервер vpn подключений будет основан с помощью демона pptpd который будет принимать соединения аутентифицировать пользователей и выдавать им интернет. В этой статье я опишу как настроить простой vpn сервер без ограничений по скорости.
Установка
#sudo apt-get install pptpd
#sudo apt-get install pppd
Также нам потребуется iptables в качаестве файрвола если он неустановлен то установим его:
#sudo apt-get install iptables

Настройка

Теперь мы можем редактировать /etc/pptpd.conf

ppp /usr/sbin/pppd
# где находится демон pppd
option /etc/ppp/pptpd-options
# где находится файл опций
listen 0.0.0.0
## «слушем» все адреса
# TAG: debug
# Turns on (more) debugging to syslog
#
debug
# TAG: stimeout
# Specifies timeout (in seconds) on starting ctrl connection
#
stimeout 10
# TAG: noipparam
# Suppress the passing of the client’s IP address to PPP, which is
# done by default otherwise.
#
#noipparam
# TAG: logwtmp
# Use wtmp(5) to record client connections and disconnections.
#
# logwtmp
# TAG: bcrelay
# Turns on broadcast relay to clients from interface
#
#bcrelay eth1

localip 193.9.15.1
# это айпи адрес вашего сервера
remoteip 10.100.1.1-254
# адреса выдаваемые пользователям при подключении
Теперь отредактируем файл опций/etc/ppp/pptpd-options

# Authentication
# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptpd
# Optional: domain name to use for authentication
# domain mydomain.net
# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain
# Encryption
# Debian: on systems with a kernel built with the package
# kernel-patch-mppe >= 2.4.2 and using ppp >= 2.4.2, …
# {{{
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# Таким образом при настройе подключений пользователь использующий ОС windows не #должен делать ничего лишнего то есть возится с настройкой шифрования или #дополнительными опциями.
# Network and Routing
ms-dns 193.9.15.1 # укажем днс который будут использовать пользователи после #соединения с вашим сервером
#ms-wins 10.0.0.3 эти параметры я неуказывал но если таковой сервер сужествует то #можете его здесь написать
#ms-wins 10.0.0.4
#proxyarp
# не заменяем шлюз установелный по умолчанию
nodefaultroute
# Logging
#debug
#dump
# Miscellaneous
# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock
# Disable BSD-Compress compression
nobsdcomp

Далее настроим пользователей которые будут иметь доступ к вашему серверу.

/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
asad * passwd *
user1 * user1 *
user2 * 11111 *
Плохо что пользователи хранятся в открытом виде но в этой статье я не буду описывать методы хранения акаунтов с помощью других серверов аутентификации.
Перезапустим pptpd
#/etc/init.d/pptpd restart
Теперь клиенты могут подключатся к нашему серверу и получать ip адрес и DNS сервер.
Но для доступа в интернет сделаем NAT для «серых» адресов которые пользователи получают в результате подключения.
#iptables -t nat -A POSTROUTING -s 10.100.1.1/24 -j MASQUERADE
Теперь все клиенты которые установили vpn соединение с вашим сервером могут пользоваться интернетом.
Предложения и отзывы присылать на почту asad@online.ua

Советы по защите от Ddos атак. , Защита от ДДос (Ddos) атак. настройки sysctl.conf и iptables

Советы по защите от Ddos атак. , Защита от ДДос (Ddos) атак. настройки sysctl.conf и iptables

Советы по защите от Ddos атак.

В наше время стало популярным вредительство сайтам серверам или вобщем провайдерам
такое понятие как Ддос атака.
DoS-атака (от англ. Denial of Service, отказ в обслуживании) — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверами), либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к овладению системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т. д.).

В этой статье я дам конкретные советы как защитится или же просто уберечься от таких атак. Панацеи конечно же нет! Каждый случай индивидуален но некоторый выход из ситуации есть. Я опишу несколько настроек которые возможно вам помогут бороться с таким видом атак.

Для начала рассмотрим настройки /etc/sysctl.conf:

# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.core.wmem_default = 2097152
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.core.rmem_default = 2097152
net.core.wmem_default = 2097152
net.ipv4.tcp_mem= 8388608 8388608 8388608
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_syn_backlog = 2048
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
net.ipv4.tcp_max_orphans = 131072
# Определяет основные свалки добавляя PID для основного файла
# Полезно для отладки многопоточных приложений
kernel.core_uses_pid = 1

# Если ядро собрано с CONFIG_SYNCOOKIES для защиты от syn флуда
net.ipv4.tcp_syncookies = 1

# Контролиролвать максимальный размер сообщений в байтах
kernel.msgmnb = 65536

# Котролировать максимальный размер очереди сообщений
kernel.msgmax = 65536

# Контролирует максимальное общему сегменту размер в байтах
kernel.shmmax = 4294967295

# Контролирует максимальное число общих сегменты памяти, в страницах
kernel.shmall = 268435456
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 30
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 30
kernel.panic=5

Пояснения
net.ipv4.ip_forward – разрешает форвард пакетов, это параметр нужен для маршрутизации пакетов если вам это ненужно лучше оставить значение этого параметра 0.

Продолжение ...


Nagios в ubuntu server , Установка и настройка nagios2 в ubuntu


Nagios в ubuntu server , Установка и настройка nagios2 в ubuntu

Настройка Nagios2 (Ubuntu server-8.10)
Краткое описание
Nagios — это приложение, предназначенное для выполнения мониторинга систем и сетей. Оно следит за назначенными приложениями и службами и генерирует оповещения в зависимости от поведения наблюдаемых служб.
Обычно более мение крупному провайдеру рано или позно потребуется следить за своими серверами свичами, рутерами, nagios предоставляет совокупность сервисов для этого также с его помощью можно выстроить виртуально сеть и настроить удобную систему оповещения при каких либо событиях в этой сети.

Нам потребуются следующие пакеты:
apache2
nagios2

Установка:
# apt-get install nagios2
# apt-get install apache2

Конфигурирование:
Обычно Nagios устанавливается в директорию /etc/nagios2/
Web директория лежит в /usr/share/nagios2/htdocs

Также следует добавить файл /etc/nagios2/apache.conf в файл конфигурации apahce2.
Делается это следующим образом:
Открываем файл /etc/apache2/apache2.conf и дописываем там

Include /etc/nagios2/apache.conf
После чего просто перезапускам apache:
#/etc/init.d/apache2 restart
Теперь подробно по конфигурации самого nagios-a
и так переходим в директорию /etc/nagios2/
# cd /etc/nagios2
Список файлов по умолчанию

cgi.cfg-sample
checkcommands.cfg-sample
contactgroups.cfg-sample
contacts.cfg-sample
dependencies.cfg-sample
escalations.cfg-sample
hostgroups.cfg-sample
hosts.cfg-sample
misccommands.cfg-sample
nagios.cfg-sample
resource.cfg-sample
services.cfg-sample
timeperiods.cfg-sample

естественно *.-sample стоит убрать из имён файлов просто переименованием.
После этой операции получим список файлов конфигурации, но мы будем использовать следующие файлы конфигурации:

apache.conf – файл конфигурации веб сайта nagios2 (обычно там ничего менять не приходится)

cgi.cfg – файл в котором описаны пользователи имеющие доступ к сомндам и сервисам nagios

commands.cfg — файл в ктором описаны команды nagios

contactgroups.cfg – файл в котором мы будем описывать группы пользователей

contacts.cfg — файл в котором мы будем описывать группы пользователей и их контактные данные

hostextinfo.cfg – конфигурационный файл для дополнительныйх настроек хостов отображаемых на 2d карте

hostgroups.cfg – файл описания групп хостов

hosts.cfg – файл конфигурации хостов

nagios.cfg – главный конфигурационный файл nagios-а

services.cfg – файл конфигурации сервисов

timeperiods.cfg — файл в котором будут описаны периоды времени нотификации и работы сервисов

Итак начнём кофигурирование:

nagios.cfg:

в этом файле мы должны описать все конфигурационные файлы которые нам нужнф для использования

открываем и редактируем nagios.cfg

cfg_file=/etc/nagios2/contactgroups.cfg

cfg_file=/etc/nagios2/contacts.cfg

#cfg_file=/etc/nagios2/dependencies.cfg

#cfg_file=/etc/nagios2/escalations.cfg

cfg_file=/etc/nagios2/hostgroups.cfg

cfg_file=/etc/nagios2/hosts.cfg

cfg_file=/etc/nagios2/services.cfg

cfg_file=/etc/nagios2/timeperiods.cfg

cfg_file=/etc/nagios2/hostextinfo.cfg

#cfg_file=/etc/nagios2/serviceextinfo.cfg

и

check_external_commands=1 ## здесь мы указываем разрешение выполнять команды для # ##пользователей

Остальное трогать не будем так как всё там нормально.

Далее переходим к файлу cgi.cfg

Вот пример моей конфигурации.

main_config_file=/etc/nagios2/nagios.cfg

physical_html_path=/usr/share/nagios2/htdocs

url_html_path=/nagios2

show_context_help=1

nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/cache/nagios2/status.dat 5 ‘/usr/sbin/nagios2′

use_authentication=1

default_user_name=nagiosadmin

authorized_for_system_information=*

authorized_for_configuration_information=*

authorized_for_system_commands=*

authorized_for_all_services=nagiosadmin, asad

authorized_for_all_hosts=nagiosadmin, asad

#authorized_for_all_services=nagiosadmin,guest

#authorized_for_all_hosts=nagiosadmin,guest

authorized_for_all_service_commands=nagiosadmin, asad

authorized_for_all_host_commands=nagiosadmin, asad

#statusmap_background_image=smbackground.gd2 ## картинка заднего плана для statusmap

default_statusmap_layout=5

default_statuswrl_layout=4

#statuswrl_include=myworld.wrl

ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

refresh_rate=90 ## время обновления

## звуки

#host_unreachable_sound=hostdown.wav

#host_down_sound=hostdown.wav

#service_critical_sound=critical.wav

#service_warning_sound=warning.wav

#service_unknown_sound=warning.wav

#normal_sound=noproblem.wav

Он сконфигурированный так что бы пользователи авторизировавшиеся через веб имели доступ ко всем командам и процессам nagios доступным через web интерфейс.

Для этого стоит cделать файл паролей htpasswd.users с помощью htpasswd

# htpasswd -c htpasswd.users asad

ввести пароль и прописать этот файл для использования при авторизации в /etc/nagios2/apache.conf:

Options FollowSymLinks

DirectoryIndex index.html

AllowOverride AuthConfig

Options ExecCGI

Order Allow,Deny

Allow From All

AuthName «Nagios Access»

AuthType Basic

AuthUserFile /etc/nagios2/htpasswd.users ## путь к файлу паролей

require valid-user

Далее переходим к contacts.cfg

В нём мы опишем пользователя который будет получать уведомление и смогут просматривать информацию через веб.

contacts.cfg:

define contact{

contact_name asad

alias asad

service_notification_period 24×7

host_notification_period 24×7

service_notification_options u ## здесь я оставил только нотфикацию о том что хост недоступен

host_notification_options d,u ## а здесь только о том что сервис выключен или недоступен

service_notification_commands notify-by-email,notify-by-epager ## види оповещения через почту и смс

host_notification_commands host-notify-by-email,host-notify-by-epager

email asad@neocom.net.ua ## здесь можно написать почту

pager ххххххххх@sms.ecotel.com.ua ## а здесь мобильный номер и адрес оператора отсылки смс

}

contactgroup.cfg:

define contactgroup{

contactgroup_name domain-admins

alias Domain.Com Admins

members asad

}

Файл в котором описана группа пользователей

Далее файл в котором описаны период времени timeperiods.cfg. В нём я описал два периода

24х7 тоесть 5 дней в неделю и none тоетсь никогда.

timeperiods.cfg :

define timeperiod{

timeperiod_name 24×7

alias 24 Hours A Day, 7 Days A Week

sunday 00:00-24:00

monday 00:00-24:00

tuesday 00:00-24:00

wednesday 00:00-24:00

thursday 00:00-24:00

friday 00:00-24:00

saturday 00:00-24:00

}

# ‘none’ timeperiod definition

define timeperiod{

timeperiod_name none

alias No Time Is A Good Time

}

Далее переходим к непосредственной конфигурации сканируемых хостов и используемых для этого сервисов.

hosts.cfg здесь мы опишем наши хосты:

define host{

use generic-host

host_name myserver

contact_groups domain-admins

alias My Registered Domain

address 192.168.0.1

check_command check-host-alive #проверять жив ли хост? это будет выполнятся командой ping

max_check_attempts 10

notification_interval 120

notification_period 24×7

notification_options d # только если down

}

define host{

use generic-host

host_name myrouter

parents myserver ##здесь мы указали что предшественником будет хост myserver описанный #вышше

contact_groups domain-admins

alias My Registered

address 192.168.0.2

check_command check-host-alive

max_check_attempts 10

notification_interval 120

notification_period 24×7

notification_options d,u,r # down, unreachable, recover

}

Также нам поднадопится задать группу хостов для этого редактируем файл hostgroups.cfg:

define hostgroup{

hostgroup_name domain-servers

alias Domain Servers

members myserver, myrouter

}

Далее мы опишем сервис для команды PING в файле

services.cfg:

define service{

use generic-service

host_name myserver

service_description PING

is_volatile 0

check_period 24×7

max_check_attempts 3

normal_check_interval 1

retry_check_interval 1

contact_groups domain-admins

notification_interval 120

notification_period 24×7

notification_options u,c,r

check_command check_ping!100.0,20%!500.0,60%

}

define service{

# Name of service template to use

use generic-service

host_name myrouter

service_description PING

is_volatile 0

check_period 24×7

max_check_attempts 3

normal_check_interval 1

retry_check_interval 1

contact_groups domain-admins

notification_interval 120

notification_period 24×7

notification_options u,c,r

check_command check_ping!100.0,20%!500.0,60%

}

Итак nagios будет выполнять проверку 2-х хостов с помощью команды ping и отображать состояние хостов через веб страницу.

Но для удобства мы можем добавить ещё дополнительные настройки хоста например отображаемая пиктограмка хоста.

Всё это описывается в файле hostexinfo.cfg

define hostextinfo{

host_name myserver

icon_image serv.png

vrml_image serv.png

statusmap_image serv.png

}

define hostextinfo{

host_name myrouter

icon_image net.png

vrml_image net.png

statusmap_image net.png

}

Ну вот и всё для начала стоит запустить nagios в режиме проверки

# nagios -v /etc/nagios2/nagios.cfg

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

Далее стоить запускать или перезапускать nagios так:

/etc/init.d/nagios2 start | restart | stop

Дополнительная информация

http://www.nagios.org/

Все замечаения и вопросы по почте asad@online.ua