22 wrz

Upgrade software MikroTik

Częste problemy z funkcjonalnością Mikrotika często dotyczą software dlatego zanim dłużej posiedzimy nad problemem warto zrobić upgrade software.

1. Pobierzmy najnowszy software ze strony: http://www.mikrotik.com/download wybierając odpowiednią platform

2. Pobrany plik *.npk przy pomocy strony internetowej lub winbox wgrywamy na mikrotika metodą Drag and Drop do zakładki Files,

3. Resetujemy router, który automatycznie dokona aktualizacji softu:

system reboot

4. Sprawdzamy wersję pakietów, jeżeli są w najnwszej wersji, upgrade przebiegł pomyślnie

[admin@MikroTik] > system package print
Flags: X - disabled
 # NAME VERSION SCHEDULED
 0 X ipv6 6.4
 1 routing 6.4
 2 advanced-tools 6.4
 3 mpls 6.4
 4 wireless 6.4
 5 ppp 6.4
 6 routeros-mipsbe 6.4
 7 hotspot 6.4
 8 security 6.4
 9 system 6.4
10 dhcp 6.4

5. Dodatkowo dla pewności sprawdzamy wersję software na mikrotiku:

[admin@MikroTik] > system resource print
 uptime: 11m9s
 version: 6.4
 build-time: Sep/12/2013 13:52:41
 free-memory: 108.8MiB
 total-memory: 128.0MiB
 cpu: MIPS 74Kc V4.12
 cpu-count: 1
 cpu-frequency: 600MHz
 cpu-load: 2%
 free-hdd-space: 111.1MiB
 total-hdd-space: 128.0MiB
 write-sect-since-reboot: 64
 write-sect-total: 13115
 bad-blocks: 0%
 architecture-name: mipsbe
 board-name: RB951Ui-2HnD
 platform: MikroTik
18 wrz

Instalacja Cisco Secure ACS 5.3 na VirtualBox

  • Tworzymy nową maszynę wirtualną z domyślnym systemem RedHat
  • Dostosowujemy ustawienia maszyny:
Type: Linux
Version: RedHat
RAM: 1024
System/Motheboard: Floopy: brak
System/Processor: "Enable PAE/NX": Enable
System/Acceleration: "Enable VT-x/AMD-V": Disable
Storage/Controller SCSI: dynamiczna alokacja przestrzeni
Audio: disabled
Network: Adapter Intel PRO/1000 MT
  • zakładamy partycję z systemem plików ext3 o pojemności 4GB 
  • Modyfikujemy plik ks.cfg znajdujący się na obrazie ACSa według zasad:
  • Modyfikujemy linie 36 zmieniając wartość VM_APPLIANCE z 0 na 1
36: VM_APPLIANCE=0
  • Usuwamy linie 54:
54: UDI_PID=`/sbin/cars_udi_util -p`
  • W linii 56 modyfikujemy wartość parametru ret z „$?” na 0
56: ret="$?"
  • Usuwamy linie 57-61, 104 oraz 186-195
57: if [ "$ret" -eq 0 ]; then
58: echo "***** Cisco UDI PID: $UDI_PID " > /dev/console
59: case $UDI_PID in
60: Cisco-VM-SPID)
61: VM_APPLIANCE=1
104: echo "#clearpart --all --initlabel";
186: else</pre>
187: echo "***** Error: Unsupported Hardware Configuration. " > /dev/console
188: echo "***** This software can only be installed on Cisco " > /dev/console
189: echo "***** supported hardware or Virtual Machine technology " > /dev/console
190: echo "***** meeting the requirements specified in the installation guide." > /dev/console
191: echo "***** Exiting Installation..." > /dev/console
192: sleep 5
193: /sbin/halt -f
194: exit 0
195: fi
  • Powyższej modyfikacji możemy dokonać przy użyciu WinISO, zapisujemy zmiany obrazu ACSa, następnie bootujemy i instAlujemy ACSa
17 wrz

Instalacja i konfiguracja MNTOS

Instalacja i konfiguracja  MNTOS – Multi Nagios Tactical Overview System

…czyli system do przeglądu wszystkich dostępnych nagiosów. Skrypt pozwala nam na bardzo ogólne zebranie informacji o wszystkich nagiosach, które używamy do monitoringu sieci. Skrypt szczególnie polecam dla osób chcących ogarnąć w jednym miejscu wszystkie nagiosy

1. Instalacja skryptu MNTOS

Pobieranie i instalacja skryptu z odpowiednimi uprawnieniami

wget http://assets.nagios.com/downloads/nagiosxi/scripts/NagiosXI-MNTOS-install.sh

…wykonywanie skryptu z odpowiednimi uprawnieniami

chmod +x NagiosXI-MNTOS-install.sh<br />chown -R nagios:apache .

…dodatkowo warto zainstalować pakiety, które mogą się przydać do prawidłowego działania skryptu:

yum install -y php-xsl

…lub jeżeli używamy php53

yum install -y php53-xml

…wykonywanie skryptu do katalogu /opt/ W tym momencie skrypt przeprowadzi nas przez cały proces konfiguracji, począwszy od osób kontaktowych po monitorowane nagiosy. Do pełnej konfiguracji niezbędne będą takie informacje jak: nazwa użytkownika i hasło do interfejsu webowego oraz adresy IP nagiosów.

./NagiosXI-MNTOS-install.sh

2. Konfiguracja

W celu dodania lub zmodyfikowania osób kontaktowych lub informacji o nagiosach wystarczy wprowadzić drobne zmiany w plikach contacts.ini oraz networks.ini znajdujących się w katalogu /opt/mntos-1.0/

…definicja osób kontaktowych znajduje się w pliku contact.ini

[Pawel]
id=1
name="Pawel Nowak"
address="Zalotowa 12"
zipcode="50-123"
city="Warszawa"
country="PL"
email="pawel@localhost.localdomain"
privatephone="999-999-999"
profession=""

[Jacek]
id=2<br />name="Jacek Donosny"
address="Morska 12"
zipcode="23-234"
city="Watrszawa"
country="PL"
email="jacek@localhost.localdomain"
privatephone="000-000-000"
profession=""

…konfiguracja nagiosów znajduje się w pliku networks.ini

[NagiosWewnetrzny]
id=1
location="NagiosWewnetrzny"
network="NagiosWewnetrzny"
nagios="http://nagiosadmin: admin_password@192.168.1.1/nagios/cgi-bin/tac.cgi"
public="http://192.168.1.1/nagios/"<br />contacts=1,2<br />icon="img/globe.png"

[NagiosZewnetrzny]
id=2
location="NagiosZewnetrzny"
network="NagiosZewnetrzny"
nagios="http://nagiosadmin: admin_password@192.168.1.2/nagios/cgi-bin/tac.cgi"
public="http://192.168.1.2/nagios/"
contacts=2
icon="img/globe.png"

3. Aktualizacja konfiguracji

…podczas każdej zmiany konfiguracji należy wykonać polecenie

/usr/bin/php /opt/mntos-1.0/mntos.php

…jeżeli cały konfig jest OK, tworzymy cron

crontab -e

…w efekcie uzyskamy efekt podobny do:

 mntos_test
17 wrz

Typowe błędy występujące w nagiosie

1. „Error: Invalid max_check_attempts value for host”

Błąd ten dotyczy braku zdefiniowania wartości max_check_attemps dla danego hosta.

[root@localhost objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 3.5.1
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-30-2013
License: GPL

Website: http://www.nagios.org
Reading configuration data...
 Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/templates.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/localhost.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/serwery_www.cfg'...
Error: Invalid max_check_attempts value for host 'www.onet.pl'
Error: Could not register host (config file '/usr/local/nagios/etc/objects/serwery_www.cfg', starting on line 1)
 Error processing object config files!

***> One or more problems was encountered while processing the config files...

Check your configuration file(s) to ensure that they contain valid
 directives and data defintions. If you are upgrading from a previous
 version of Nagios, you should be aware that some variables/definitions
 may have been removed or modified in this version. Make sure to read
 the HTML documentation regarding the config files, as well as the
 'Whats New' section to find out what has changed.

…w celu usunięcia błędu należy dodać tą wartość do definicji hosta (12 linia poniższego przykładu) w pliku /usr/local/nagios/objects/templates.cfg

define host{
 name generic-host
 notifications_enabled 1
 event_handler_enabled 1
 flap_detection_enabled 1
 failure_prediction_enabled 1
 process_perf_data 1
 retain_status_information 1
 retain_nonstatus_information 1
 notification_period 24x7
 register 0
 max_check_attempts 10
 }

2. „Return code of 127 is out of bounds – plugin may be missing”

W 99,9% przypadków problem dotyczy braku wtyczek. Pierwszym krokiem jest sprawdzenie obecności używanej wtyczki w katalogu /usr/local/nagios/libexec/. W przypadku jej braku należy ją doinstalować. Poniżej widok katalogu zaraz po instalacji wtyczek.


[root@localhost libexec]# ls -l
total 3856
-rwxr-xr-x. 1 nagios nagcmd 91298 Sep 17 13:57 check_apt
-rwxr-xr-x. 1 nagios nagcmd 2254 Sep 17 13:57 check_breeze
-rwxr-xr-x. 1 nagios nagcmd 104660 Sep 17 13:57 check_by_ssh
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_clamd -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 68130 Sep 17 13:57 check_cluster
-r-sr-xr-x. 1 root nagcmd 99457 Sep 17 13:57 check_dhcp
-rwxr-xr-x. 1 nagios nagcmd 99258 Sep 17 13:57 check_dig
-rwxr-xr-x. 1 nagios nagcmd 128713 Sep 17 13:57 check_disk
-rwxr-xr-x. 1 nagios nagcmd 9148 Sep 17 13:57 check_disk_smb
-rwxr-xr-x. 1 nagios nagcmd 107151 Sep 17 13:57 check_dns
-rwxr-xr-x. 1 nagios nagcmd 63703 Sep 17 13:57 check_dummy
-rwxr-xr-x. 1 nagios nagcmd 3056 Sep 17 13:57 check_file_age
-rwxr-xr-x. 1 nagios nagcmd 6318 Sep 17 13:57 check_flexlm
-rwxr-xr-x. 1 nagios nagcmd 102970 Sep 17 13:57 check_fping
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_ftp -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 86681 Sep 17 13:57 check_game
-rwxr-xr-x. 1 nagios nagcmd 101201 Sep 17 13:57 check_hpjd
-rwxr-xr-x. 1 nagios nagcmd 217421 Sep 17 13:57 check_http
-r-sr-xr-x. 1 root nagcmd 108803 Sep 17 13:57 check_icmp
-rwxr-xr-x. 1 nagios nagcmd 74078 Sep 17 13:57 check_ide_smart
-rwxr-xr-x. 1 nagios nagcmd 15137 Sep 17 13:57 check_ifoperstatus
-rwxr-xr-x. 1 nagios nagcmd 12601 Sep 17 13:57 check_ifstatus
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_imap -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 6890 Sep 17 13:57 check_ircd
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_jabber -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 85931 Sep 17 13:57 check_load
-rwxr-xr-x. 1 nagios nagcmd 6020 Sep 17 13:57 check_log
-rwxr-xr-x. 1 nagios nagcmd 20287 Sep 17 13:57 check_mailq
-rwxr-xr-x. 1 nagios nagcmd 74570 Sep 17 13:57 check_mrtg
-rwxr-xr-x. 1 nagios nagcmd 73453 Sep 17 13:57 check_mrtgtraf
-rwxr-xr-x. 1 nagios nagcmd 86076 Sep 17 13:57 check_nagios
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_nntp -> check_tcp
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_nntps -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 103025 Sep 17 13:57 check_nt
-rwxr-xr-x. 1 nagios nagcmd 103087 Sep 17 13:57 check_ntp
-rwxr-xr-x. 1 nagios nagcmd 96073 Sep 17 13:57 check_ntp_peer
-rwxr-xr-x. 1 nagios nagcmd 93237 Sep 17 13:57 check_ntp_time
-rwxr-xr-x. 1 nagios nagcmd 129446 Sep 17 13:57 check_nwstat
-rwxr-xr-x. 1 nagios nagcmd 8324 Sep 17 13:57 check_oracle
-rwxr-xr-x. 1 nagios nagcmd 86748 Sep 17 13:57 check_overcr
-rwxr-xr-x. 1 nagios nagcmd 107891 Sep 17 13:57 check_ping
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_pop -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 108119 Sep 17 13:57 check_procs
-rwxr-xr-x. 1 nagios nagcmd 84038 Sep 17 13:57 check_real
-rwxr-xr-x. 1 nagios nagcmd 9584 Sep 17 13:57 check_rpc
-rwxr-xr-x. 1 nagios nagcmd 1412 Sep 17 13:57 check_sensors
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_simap -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 155669 Sep 17 13:57 check_smtp
-rwxr-xr-x. 1 nagios nagcmd 155382 Sep 17 13:57 check_snmp
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_spop -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 82120 Sep 17 13:57 check_ssh
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_ssmtp -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 88211 Sep 17 13:57 check_swap
-rwxr-xr-x. 1 nagios nagcmd 134741 Sep 17 13:57 check_tcp
-rwxr-xr-x. 1 nagios nagcmd 83976 Sep 17 13:57 check_time
lrwxrwxrwx. 1 root root 9 Sep 17 13:57 check_udp -> check_tcp
-rwxr-xr-x. 1 nagios nagcmd 95152 Sep 17 13:57 check_ups
-rwxr-xr-x. 1 nagios nagcmd 66150 Sep 17 13:57 check_users
-rwxr-xr-x. 1 nagios nagcmd 2939 Sep 17 13:57 check_wave
-rwxr-xr-x. 1 nagios nagcmd 88261 Sep 17 13:57 negate
-rwxr-xr-x. 1 nagios nagcmd 82350 Sep 17 13:57 urlize
-rwxr-xr-x. 1 nagios nagcmd 1939 Sep 17 13:57 utils.pm
-rwxr-xr-x. 1 nagios nagcmd 2728 Sep 17 13:57 utils.sh

3. Serwer Apache działa, konfiguracja jest poprawna – brak dostępu do nagiosa

W takiej sytuacji warto sprawdzić konfigurację firewalla:


[root@localhost mntos-1.0]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

…należy wyłączyć profilaktycznie firewalla poleceniem. Jeżeli to pomoże musimy dodać odpowiednią regułę do firewalla przepuszczającą nagiosa.

service iptables stop

4. „Error: Could not read host and service status information!”

…w trakcie opisu

nagios_error

16 wrz

Instalacja i konfiguracja Nagiosa na CentOS, Fedora

Instalacja Nagiosa Core sprowadza się zaledwie do kilkunastu kroków.

1. Przygotowanie systemu

  • Instalacja niezbędnych paczek takich jakł Apache, PHP, GCC compiler, GD Development libraries. Paczki instalujemy korzystając z wbudowanego w CentOS (…i RedHat, Fedore) menadżera paczek: yum
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

2. Konta użytkowników

  • zmieniamy się w użytkownika root
su -l
  • zakładamy konto użytkownika i nadajemy mu hasło
/usr/sbin/useradd -m nagios
passwd nagios
  • zakładamy nową grupę zezwalającą na dostęp do interfejsu web nagiosa
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

3. Pobieranie nagiosa i pluginów

  • Tworzymy katalog, gdzie zostanie pobrany nagios:
mkdir ~/download_nagios
cd ~/download_nagios
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

4. Kompilacja i instalacja nagiosa

  • rozpakowujemy nagiosa do stworzonego wcześniej katalogu
cd ~/download_nagios
tar xzf nagios-3.5.1.tar.gz
cd nagios
  • wykonywanie skryptu nagiosa dla wcześniej utworzonej grupy
./configure --with-command-group=nagcmd
  • kompilacja źródeł nagiosa oraz instalacja plików binarnych skryptów, przykładowych konfiguracji
make all
make install
make install-init
make install-config
make install-commandmode

5. Dostosowanie konfiguracji

  • przykładowe konfiguracje zostały zainstalowane w katalogu /usr/local/nagios/etc
  • edytujemy plik contacts.cfg w celu określenia osób otrzymujących powiadomienia z nagiosa
nano /usr/local/nagios/etc/objects/contacts.cfg

6. Konfiguracja interfejsu webowego

  • instalacja pliku konfiguracyjnego nagiosa w katalogu conf.d serwera Apache
make install-webconf
  • tworzenie konta umożliwiającego na dostęp przez interfejs webowy
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
  • restart serwera Apache
service httpd restart

7. Kompilacja i instalacja pluginów nagiosa

  • rozpakowanie pluginów
cd ~/downloads
tar xzf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
  • kompilacja i instalacja pluginów
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make
make install

8. Uruchamianie Nagiosa

  • Uruchamianie Nagiosa przy każdym starcie systemu
chkconfig --add nagios
chkconfig nagios on
  • Weryfikacja konfiguracji nagiosa przed restartem usługi
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  • jeżeli system nie wyrzucił błędów możemy bezpiecznie uruchomić nagiosa
service nagios start

9. Modyfikacja ustawień SELinux

  • W systemie CentOS standardowo jest uruchomiona usługa SELinux (Security Enhanced Linux) w trybie enforce. Jeżeli podczas próby uzyskania dostępu co CGI Nagiosa otrzymamy komunikat „Internal Server Error” będzie to oznaczało, że usługa jest aktywna. Status usługi można sprawdzić poleceniem:
getenforce
  • W celu zmiany trybu na Permissive wprowadzamy:
setenforce 0
  • Aby zmienić ustawienia na stałe należy dokonać modyfikacji w pliku in/etc/selinux/config oraz zrestartować Nagiosa.Instead of disabling SELinux or setting it to permissive mode, you can use the following command to run the CGIs under SELinux enforcing/targeted mode:
  • Zamiast wyłączać SELinuxlub lub ustawiać go w tryb permissive można użyć następującego polecenia, do uruchamiania skryptów CGI spod SELinux enforcing/targeted
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

10. Logowanie do interfejsu Webowego

  • W celu uruchomienia nagiosa wystraczy w przeglądarce otworzyć:
http://localhost/nagios/
06 wrz

Przygotowania do egzaminu CCENT/ CCNA

Stare wersje egzaminów CCENT/ ICND1, ICND2 oraz CCNA można jeszcze zdawać do 30 września 2013 roku. Zmiany w nowym egzaminie nie będą kolosalne jednakże znajdziemy kilkanaście różnic, o których wspomniałem tutaj. Materiały mogące znacznie wspomóc zdanie egzaminu to:

  • Aktualny przewodnik certyfikacji CCNA wydawnictwa Cisco Press, którego autorem jest Wendell Odom (CCIE No. 1624) – CCNA Official Exam Certification Library. Dawka solidnie skondensowanej wiedzy.
  • Dodatkowo warto wesprzeć się filmami CBT Nuggets do danego egzaminu (CCNA/ CCENT), które z dawką humoru prowadzi Jeremy Cioara, dodatkowo dobrą praktyką są filmy: Cisco CCNA Labs: Cisco for the Real World tego samego autor
  • Od pewnego czasu INE udostępnia za darmo filmy dla kursu CCNA oraz CCNA Voice dlatego też warto z tego skorzystać
  • Książka Network Warrior czy Cisco Cookbook
  • Dodatkowo masa dostępnych w internecie labów, zarównano darmowych jak i płatnych.
  • Tablice autorstwa packetlife.net

Osobiście nie miałem i nie uważam aby do zdania poziomu CCNA wymagany był własny lab, spokojnie wystarczą symulacje w PT czy GNS3. Więcej zabawy będzie z uruchomieniem całego laba niż przygotowaniem go w emulatorze.