Okruh 22 OS Linux – použití systému jako serveru (DHCP, DNS, web, , file server) Jiří Škorvánek
Základní síťové služby (DNS,DHCP,NTP) Slouží pro překlad jmen na IP adresy. Konfigurace(BIND) Hlavní konfigurační soubor BINDu se jmenuje /etc/named.conf. Definování zón: #první odkazuje na konfigurační soubor dns.tam zone "example.net" { type master; file "dns.tam";}; #druhá pro zpětný překlad adres. zone " in-addr.arpa" { type master; file "dns.zpet";}; Tyto souborory se musí naplnit daty definovat mail server, name server, klienty.
DNS file "dns.tam"; #časové prodlevy pro refresh,reconect a jiné $TTL IN SOA server.example.net. root.example.net. ( ;Serial ;refresh 1800 ;retry ;expire na dns2 900) ;negative cache TTL #nameservery IN NS server.example.net. #mailservery IN MX 10 mail.example.net. #klienti server IN A mail IN CNAME serverpop3 IN CNAME serversmtp IN CNAME serverwww IN CNAME serverpc-01 IN A pc-02 IN A pc-03 IN A
DNS file "dns.zpet"; $TTL IN SOA server.example.net. root.example.net. ( ) IN NS server.example.net. 1 IN PTR server.example.net. 2 IN PTR pc-01.example.net. 3 IN PTR pc-02.example.net. 4 IN PTR pc-03.example.net. Testování konfigurace named-checkzone example.net /var/named/dns.tam named-checkzone in-addr.arpa /var/named/dns.zpet Spuštění a testování /etc/rc.d/rc.bind ping server.example.net
DHCP -Dynamická konfigurace klientů může významným způsobem zjednodušit a zefektivnit správu větší sítě. Samotných DHCP klientů existuje více. -Programy na získání potřebných údajů pro konfiguraci sítě se obvykle používají v distribučních startovacích skriptech.. Příklad DHCP klientu(pump) dhclient Ten se při startu podívá do konfiguračního souboru /etc/dhclient.conf a podle obsahu se patřičně zachová. Soubor může být i prázdný. Spusteni dhcp route add -host dev eth0 dhcpd okomentovaný příklad konfiguračního souboru dále;
DHCP timeout 60;# timeout :o), klient bude zkoušet navazovat komunikaci 60s retry 60; # pokud neuspěje, po 60 sekundách to zkusí znovu reboot 10; # po 10 sekundách klient vzdá použití staré adresy a # začne nově hledat reject ; # odmítne danou IP interface "eth0" { # nastavení pro zařízení eth0 send host-name "hippo"; # send znamená, že je serveru poslána # daná položka s danou hodnotou, # více viz man dhcp-options send dhcp-client-identifier 00:0c:29:05:24:51; send dhcp-lease-time 3600; supersede domain-name "moje-domena.cz"; # pouzije domain-name, at # server předá cokoli prepend domain-name-servers ; # toto se pouzije do doby, # než server dodá # odpovídající hodnotu request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers; # požadované údaje (DHCP server # toto posílá implicitně) require subnet-mask, domain-name-servers, host-name; # údaje, které server musí # zaslat, aby byl požadavek # uznán platným script "/sbin/dhclient-script"; # cesta ke konfiguračnímu skriptu }
NTP Slouží pro změnu, sychronazici času. Aktuální čas systému: # date Sun Nov 4 12:27:06 CET 2007 Pro synchronizaci času s našim ntp serverem použijeme program ntpdate takto: # ntpdate ntp1.vsb.cz 4 Nov 10:46:39 ntpdate[2218]: step time server offset sec Aktuální čas systému (po synchronizaci):
Souborový server (Mount,NFS,Samba,FTP) Mount Připojování a odpojování disket,CD-ROM Připojení cizího souborového systému ( Možnosti automatického připojení Základní syntaxe příkaz mount je následující: mount [-fnrsvw] [-t vfstype] [-o options] device dir Přepínač –t je používán ke specifikování typu souborového systému, který má být připojen. Device je fyzické zařízení, které má být připojeno. Dir je bod jako který bude zařízení připojeno. LINUX zachází se všemi připojenými zařízeními a jejich souborovým systémem jakoby byly součástílokálního souborového systému, proto musí být specifikován přípojný bod.
Mount Připojování a odpojování disket / CD-ROM $ mount /dev/fd0 /floppy $ cd /floppy $ umount /dev/fd0 /floppy Disketa nebo jakékoliv jiná vyměnitelná média by měla vždy být odpojena, pokud nebudou dále používána. Jednoduché vysunutí média není dostatečné, protože toto neodstraní připojený bod zobrazený v souborovém systému. Připojení cizího souborového systému Pro připojení souborového systému použijte přepínač –t v příkazu mount. Například disk formátovaný pomocí FAT32 nebo VFAT souborovým systémem může být připojen následovně: $ mount –t vfat /dev/fd0 /98floppy Přepínač –t je použit k určení typu souborového systému, který má být připojen. Přípojný bod byl zvolen, tak aby odpovídal jeho typu.
NFS NFS (Network filesystem) umožňuje uživateli připojit si ke svému počítači disk, popřípadě adresář z hostitelskeho počítače. K souborům připojeného svazku se přistupuje úplně stejně jako by byly na lokále. Můžeme tak snadno pracovat napřípad se svými home adresáři na kteréhokoli stroji v síti i když náš home není umístěn přímo na lokálním disku. NFS na straně serveru Abychom mohli používat NFS, je třeba mít v jádře přikompilovanou podporu nfs. Ověření (/proc/filesystems). Dále je třeba mít spuštěné démony rpc.port, mountd, nfsd. Máme-li všechno potřebné, je třeba nastavit soubor /etc/exports. V tomto souboru se nachází seznam všech svazků, které je server ochoten poskytovat k připojení jednotlivým klientským počítačům.
NFS Synaxe soubu je: adresář klient1(volba11,volba12) klient2(volba21,volba22) adresář - připojovaný adresář klient - počítač, z něhož lze daný adresář připojit volby: ro - pouze pro cteni rw - pro cteni i pro zapis Příklad souboru /etc/exports: /usr/local (ro) (ro) /home (rw) (rw) Adresář /usr/local si může být připojen pouze pro čtení z počítačů , Adresář /home může být připojen jak pro čtení, tak pro zápis a to z počítačů ,
Samba Samba je open source implementace protokolu pro sdílení souborů a tiskáren. Díky Sambě mohou systémy UNIXového typu bez problémů komunikovat se systémy Microsoft Windows. Porty 137/udp - překlad jmen 138/udp - zjišťování seznamu sdílených prostředků 139/tcp - přístup ke sdíleným prostředkům 445/tcp - přímý přístup ke sdíleným prostředkům přes TCP/IP (od MS Windows 2000) Samba se skládá ze dvou hlavních částí: smbd - daemon, který naslouchá na zmíněných portech a po připojení klienta spustí nový proces, v němž je daný klient obsluhován. Po odpojení klienta se nový proces ukončí. nmbd - daemon zodpovědný za překlad jmen stanic na adresy (Windows Internet Name Service - WINS)
Samba dále obsahuje několik důležitých pomůcek, které se hodí při konfiguraci i samotném užívání: smbclient - klient, sloužící hlavně pro testování konfigurace serveru. pro normální použití je celkem nevhodný. Vypsání sdílených prostředků serveru: smbclient -L Připojení se ke sdílenému prostředku pod daným uživatelem: smbclient // / -U mount -t smbfs –o "username=,password=,codepage= "// / / Do /etc/fstab se zápis provádí takto: // / / smbfs username=,password=,codepage= 0 0 smbpasswd - nástroj pro přidání/mazání uživatelů, změnu hesel či povolení/zakázání uživatelského účtu. Příklady přidání nového uživatele smbpasswd -a lubik
FTP Na většině unixových systémů je k dispozici základní klient pojmenovaný ftp. ftp mirror.linuxsoft.cz <- pripojeni na ftp server Connected to mirror.linuxsoft.cz. 220 ProFTPD Server (mirror.linuxsoft.cz) [ ]Name (mirror.linuxsoft.cz:bfu): anonymous 331 Anonymous login ok, send your complete address as your password. Password: ***** <- zadani hesla 230-Welcome to mirror.linuxsoft.cz!ftp> get CorelPHOTOPAINT9Lnx.tar.gz <- prikaz pro download 226 Transfer complete bytes received in secs ( kB/s)ftp> exit <- ukonceni práce s ftp 221 Goodbye.
Web server, server Apache WWW Server Apache je multiplatformní multiplatformní WWW server Konfigurace Apache Konfigurační soubor se jmenuje httpd.conf a nachází se v adresáři /etc/apache. PHP Integrace Apache modulu pro překlad PHP. Nejprve musíme PHP zkompilovat a nainstalovat. Výsledkem by měl být soubor /usr/libexec/apache/libphp4.so Přidáme do /etc/apache/httpd.conf následující řádky: LoadModule php4_module libexec/apache/libphp4.so #nahrani modulu AddType application/x-httpd-php.php #definice MIME typu a restartujte Apache. Poté ještě můžete přidat do DirectoryIndex index.php, abychom nemuseli začínat na souboru bez PHP.
Apache Okomentovaný přiklad konfigurace: ServerRoot "/usr" #kořen serveru, odsud se odvíjí relativní cesty User "nobody"Group "nobody" #pod kým se apache spouští ServerName " #jméno serveru, musí být pravdivé DocumentRoot "/var/www/htdocs" #kořen html dokumentů čili webu
server (postfix,fetchmail,procmail,sendmail) Postfix je server odesílající poštu. Jeho hlavní konfigurační soubor je /etc/postfix/main.cf. V něm by měly být nastaveny tyto parametry: myhostname = server.example.net #jméno serveru mydomain = example.netinet_interfaces = all #zařízení, ze kterých půjde posílat poštamynetworks = /24, /8 #specifikace sítě mydestination = server, localhost, localhost.example.net,\ example.net, mail.example.net, ftp.example.net #adresy, pro které se akceptuje pošta alias_maps = /etc/aliases #soubor s aliasy mail_owner = postfix #uživatel, pod kterým se postfix spouští
Fetchmail Fetchmail je program, který pravidelně stahuje z pop3 serverů v internetu poštu a ukládá ji do lokálních schránek. Nastavuje se pro každého uživatele zvlášť. Ve svém domovském adresáři vytvořtíme soubor.fetchmailrc a vložíme do něj obsah: defaults protocol pop3, nokeep, fetchall; poll "pop3.server_s_postou_1.cz", user "uzivatel" password "heslo"; poll "pop3.server_s_postou_2.cz", user "uzivatel", password "heslo";
Procmail Procmail umožňuje příchozí y filtrovat libovolnými programy, ukládat do různých schránek (mailboxů), předávat na jiné adresy, apod. Příklad pravidla, které třídí y: # y od opicky do schranky opicka: 0:* ^From: Opicka Příklad pravidla pro přeposílání ů na jiný server: :0 * !^FROM_MAILER# nepřeposílat chyby! Příklad pravidla pro přeposílání ů na jiný server, ale je současně uložen do schránky na lokálním serveru: :0 c* !^FROM_MAILER# neposílat chyby!
Sendmail Při typické konfiguraci moderních instalací běží sendmail jako dva démony jeden, privilegovaný, běží jako SMTP server, čeká na spojení na TCP portu 25 a stará se o odeslání čekající pošty z fronty v /var/spool/mqueue. Druhý, neprivilegovaný, občas nahlédne do neprivilegované fronty /var/spool/clientmqueue s poštou nepřijatou k odeslání (většinou proto, že se nepodařilo kontaktovat cílový server) a pokusí se o její opětovné odeslání.