Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
netpack [2008/04/30 10:52] petr |
— (aktuální) | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== Instalace Netpack-u ====== | ||
- | {{p1080008.jpg|}} | ||
- | ===== Úvod ===== | ||
- | Nainstalujeme netpack na HW: CISCO MCS 7800 series server, 2x750GB IDE disky, 3.2GHz, 1GB RAM. V menu se sice dá nakonfigurovat HW RAID1, nicméně stějně po nastartování linuxového CD je vidět disky oba a ne jen jeden. Navíc BIOS stejně vidí disky s velikostí pouze 131GB. Uděláme to tak, že každý disk bude jedno ARRAY RIAD0 a softwarově z nich uděláme RAID1. | ||
- | |||
- | ===== Partitions - rozdělení pro RAID1 ===== | ||
- | Velikosti jednotlivých partition na obou 750GB discích rozdělíme pro oba Netpack dohledy takto: | ||
- | <code> | ||
- | Rozdělení partition | ||
- | 1 Fyzical ext3 100M RAID | ||
- | 2 Fyzical xfs 10G RAID | ||
- | 3 Swap swap 3G RAID | ||
- | 5 logical xfs 10G RAID | ||
- | 6 Logical xfs 200G RAID | ||
- | 7 Logical xfs 400G RAID | ||
- | 8 Logical xfs rest RAID | ||
- | </code> | ||
- | A následně vytvoříme RAID1 takto: | ||
- | <code> | ||
- | /dev/md0 92M 13M 75M 15% /boot | ||
- | /dev/md1 9.4G 538M 8.8G 6% / | ||
- | /dev/md2 9.4G 267M 9.1G 3% /usr | ||
- | /dev/md3 187G 644M 186G 1% /var | ||
- | /dev/md4 373G 544K 373G 1% /tftp | ||
- | /dev/md5 119G 588K 119G 1% /home | ||
- | </code> | ||
- | |||
- | |||
- | ===== Úvod - pár aplikací ===== | ||
- | Z defaultní instalace z CD neinstalujeme žádné balíky aplikací typu Mail Server nebo Desktop, které nám nabízí tasksel. Vše si doinstalujeme sami. Nejdříve si nainstalujeme pár aplikací na úvod, nastavíme ip adresy na interfacech v souboru /etc/network/interfaces a zrestartujeme síťové služby. | ||
- | <code> | ||
- | apt-get install mc vlan ssh syslog-ng traceroute iptraf iftop unzip make lynx ftp tcpdump screen | ||
- | /etc/init.d/networking restart | ||
- | </code> | ||
- | |||
- | |||
- | ===== Aplikace - instalace ===== | ||
- | Nyní doinstalujeme další potřebné aplikace | ||
- | <code> | ||
- | apt-get install apache2 php4 php4-gd php4-cli php4-mysql snmp telnet \ | ||
- | nagios-nrpe-server nagios-nrpe-plugin mysql-server libapache2-mod-php4 bzip2 libsnmp-perl \ | ||
- | ntp ntp-server ntp-simple ntpdate \ | ||
- | |||
- | tftp bind9 libapache2-mod-auth-kerb | ||
- | </code> | ||
- | |||
- | ===== Perl moduly - instalace ===== | ||
- | Ke správné funkci netpacku potřebujeme perl modul Net::SNMP, aby mohly perl scripty číst SNMP community. Nainstalujeme přes cpan: | ||
- | <code> | ||
- | cpan install Net::SNMP | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== Syslog - úpravy inittab, syslog-ng ===== | ||
- | Do syslog-ng.conf doplníme logování netpack-u a službu zrestrartujeme: | ||
- | <code> | ||
- | cat >> /etc/syslog-ng/syslog-ng.conf << EOF | ||
- | # Net-LOG - START | ||
- | |||
- | source net { udp(); }; | ||
- | source linux { udp(); }; | ||
- | |||
- | |||
- | destination d_mysql { | ||
- | pipe("/home/netpack/netlog.pipe" | ||
- | template("INSERT INTO nl_logs (host,facility,priority,level,tag,date,time,program,msg) \ | ||
- | VALUES ('$HOST','$FACILITY','$PRIORITY','$LEVEL','$TAG','$YEAR-$MONTH-$DAY','$HOUR:$MIN:$SEC','$PROGRAM','$MSG');\n") | ||
- | template-escape(yes)); | ||
- | }; | ||
- | log {source(net); destination(d_mysql);}; | ||
- | |||
- | |||
- | destination BP { | ||
- | pipe("/home/netpack/beep-pipe" | ||
- | template("$YEAR-$MONTH-$DAY#*#$HOUR:$MIN:$SEC#*#$HOST#*#$LEVEL#*#$MSG\n")); | ||
- | }; | ||
- | |||
- | log {source(net); destination(BP);}; | ||
- | |||
- | # Net-LOG - END | ||
- | EOF | ||
- | |||
- | /etc/init.d/syslog-ng restart | ||
- | </code> | ||
- | |||
- | Do adresáře /usr/local/bin překopírujeme soubory **np_halt.sh**, **np_start.sh**, **syslog.sh** s právy 755. Dále doplníme soubor /etc/inittab pro NP: | ||
- | <code> | ||
- | S3:23:respawn:/usr/local/bin/syslog.sh # nebo při problémech požít níže uvedený řádek | ||
- | #S7:23:respawn:/usr/local/bin/syslog.sh | ||
- | </code> | ||
- | |||
- | ===== Apache2 ===== | ||
- | V souboru /etc/apache2/sites-available/default změníme úvodní startovací stránku a adresář a zakomentujeme redirect: | ||
- | <code> | ||
- | DocumentRoot /var/www/html/ | ||
- | ServerName nase-jmeno-server | ||
- | ServerAlias alias-naseho-jmena-serveru | ||
- | .... | ||
- | <Directory /var/www/html/> | ||
- | .... | ||
- | #RedirectMatch ^/$ /apache2-default/ | ||
- | |||
- | </code> | ||
- | a zrestartujeme apache2 | ||
- | <code> | ||
- | mkdir /var/www/html | ||
- | chown www-data:www-data /var/www/html | ||
- | /etc/init.d/apache2 restart | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== PHP4 - úprava pro ioncube ===== | ||
- | V php.ini v adresáři /etc/php4/cli/ je potřeba doplnit řádek: | ||
- | |||
- | <code> | ||
- | cat >> /etc/php4/cli/php.ini << EOF | ||
- | zend_extension = /var/www/html/netpack/ioncube/ioncube_loader_lin_4.3.so | ||
- | EOF | ||
- | </code> | ||
- | Pokud by se náhodou při upgradu zaměnil balík php4-gd za php4-gd2 je potřeba jej zvrátit zpět na php4-gd, jinak se nepříliš korektně vykreslují grafy. | ||
- | |||
- | |||
- | |||
- | ===== Databáze - vytvoření ===== | ||
- | Databázi naimportujeme již ze stroje, kde databáze funguje (abychom nemuseli ručně přidávat jednotlivá zařízení). V databázi jsou již nadefinované potřebné hosty. | ||
- | |||
- | <code> | ||
- | mysql -u root < base-netpack-database.sql | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | |||
- | ===== Uživatel Netpack ===== | ||
- | Uživatele netpack zřídíme bez hesla a do jeho domovského adresáře nakopírujeme soubory a.pl, b.pl, **netpack.pl**, **ups.pl** | ||
- | <code> | ||
- | adduser --disabled-password netpack | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== CRON - spouštění scriptů ===== | ||
- | Dále přidáme do cronu potředné scripty pro Netpack, které budeme spouštět a zachytávat data ze sítě přes SNMP :-) | ||
- | <code> | ||
- | cat >> /etc/cron.d/netpack <<EOF | ||
- | # potrebne scripty, ktere budeme spoustet | ||
- | |||
- | */2 * * * * root php /var/www/html/netpack/bin/nm_data_in.php > /dev/null | ||
- | */5 * * * * root /home/netpack/np_run.sh > /dev/null | ||
- | */3 * * * * root /home/netpack/ups.pl > /dev/null | ||
- | */30 * * * * root /usr/local/bin/np_halt.sh > /dev/null | ||
- | EOF | ||
- | </code> | ||
- | |||
- | ===== Čas - synchronizace ===== | ||
- | Nastavíme pomocí ** tzconfig ** správné časové pásmo, kde se nacházíme, zrestartujeme ntp | ||
- | <code> | ||
- | /etc/init.d/ntp restart | ||
- | </code> | ||
- | a máme časový "normál", od kterého se budou synchronizovat všechny stroje v síti. | ||
- | |||
- | ===== SSH - zabezpečení ===== | ||
- | V souboru /etc/ssh/sshd_config doplníme porty, na kterých bude ssh server poslouchat a zrestartujeme ssh server :-) . | ||
- | <code> | ||
- | ... | ||
- | ListenAddress 127.0.0.1:22 | ||
- | ListenAddress 10.232.1.21:22 | ||
- | ListenAddress 10.239.250.82:22 | ||
- | ListenAddress 10.238.250.82:22 | ||
- | ListenAddress 10.238.250.82:8822 | ||
- | ... | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | |||
- | ===== DNS - nastavení DJBDNS ===== | ||
- | Abychom nastavili djbdbns lehce si zakompilujeme s céčkem :-) Soubory stáhnout zdrojáky pro daemontools a djbdns a pak je zkompilují a vytvoří balíčky pro debian a my si je jednoduše nainstalujeme (vlastně na nic nemusíme šahat) :-) Pomoci ps ax | grep svscan zjistíme, že daemontools jsou již spuštěné: | ||
- | <code> | ||
- | build-daemontools ; build-djbdns | ||
- | </code> | ||
- | |||
- | ==== DNSCACHE - nastavení ==== | ||
- | Vytvoříme si adresář, kde dáme djbdns (nejdříve ** dnscache ** a potom i ** tinydns ** server). Pak zde vytvoříme potřebné soubory. Aby daemontools nahodily službu dnscache přidáme link do adresáře /services a dnscache nám chodí: | ||
- | <code> | ||
- | mkdir /var/djbdns | ||
- | dnscache-conf dnscache dnslog /var/djbdns/dnscache 10.239.250.82 | ||
- | ln -s /var/djbdns/dnscache /service/dnscache | ||
- | # dnscache je pro prefixy 10.* | ||
- | touch /var/djbdns/dnscache/root/ip/10 | ||
- | echo "10.239.250.82" > /var/djbdns/dnscache/root/servers/10.in-addr.arpa | ||
- | </code> | ||
- | |||
- | ==== TINYDNS - nastavení ==== | ||
- | Nastavíme tinydns a přidáme link do adresáře /services a tinydns nám spustí daemontools: | ||
- | <code> | ||
- | tinydns-conf tinydns dnslog /var/djbdns/tinydns 10.239.250.82 | ||
- | ln -s /var/djbdns/tinydns /service/tinydns | ||
- | ps ax | grep tinydns | ||
- | </code> | ||
- | |||
- | ===== Nagios - nastavení nrpe ===== | ||
- | V souboru /etc/nagios/nrpe.cfg přidáme: | ||
- | <code> | ||
- | allowed_hosts=127.0.0.1,10.239.21.253,10.239.250.83 | ||
- | </code> | ||
- | a zrestartujeme nagios-nrpe-server | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ====== Bind ====== | ||
- | Doinstalujeme bind9 | ||
- | <code> | ||
- | apt-get install bind9 | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ====== tacacs ====== | ||
- | Doinstalujeme tacacs server | ||
- | <code> | ||
- | apt-get install tac-plus | ||
- | </code> | ||
- | Zde změníme exe tacacsu na ty, které jsou zkompilované pro podporu s PAM, abychom mohli využít PAM hesel pro logování se do CISCO boxů. |