Translate

четвер, 8 вересня 2011 р.

Налаштування Nagios 3 + NRPE

В цій статті хочу коротко описати про налаштування системи моніторингу Nagios. Надалі планую статтю доповнити. Тож приступимо.

1) Встановлюємо необхідні пакети:

# apt-get install nagios3

По залежностях має потягнути за собою купу всього разом з апачем.

apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common bsd-mailx libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
  libgd2-noxpm libnet-snmp-perl libpq5 libradius1 nagios-images nagios-plugins nagios-plugins-basic nagios-plugins-standard nagios3-cgi nagios3-common
  nagios3-core php5-cli php5-common postfix snmp whois

2) Створюємо юзера та пароль:

# cd /etc/nagios3; htpasswd -c htpasswd.users nagiosadmin

Тепер можна залогінитись на нагіос і побачити приблизно таке:

неділю, 4 вересня 2011 р.

Боротьба з КПІ-Телеком.


Деякі "розумні" провайдери можуть визначати клієнтів які знаходяться "за NAT-ом". Тобто припустимо ситуацію, що ви купили роутер правильно його налаштували, NAT-IP присвоївся, мало б усе працювати, але от біда, не працює. На преший погляд тупикова ситуація, але не все так безнадійно...

Певні провайдери можуть визначати наявність додаткового роутера у мережі, читаючи значення TTL (time to live) в мережевих пакетах, що ви відсилаєте. TTL- це так би мовити час життя пакету, коротше кажучи, його придумано для того, щоб пакети не блукали постійно в мережі і самознищувались. Проходячи через кожен роутер, його значення частіше за все падає на одиницю.

З іншої сторони, наприклад, iptables на роутері (гейтвеї) фільтрує трафік і знищує всі пакети з нестандартним TTL ( а частіше знищує пакети з певним TTL, типу з 128-1=127 (windows) чи 64-1=63 (*nix) ), таким чином визначаючи наявність вашого роутера. Далі представлено такий собі воркераунд . :)

Логічно припустити, що треба зробити так, щоб пакети відправлені з вашої клієнської машини на роутер були вже на один більшими, тобто TTL мав значення 65. (пакет приходить на роутер - значення падає до 64 - пакет відсилається на шлюз провайдера, і так як його значення дефолтне, направляється далі куди треба).

Міняємо значення ТТL на тачці. На Windows це робиться приблизно так http://winitpro.ru/index.php/2010/10/28/menyaem-znachenie-time-to-live-ttl-v-windows-server-2008vista7/ , значення, зрозуміло, має бути наприклад, 129. Якщо результату не досягнуто - спробуйте встановити 65.

На лінуксі все навіть простіше:

# echo 65 > /proc/sys/net/ipv4/ip_default_ttl

Додаємо команду в автозагрузку в /etc/rc.local чи як pre-up в загрузку мережі в /etc/network/interfaces.

Деякі відносно нормальні роутери вміють не змінювати TTL:


Але це, насправді, не дуже нормальна практика.

понеділок, 2 травня 2011 р.

dig. Копаємо DNS

Приводом до написання статті послужила так би мовити відсутність нормального російсько чи україномовного хавту в інтернеті. Тож спробую нейтралізувати такі пробіли.

Як відомо, dig - програма з CLI-інтерфейсом, що призначена для опитування DNS-серверів на предмет інформації про хост що нас цікавить і тд. Спробую пояснити на конкретних прикладах.

1) Почнемо з найтривіальнішого прикладу, спробуємо дізнатись дані про перший доменнейм, який прийшов нам на думку (одразу в самому виводі прокоментую що значить виведене):

:~$ dig ubuntu.com

#Програма розповідає трішки про себе (версія програми) та про глобальні опції котрі вона використовує. 

; <<>> DiG 9.7.1-P2 <<>> ubuntu.com
;; global options: +cmd

#dig написав про деякі технічні деталі, які він отримав від ДНСа.

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64973
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

#Якщо нічого не вказувати в запиті, то по замовчуванню йде запит на наявність A-запису на ДНС-сервері. Власне це нагадування dig-а, щодо того який запит ми зробили.