Documentation/cli/cs

From ISP admin

Jump to: navigation, search

Contents

Prostředí příkazové řádky

Na tomto místě budou postupně zveřejňovány nejdůležitější příkazy pro správu systému ISPadmin. ISPadmin je postaven na platformě GNU/Linux a osvědčené distribuci Debian 6 Squeeze. Následující text tedy předpokládá alespoň základní znalosti Debianu, jelikož možnosti systému i správa jsou totožné. Účelem této stránky je tedy spíše seznámení se specifickými úkoly pro systém ISPadmin.

Tématické návody pro práci v příkazové řádce

Lokální instalace

Lokální instalace systému ISPadmin na softwarový RAID.

Konfigurace instalace

Prvotní konfigurace nově nainstalovaného systému.

Migrace systému na nový server

Návod popisující kroky při migrace systému z 32bit na 64bit verzi.

Nastavení SMS brány

Výběr SMS brány a kompletní postup pro zprovoznění přijímání a odesílání SMS zpráv.

Správa souborů

WinSCP


Přenášení a úprava souborů mimo příkazovou řádku, přímo z Windows.

http://winscp.net/eng/docs/lang:cs

Textové editory

V dokumentaci je vždy zmíněn textový editor nano. Pokud Vám práce v tomto editoru působí potíže, můžete pro úpravu textových souboru využívat jednoduchý editor mcedit, který je součástí známého konzolového správce souborů mc.

mcedit /cesta/k/souboru

  • F2 - uložit změny v souboru
  • F10 - ukončit beze změn Y/N

nano /cesta/k/souboru

  • ctrl+x poté y - uložit změny v souboru a ukončit
  • ctrl+x poté n - ukončit beze změn

Update systému

Provedení regulérního update na novou verzi systému provedete pomocí příkazu ispadmin_update + příslušný parametr.

Pokud napíšete jen příkaz ispadmin_update, zobrazí se vám nápověda, ve které se dočtete, že si můžete zvolit jestli chcete udělat update na stabilní verzi(příkaz ispadmin_update stable) nebo na beta verzi(příkaz ispadmin_update beta).

ispadmin_update

ISP ADMIN UPDATER (c) NET service solution, s.r.o.

Downloading version description....
Latest version:
ISP admin STABLE version: 3.54 ISP admin BETA version: -

Which version are you going to install ?
Type for

STABLE VERSION ( 3.54 )
ispadmin_update stable
BETA VERSION ( - )
ispadmin_update beta

exiting.......
admin.ispadmin.cz:~#

Správa softwarového raid pole

Pokud Váš server neobsahuje raid jako hardwarový řadič, je velmi vhodné instalovat systém ISPadmin na softwarový raid. Pro bližší seznámení se s problematikou raidu, můžete prostudovat tyto články:


Vytvoření diskového pole RAID1 / Zrcadlení

V případě kdy je už nějaký sw raid aktivní, musíte jej zrušit, jinak by nebylo možné manipulovat s diskovými oddíly. Pokud není, pokračujte dále.

mdadm  --manage  --stop /dev/md0

Nyní je potřeba vytvořit RAID1 (mirror) z prvních oddílů obou disku /dev/sda1 a /dev/sdb1, k tomu slouží příkaz:

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm: array /dev/md0 started.

Stav raidu si zobrazíte příkazem:

more /proc/mdstat 
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md0 : active raid1 sdb1[1] sda1[0] 306841344 blocks [2/2] [UU] [=>...................] resync = 5.2% (16186816/306841344) finish=41.2min speed=117548K/sec
unused devices: <none>

Zde je vidět že pole se jmenuje /dev/md0, je aktivní ( md0 : active raid1 ), je sestaveno ze dvou disků ( sdb1[1] sda1[0] ), dva ze dvou disků jsou ve stavu “U”, což znamená UP ( [2/2] [UU] ) a doba dokončení synchronizace je 41 min. Po dokončení bude pole plně redundantní. Rychlost mirrorování je aktuálně 117MB/sec.

Vypsat detail diskového pole si můžete i takto:

mdadm --detail /dev/md0  
Version : 00.90.03 Creation Time : Thu Nov 19 03:38:06 2009 Raid Level : raid1 Array Size : 240171648 (229.05 GiB 245.94 GB) Device Size : 240171648 (229.05 GiB 245.94 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0 Persistence : Superblock is persistent
Update Time : Thu Nov 19 04:46:52 2009 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0
UUID : e488aee4:72e58752:7f132997:5ffa538b Events : 0.4
Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1

Výměna vadného disku

1) Deaktivace vadného disku

Nejprve zjistěte detaily o daném diskovém poli:

cat /proc/mdstat
mdadm -D /dev/md0

Jestli se jedná o aktivní zařízení je třeba jej nejdříve vyřadit z pole, což lze provést tak, že jej označíte jako vadné: Pokud není pole aktivní (bylo označeno jako vadné nebo se jedná o náhradní zařízení), pak jej lze odebrat rovnou.

mdadm --manage /dev/md0 --set-faulty /dev/sda1
mdadm --manage /dev/md0 --remove /dev/sda1
2) Přerozdělení oddílů

Aby mohl být nový disk zařazen do degradovaného pole, je důležité, aby byl rozdělen stejně jako disk v raidu. Proto si zobrazte parametry obou disků:

fdisk -l 

Disk lze rozdělit klasicky ručně příkazem fdisk, popř. s grafickým rozhraním cfdisk:

fdisk /dev/sda

Nyní na novém "čistém" disku vytvořte oddíly tak, aby velikostí odpovídaly disku v raidu. Pokud to již máte hotové, je nový disk připraven k použití v raidu.

Za předpokladu, že oba disky ( vadný i nový, který jej má nahradit ) mají stejnou "geometrii" ( Lze ověřit pomocí fdisk -l ), je možné pouze zkopírovat rozložení oddílů tj. MBR tabulku pomocí příkazu dd (! POZOR: Chybnou manipulací při zálohování můžete nenávratně poškodit MBR. ):

dd if=/dev/xxx of=/cesta_k_souboru/zaloha_mbr.dd bs=512 count=1    # Záloha celého MBR
dd if=/cesta_k_souboru/zaloha_mbr.dd of=/dev/xxx bs=512 count=1    # Obnova zálohy MBR
dd if=/dev/null of=/dev/xxx bs=512 count=1                         # Smazání celého MBR
3) Přidání nového disku do raidu

Pokud máte disk správně rozdělený ( opět můžete zkontrolovat přes fdisk -l ) zbývá jej už jen zařadit do raidu:

mdadm --manage /dev/md0 --add /dev/sda1

Průběh rekonstrukce můžete sledovat třeba příkazem:

watch -n 1 'cat /proc/mdstat'

Zdroj: Správa linuxového serveru - Softwarovy raid prakticky (linuxexpres.cz), Jak zálohovat MBR v Linuxu (aboutme.ic.cz)

Správa procesů

Lepší správce procesů

Pro lepší přehled a snazší práci při správě procesech doporučujeme používat program htop namísto klasického top.

Zde můžete lépe sledovat využití systémových prostředků, load, uptime a hlavně také hromadně ukončovat běžící procesy.

Bližší informace můžete nalézt například v článku htop top na druhou, na serveru root.cz.




Kontrola běhu služby

Pokus i přeje zobrazit stav běhu služby, tento příkaz spolu s názvem služby:

ps ax |grep nazev_sluzby


Spouštění procesů v ISP adminu

Příkazy a procesy spuštěné při každém startu systému:

pico -w /etc/rc.local

Procesy spuštěné v závislosti na spuštěném runlevelu:

pico -w /etc/inittab

Příkazy a procesy spouštěné periodicky:

pico -w /etc/crontab


Nastavení IP adresy

A) Dočasné nastavení IP adresy (do prvního restartu), pouze zadejte tyto dva příkazy:

ifconfig eth0 192.168.1.100 netmask 255.255.255.0           # nastavení IP adresy a masky
route add default gw 192.168.1.12         # nastavení výchozí brány


B) Trvalé nastavení IP adresy, masky a výchozí brány. V tomto souboru upravte stávající adresy na požadované:

pico -w /etc/rc.local

Dále je nutné uvést novou IP adresu také do konfigurace úpravou těchto dvou souborů:

pico -w /etc/hosts
pico -w /etc/httpd/conf/httpd.conf
reboot

Práce s hesly

Důrazně doporučujeme dodržovat zádady tzv. silných hesel. Tímto způsobem značně omezíte možnost kompromitování systému, databáze i samotné aplikace. V žádném případě neprovozujte ISP admin s výchozími hesly, které obsahovala čistá instalace!

Změna root hesla

Změna root hesla do systému ISPadmin. Pomocí tohoto hesla můžete provést lokální přihlášení na konzole nebo přistupovat vzdáleně na službu SSH.

passwd root

Změna hesel do systémové databáze

Nastavte výchozí hesla do SQL databáze, nápovědu zobrazíte příkazem:

/usr/local/script/ispadmin/ispadmin_change_pass.pl


Změna hesla uživatele SQL DB "ispadmin":

/usr/local/script/ispadmin/ispadmin_change_pass.pl ispadmin ispadmin nove_heslo


Změna hesla administrátora SQL DB "root":

/usr/local/script/ispadmin/ispadmin_change_pass.pl mysql_root ispadmin nove_heslo

Správa služeb

 :: Monitoring - NAGIOS ::

Restart služby

/etc/init.d/nagios3 restart

Reload konfigurace

nagios3 /usr/local/nagios/etc/nagios.cfg



 :: WEB server - Apache2 ::

Restart služby

/etc/init.d/apache2 restart


Konfigurace

/etc/httpd/conf/httpd.conf

Poznámka: Pokud jste změnili IP adresu serveru, je nutné ji zadat i zde, do konfigurace webového serveru.

 :: Databáze - MySQL ::

Restart služby

/etc/init.d/mysqld restart


Zjištění hesla do databáze

cat  /data/support/ispadmin/config/config.php | grep DBPASS

Oprava poškozené tabulky

Může se stát, že se při "tvrdém restartu" serveru poškodí některé soubory s tabulkami systémové databáze. Pokud se tedy při práci v systému setkáte se zmíněnou chybovou hláškou, pro opravu poškozené tabulky databáze se přihlaste do prostředí příkazové řádky a postupujte následovně:

Nejprve je nutné zastavit databázi

/etc/init.d/mysql stop
  • 32bit verze
myisamchk –o /data/mysql_db/ispadmin/tabulka.MYI
  • 64bit verze
myisamchk -o /var/lib/mysql/ispadmin/tabulka.MYI

Nakonec databázi opět spusťte

/etc/init.d/mysql start

 :: DNS server - Bind ::

Restart služby

/etc/init.d/bind9 restart

Cache only DNS server

Nastavení caching-only je už hotovo. Stačí udávat jako DNS server IP ISPadmina a ten pak sám kontaktuje DNS servery v Internetu.

V souboru /etc/bind/named.conf.options doplnit 0.0.0.0/0; (nebo doplnit konkrétní sítě, pro které má být server DNS cache). Doporučujeme spíše vyjmenovat konkrétní sítě, pro které chcete ISPadmina využívat jako DNS server. Pokud totiž dovolíte používání ISPadmina jako DNS serveru pro všechny (0.0.0.0/0), bude jeho služeb potenciálně moci využívat kdokoliv.

nano /etc/bind/named.conf.options

allow-query { 192.168.0.0/16; 10.0.0.0/8; 127.0.0.1; 0.0.0.0/0; };

Následně restart bind

/etc/init.d/bind9  restart

Pokud je ISPadmin umístěn ve vnitřní síti, musí být na hraničním routeru povoleny odchozí porty 53/TCP a 53/UDP.

nano /etc/resolv.conf

nameserver 127.0.0.1
nameserver IP_DNS_pouzivaneho_serveru

Zde mají být nastaveny DNS servery z Internetu. Pokud budou Vaši zákazníci používat jako DNS server přímo ISPadmina, systém bude fungovat jako Cache a dotazy DNS budou překládat zde uvedené servery. Pokud nevíte IP name serveru, nastavte IP google name serveru 8.8.8.8 .

 :: Poštovní server - Postfix ::

SMTP server je defaultně nastaven tak, že je možné odesílat poštu pouze z localhostu, takže server klidně můžete dát na veřejnou IP adresu, aniž by kdokoliv(spameři) měl přes něj možnost odesílat poštu. ISPadmin tedy neposílá poštu ven (jen lokálně).

Konfigurace poštovního serveru se provádí v souboru /etc/postfix/main.cf:

pico -w /etc/postfix/main.cf 
myhostname = jméno, pod kterým se Váš server bude navenek identifikovat, mělo by být shodné s reverzním DNS

mydestination = jednotlivé domény, které bude server akceptovat
relayhost = nadřazený SMTP server
mynetworks = sítě, ze kterých bude postfix přijímat emaily bez autentifikace k dalšímu zpracování (relay, local, atd.)

Restart služby postfix je nutné provést po každé změně v konfiguračním souboru:

/etc/init.d/postfix restart


Nastavení odesílání pošty přes nadřazený poštovní server

Pro nastavení rozesílání emailů prostřednictvím externího SMTP serveru je nutné zadat IP adresu tohoto serveru do konfigurace SMTP služby Postfix na ISPadminu. Postfix neumožňuje ověření, takže musí mít ISPadmin povoleno posílat poštu bez ověření na nadřazený SMTP server.

V konfiguračním souboru /etc/postfix/main.cf poštovního serveru POSTFIX upravte položku relayhost:

relayhost = SMTP_SERVER  # IP adresa nadřazeného poštovního serveru

Po úpravě je potřeba službu restartovat:

/etc/init.d/postfix restart

Od této chvíle budou všechny emaily vytvořené v ISPadminu přeposílány do Internetu přes nadřazený SMTP server.

Problémy při odesílání emailových zpráv

Jako první věc otestujte příkazem telnet zdali poštovní server poslouchá tam, kde má poslouchat. Tedy je-li služba vůbec dostupná. Může se stát, že je server nedostupný z důvodu neprůchodnosti přes firewall, kolize doménových jmen, apod.

Toto jsou nejčastější příčiny problémů s odesíláním/přijímáním emailů.

telnet postovni_server 25

Výpis v konzoli při dostupnosti serveru:

admin.ispadmin.cz:~# telnet demo.ispadmin.eu 25
Trying 95.173.193.36...
Connected to demo.ispadmin.eu.

Výpis v konzoli při nedostupnosti serveru: - pravděpodobně nějaký firewall po cestě blokuje port 25, přes který chodí pošta.

admin.ispadmin.cz:~# telnet posta.pokus.cz 25
Trying 81.2.194.128...
telnet: Unable to connect to remote host: Connection timed out

Pokud je tedy SMTP server dostupný, dalším krokem je kontrola logu poštovního serveru. Dle záznamů v logu poté můžete identifikovat konkrétní problém a provést nápravu. Následujícími příkazy si můžete zobrazit log služby postfix nebo přímo emailovou frontu:


Z tohoto výpisu můžete vyčíst, že je špatně nebo vůbec nastaven A záznam v DNS serveru - Host or domain name not found.

tail /var/log/mail.log
admin.ispadmin.cz:~# tail /var/log/mail.log
Apr  1 11:18:01 admin postfix/pickup[11262]: 3AF4961C850: uid=0 from=<root>
Apr  1 11:18:01 admin postfix/cleanup[12439]: 3AF4961C850: message-id=<20110401091801.3AF4961C850@admin.ispadmin.cz>
Apr  1 11:18:01 admin postfix/qmgr[2225]: 3AF4961C850: from=<root@admin.ispadmin.cz>, size=610, nrcpt=1 (queue active)
Apr  1 11:18:01 admin postfix/smtp[12441]: 3AF4961C850: to=<root@admin.ispadmin.cz>, orig_to=<root>, relay=none, delay=0.01,   
delays=0.01/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=admin.ispadmin.cz type=A: Host not 
found)
Apr  1 11:18:01 admin postfix/cleanup[12439]: 3C4D961C858: message-id=<20110401091801.3C4D961C858@admin.ispadmin.cz>
Apr  1 11:18:01 admin postfix/bounce[11699]: 3AF4961C850: sender non-delivery notification: 3C4D961C858
Apr  1 11:18:01 admin postfix/qmgr[2225]: 3C4D961C858: from=<>, size=2552, nrcpt=1 (queue active)
Apr  1 11:18:01 admin postfix/qmgr[2225]: 3AF4961C850: removed
Apr  1 11:18:01 admin postfix/smtp[12441]: 3C4D961C858: to=<root@admin.ispadmin.cz>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.4.4, 
status=bounced (Host or domain name not found. Name service error for name=admin.ispadmin.cz type=A: Host not found)
Apr  1 11:18:01 admin postfix/qmgr[2225]: 3C4D961C858: removed


Kontrola fronty:

admin.ispadmin.cz:~# mailq
Mail queue is empty


Nefunkční překlad doménových jmen

Pokud správně nepracuje překlad doménových jmen, nemůže fungovat ani přeposílání pošty. Pokud v logu poštovního serveru naleznete tento záznam, bude potřeba správně nastavit překlad doménových jmen.

tail -f /var/log/mail.log
Mar  4 10:25:46 admin postfix/error[19238]: A10D08A487A: to=<root@admin.ispadmin.cz>, orig_to=<root>, relay=none, delay=30,
delays=29/0.26/0/0.06, dsn=4.4.3, status=deferred (delivery temporarily suspended:
Host or domain name not found. Name service error for name=admin.ispadmin.cz type=MX: Host not found, try again)

Správný překlad DNS si můžete ověřit následujícím příkazem. Pokud se na dotaz DNS server neozve, ale na IP ano, je problém právě zde.

telnet posta.pokus.cz 25
Trying 81.2.194.128...


Proveďte úpravu konfiguračního souboru:

pico -w /etc/resolv.conf
search vase-domena.cz
nameserver 127.0.0.1
nameserver IP_DNS_pouzivaneho_serveru

Nakonec restart služby:

/etc/init.d/bind9 restart


Chybějící reverzní DNS záznam PTR

Systém DNS neposkytuje pouze mechanismus překladu doménových názvů na IP adresy, ale také naopak překlad IP adres na doménová jména. Toho se dnes využívá zejména při doručování elektronické pošty kdy si mailserver, který přijímá od klienta zprávu, nejprve přeloží IP adresu klienta na název (čímž se může přibližně dozvědět o koho se jedná) a poté si získaný název zpětně přeloží na IP adresu. Pokud mu skutečná a získaná IP adresa nesouhlasí, může považovat zdroj zprávy za nedůvěryhodný a odmítnout ho.


Chybějící MX záznam

Pro správné předávání pošty je nutné mít v pořádku MX záznamy na svém poštovním serveru, jinak Vám pošta docházet nemusí.

Zjištění existujícího MX záznamu:

 # nslookup	
 > set q=mx	
 > net-service.cz
net-service.cz MX preference = 10, mail exchanger = sentinel.net-service.cz

Pokud reverzní záznam nefunguje, zobrazí se upozornění "Neautorizovaná odpověď":

# nslookup	
> set q=mx	
> net-service.cz
Non-authoritative answer net-service.cz MX preference = 10, mail exchanger = sentinel.net-service.cz


Špatné nastavení ISPadmina

Pokud Vám ze sítě neodcházejí emaily a jste si jisti nastavením nadřazeného serveru, projděte také tyto položky v Nastavení / Systémové nastavení / Obecné, zdali máte obě položky vyplněny v pořádku.

  • smtp_restriction - Blokovat SMTP port 25. Systém ISPadmin umožňuje blokování odchozí pošty protokolem SMTP na portu 25 globálně pro celou Vaši síť. Toto nastavení je vhodné používat jako obranu před odesíláním spamu ze zavirovaných klientských počítačů, kdy Vám hrozí zařazení na světové blacklisty, nadřazený poskytovatel Vás dokonce může nechat odpojit.
  • smtp_trust_servers - Povolené SMTP servery v síti. Přidejte důvěryhodné SMTP servery na seznam povolených. Tyto servery nebudou omezovány při odesílání pošty. Jako první záznam by se měl objevit Váš hlavní poštovní server. Další adresy obvykle bývají firemní poštovní servery vašich zákazníků.

POP before SMTP

Konfigurace POSTFIXu, který v ISPadminu i LK slouží jako SMTP server, neobsahuje SSL zabezpečení. Pro řízení přístupu je však použita metoda "pop before smtp".

Aby si tedy mohl uživatel korektně odeslat poštu musí se předtím přihlásit na pop3 účet (takto se chovají poštovní klienti jako outlook a podobně). Jinak smtp server přebírá poštu pouze z localhostu, proto ani na veřejné adrese není problém se spamem. V konfiguračním souboru lze také nastavit, pro které podsítě se nebude smtp ověřovat a tak jej vaši zákazníci mohou používat jako smtp server bez ověření. V opačném případě lze v konfiguraci poštovního serveru nastavit nadřazený smtp server, přes který budou odcházet veškeré emaily vytvořené na ISPadminu a LightKeeperu.


POP3

Žádný text.


IMAP4

Žádný text.

 :: NTP server ::

1/ Časový server není v čisté instalaci nainstalován. Pokud si přejete ISPadmin o tuto službu rozšířit, nainstalujte balíček ntp:

apt-get install ntp


2/ Další možností, jak povolit NTP synchronizaci i pro routery na vnitřní síti je zpřístupnění UDP portu 123.


3/ Pokud provozujete linuxové routery, můžete využít toto nastavení (neplatí pro MikroTik):

Nastaveni / Systémové nastavení / Linux

time_server - NTP server pro synchronizaci routerů ntp.cesnet.cz

time_synchronization - Používat NTP synchronizaci routerů 1

Zapomenuté heslo root účtu

Můžete použít dva postupy.

První postup

1. Vložte instalační CD ISPadmin a vyčkejte než se zobrazí příkazová řádka

2. Připojte systémový disk a přepněte se do prostředí opravované instalace

mount /dev/[hda1|sda1|md0]  /hd
chroot /hd

3. Poté už proveďte klasicky změnu hesla, tzn. po zadání příkazu 2x zadat nové heslo

passwd

4. Opuštění chroot prostředí a odpojení disku

exit
umount /hd

5. Vyjmout instační CD z mechaniky a restart serveru

eject
reboot -f

Druhý postup

Další možností je po připojení systémového oddílu upravit soubor /etc/shadow a /etc/passwd, tak aby bylo heslo roota prázdné.

Na svém počítači nastavíme bootovaní z optické mechaniky a nastartujeme Linux z life CD do grafického režimu. Po startu připojíme "pokud již není" / "kořenový oddíl", ke kterému neznáme heslo uživatele root. Na tento oddíl se přesuneme a vyhledáme soubor:

/etc/passwd

V souboru passwd vyhledáme řádek:

root:x:0:0:root:/root:/bin/bash

V tomto řádku odstraníme písmeno x s tím, že řádek poté bude vypadat následovně:

root::0:0:root:/root:/bin/bash

Ostatní řádky necháme beze změny a soubor uložíme.

Další soubor, který budeme editovat je:

/etc/shadow

V souboru shadow vyhledáme řádek začínající slovem root

root:$2a$05$e7K5MayhjHODCvu6qFabq.H3QUucC0Osjas1SkbKnTlhacoW/mwFu:13528::::::

V tomto řádku odstraníme vše a ponecháme pouze:

root:::: "slovo root a čtyři dvojtečky"

Ostatní řádky necháme beze změny a soubor uložíme.

V tuto chvíli můžeme CD vyndat a restartovat systém. Poté nabootovat do systému, ke kterému jsme zapomněli heslo uživatele root. Přihlásíme se jako běžný uživatel, spustíme jakýkoliv terminálový program a zadáme

su

V tuto chvíli jsme přihlášeni jako uživatel root a můžeme zadat příkaz

passwd

Pomocí tohoto příkazu nastavíme nové heslo uživatele root!