Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » referate » informatica » linux
Linux pentru Internet - Ghid practic

Linux pentru Internet - Ghid practic


Linux pentru Internet

Ghid practic. De la omul obisnuit la marele intreprinzator.

Linux nu este doar un sistem de operare, ci un mod de gandire in sine, care va scuteste de o serie intreaga de eforturi, daca este folosit eficient. Acest articol isi propune familiarizarea dumneavoastra rapida cu Linux-ul, in sensul de a-l transforma intr-o unealta de lucru comoda si aproape perfecta. Dar sa nu mai pierdem timpul, bootam Linux si ne incredintam lui

Stefanita Vilcu

Utilizatorul 'casnic'

Aveti un calculator pe care tocmai ati instalat Linux (in continuare toate referirile se vor face la Red Hat Linux 6.2), un modem (care nu este WinModem) si doriti sa va conectati la Internet. Programul Kppp, disponibil in distributie, va ofera o interfata facila, asemanatoare cu Dial-up Networking-ul disponibil in sistemele Windows.



Ca mailer se poate folosi Netscape Communicator, in acelasi fel ca in sistemele Windows. Se lucreaza offline si apoi, dupa conectare, se face 'Get Msg' care trimite tot ce era in 'Unsent Messages' si primeste mesajele folosind un cont de tip POP3.

O alta metoda, considerata de unii mai comoda, este realizarea unui script care, la anumite intervale de timp (apelat din cron sau at) verifica daca sunteti conectat la Internet (interfata pppx este 'up'), iar daca nu sunteti conectat realizeaza conexiunea Internet. Dupa o eventuala conectare, scriptul trimite posta stocata pe computer de catre programul de trimis posta (MTA - Mail Transfer Agent, de obicei sendmail, postfix sau qmail). In acelasi timp, scriptul poate sa receptioneze posta de pe serverul ISP folosind fetchmail si eventual sa distribuie mesajele in mai multe mailbox-uri (via MTA), folosind sau nu filtre (gen procmail). Pentru acest gen de activitate, cerintele hardware sunt minimale, adica numai cele cerute de distributia Linux.

Firma conectata prin dial-up

Daca firma dumneavoastra are un abonament dial-up si doriti ca serverul Linux sa deschida conexiunea Internet numai atunci cand un pachet de date este gata sa plece spre Internet (dial-on-demand), nu trebuie decat sa apelati pppd-ul din script cu optiunea corespunzatoare.

De asemenea, scriptul descris mai sus ne permite sa receptionam posta pentru un intreg domeniu si sa o redistribuim in mailbox-urile utilizatorilor. Acestia isi vor ridica mesajele folosind POP3 sau IMAP de pe masina locala. Pentru sporirea calitatilor serviciului, este utila instalarea unui nameserver local (cache only) si a unui proxy server (tot cu rol de cache).

De ce hardware avem nevoie? Un Pentium la 75Mhz cu 32 de Mb RAM isi face pe deplin datoria de 'router' si server de posta pentru cateva zeci de utilizatori. Utilizatorii nu folosesc proxy, Linux-ul fiind configurat pentru masquerade.

Firma conectata prin legatura dedicata

Daca aveti o legatura dedicata (conexiune permanenta), Linux-ul va poate scapa de probleme indiferent de tipul legaturii. Aceasta poate fi prin cablu TV, radio sau cablu de retea, legatura sincrona (cu viteza intre 64kbps si 2mbps) sau legatura asincrona (cu viteza de pana la 33kbps).

In cazul unei legaturi prin cablu sau radio, echipamentul terminal (modem radio, modem CATV) se conecteaza direct intr-o placa de retea. In cazul unei legaturi sincrone, este nevoie de o interfata seriala sincrona.

Pentru majoritatea placilor sincrone (o lista cu cei mai cunoscuti producatori se afla in caseta alaturata) exista suport in kernel, fiind necesar doar sa se instaleze modulele sau, eventual, sa se recompileze kernelul cu suport pentru placa respectiva. Pentru configurari specifice, documentatia de firma si listele de discutii va vor scoate totdeauna din necaz.

Modemurile asincrone se conecteaza direct in portul serial al calculatorului, stabilirea legaturii ppp se face pornind pppd-ul cu optiunea nodetach.

Acum legatura merge, bitii curg, utilizatorii din interiorul firmei au nevoie de posta electronica si acces Internet. Pentru posta varianta cea mai comoda este configurarea de conturi POP3 sau IMAP locale (pe server). Cele mai folosite servere de IMAP sunt Cyrus, de la Universitatea Carnegie Mellon si UW IMAP de la Universitatea Washington. Ambele servere au si suport de POP3. Ca servere de POP3, cele mai folosite sunt, in afara de cele din pachetele IMAP, qpopper de la Qualcomm si cucipop creat de Stephen R. van den Berg, autorul lui procmail. Pentru a primi posta, puteti folosi 'clasicul' sendmail de la Sendmail Inc, considerat standardul in domeniu, mai noul Qmail dezvoltat de Dan Bernstein sau revolutionarul Postfix creat de Wietse Venema, parintele celebrelor tcp wrappers si SATAN. Toate aceste programe comunica natural cu serverele de POP sau IMAP uzuale (pentru Qmail este nevoie de aplicarea unor patch-uri, in cazul in care nu gasiti pachete gata compilate), Postfix prezentind o interfata similara cu sendmail pentru programele client.

O atentie deosebita trebuie acordata configurarii mecanismelor antispam. Toate MTA pomenite mai sus au un suport antispam (numit uneori anti-UCE, Unsolicited Commercial Email) puternic, bine documentat si exemplificat.

Pentru a oferi acces Internet statiilor de lucru din reteaua interna exista mai multe metode, in functie de aplicatiile folosite. Cele mai uzuale metode sunt:

  • Oferirea de acces direct: statiile din reteaua interna au adrese rutabile, serverul Linux nu are decat rolul de transfer al pachetelor de date din/spre reteaua interna si filtrarea lor. In general, aceasta metoda este indicata cand folositi NetMeeting sau aplicatii similare, care presupun ca utilizatorul deschide un port sau trimite pachete UDP spre statia locala pe porturi diverse. Serverul la care se conecteaza utilizatorul local nu se foloseste de conexiunea curenta pentru transmis date si incearca sa realizeze una noua.
  • Oferirea de acces prin mascarea adreselor, in care serverul Linux are rol de masquerade host.
  • Oferirea de acces prin proxy, cind serverul Linux ruleaza un soft de proxy, gen squid.

Configurarea unui server web sau ftp nu este recomandata decat daca aveti o legatura de viteza mare (cablu). In general, este bine ca aceste servere sa fie tinute de provider deoarece majoritatea ISP din Romania au legaturi cu ceilalti furnizori regionali sau nationali iar legatura lor la Internet este mai buna decat a dumneavoastra. Celelalte avantaje ar fi backup-ul regulat, instalarea serverului pe UPS si nu in ultimul rand hardware-ul masinii (memorie multa, eventual RAID).

Solutii pentru ISP

Ca ISP, oferiti clientilor dumneavoastra cel putin unul dintre urmatoarele servicii:

  • Acces Internet
  • Posta electronica
  • Spatiu pentru paginile de web ale utilizatorului
  • Servere web virtuale

In figura de mai sus se afla o schema cu serviciile/programele necesare pentru a rula un ISP.


Baza de date

Inima intregului sistem o reprezinta SGBD-ul, in el sunt stocate informatiile despre utilizatori, informatiile de autentificare (nume cont/ parola), statisticile de trafic (cat a traficat fiecare client, pe IP sau PPP). Introducerea datelor se poate face comod, prin intermediul unei interfete web (in general de productie proprie), sau prin scripturi Perl care interogheaza routerele sau prelucreaza fisierele log. Exista o gama completa de produse SGBD pentru Linux, incepand de la programe mici, gratuite, care implementeaza numai o parte din specificatiile ANSI SQL, gen MySQL sau mSQL, dar care sunt extrem de rapide, pana la aplicatii profesionale de la firme de renume: Oracle, Informix, Sybase, IBM DB2 etc.

Avantajul produselor gratuite este, in general, viteza incomparabil mai mare si necesarul de resurse mult mai redus decat in cazul produselor de firma. In cazul acestora din urma, banii investiti intr-un hardware mult mai performant si licente pentru soft (Oracle, Informix, Sybase sau DB2 nu sunt gratuite) sunt compensati de garantarea integritatii datelor, un limbaj procedural puternic, instrumente puternice pentru dezvoltare (application development tools), optimizari diverse etc.

Pentru uz curent, o baza de date MySQL in care se stocheaza toate datele este absolut suficienta, mai ales daca o puneti peste un RAID 1 sau 5.

Orologiul

Prin NTP (Network Time Protocol) am simbolizat 'orologiul' nostru, ceasornicul de referinta. In Linux, 'sincronizarile temporale' sunt gestionate de xntpd. Programul poate juca atit rol de client (sincronizeaza masina proprie cu referinta) cat si de server (permite altor echipamente sa se sincronizeze cu el). De obicei toate serverele ruleaza xntpd si se sincronizeaza dintr-un singur loc. Aceasta sincronizare este necesara pentru a nu aparea discrepante intre loguri si/sau headerele mesajelor (de exemplu mesaje E-mail care vin din viitor, sau trec, la un moment dat, prin viitor J ).

Domain Name Server

DNS-urile sunt in general in numar de doua, ruland ultima versiune stabila de BIND: unul primar pentru zonele noastre, celalalt secundar. Clientii care vor sa isi administreze singuri domeniile trebuie sa declare DNS-urile dumneavoastra ca nameservere la RNC sau Internic. Local, clientul isi configureaza nameserverul ca primar. DNS-urile dumneavoastra fiind secundare, isi incarca zona de la primarul clientului. In acest fel clientul isi reduce traficul pe legatura proprie si, lucrul cel mai important, cererile sunt servite mai repede, deoarece sunt interogate DNS-urile de la ISP, care sunt 'mai aproape' de Internet.

Radius, serverul de autentificare

Ca server de RADIUS se poate folosi un produs gratuit, gen Cistron Radius, sau ICRADIUS, servere capabile sa lucreze cu baze de date MySQL sau un produs comercial, cum este RADIATOR. Dintre acestea, RADIATOR este de departe mult mai flexibil, deoarece este scris in perl.

Aceste servere de RADIUS au posibilitatea de a autentifica utilizatorii folosind baza de date si de a stoca inregistrarile de contabilitate (accounting) direct in baza de date. Aceasta faciliteaza foarte mult oferirea de servicii cum sunt cele platite in avans (prepaid).

Serverul pentru trimis posta

Serverul de SMTP are rolul de a prelua mesajele trimise de clienti si de a le distribui pe Internet. In general, un server modest (P166, 128Mb RAM, 4Gb HDD) poate face fata cu succes citorva mii de utilizatori. Softul recomandat este Postfix. Postfix are posibilitatea de a interoga un server LDAP sau MySQL dupa tabelele de rescriere a adreselor, redirectari sau reguli antispam.

Serverul pentru primit posta

Serverul sau serverele de POP3, cuplate eventual cu un POP3 Proxy, permit clientilor sa isi ridice mesajele. Cea mai comoda varianta de server POP3 este cea din distributia de Cyrus IMAP cu patch-uri pentru domenii virtuale si cautare in baza de date MySQL dupa cota (quota) utilizatorului si numele mailbox-ului. Aceste servere primesc posta direct din Internet prin intermediul Postfix. Postfix-ul 'stie', in urma unor interogari ale bazei de date sau ale serverului LDAP, in ce mailbox sa le trimita si pe ce server (in cazul in care aveti mai multe). POP3 Proxy-ul are rolul de a directiona utilizatorul spre serverul care contine mailbox-ul sau, in cazul in care acesta are mai multe servere de POP3. Ca proxy se poate folosi o aplicatie profesionala, gen MAIL Robustifier, sau un soft gratuit. De ce Cyrus? Pentru ca este printre putinele servere care suporta cote pe maibox-uri. Cyrus tine un cache cu headerele mesajelor, ceea ce inseamna ca dureaza mai putin timp sa deschida un mailbox, deoarece are in cache toate informatiile de care are nevoie si nu mai trebuie sa citeasca tot mailbox-ul. Alt avantaj ar fi faptul ca mesajele sunt tinute sub forma de fisiere individuale, fiecare mailbox fiind, de fapt, un director. Aceasta abordare permite stergerea de mesaje din mailbox in timp ce sunt primite altele noi, spre deosebire de sistemele clasice, care se bazau pe mecanismul de blocare a mailbox-ului si copierea mesajelor in directorul temporar. In cazul in care Cyrus-ul primeste un mesaj pentru doi utilizatori, nu pastreaza pe disc decat o copie a mesajului, facand un link hard de la un mailbox la altul. Aceasta abordare este benefica atat la scrierea in mailbox, cat si la citire, mai ales la incarcari mari si volume mari de trafic.

Serverul de web

Web serverele vor rula Apache, compilat cu module de php3 si/sau perl, ssh etc. Daca clientii dumneavoastra doresc sa isi publice paginile cu FrontPage, exista un pachet numit 'FrontPage Extensions for Apache', care ii permite serverului Apache sa interactioneze in mod natural cu Microsoft FrontPage. Clientii care nu folosesc FrontPage pentru publicarea paginilor de web pot folosi ftp. Serverul de ftp pe care il recomand este proftpd. Acesta are o configurare similara cu Apache-ul si facilitati similare. Proftpd si Apache se pot integra foarte usor intr-o structura de autentificare bazata pe un SGBD (MySQL, LDAP, RADIUS etc.), fara sa mai fie necesare alte modificari si configurari.

Daca serverul dumneavoastra de web este prea incarcat, exista o solutie eleganta, care presupune separarea pe mai multe servere. Cu o masina ruland un server de web ca boa sau thttpd - aceste servere sunt mai mici, rapide si consuma mult mai putine resurse decat Apache - putem sa servim pagini HTML statice si imagini, alta masina, care ruleaza Apache, fiind folosita numai pentru HTML dinamic, CGI etc.

Serverul de news

In general, necesitatea unui server de news local se face simtita foarte rar, grupurile de discutii nemaifiind atit de raspindite printre utilizatorii actuali ai Internetului (majoritatea preferand sa caute pe web decat pe news). In aceste conditii se poate folosi serverul de web al furnizorului propriu de servicii.

Serverul de proxy

Serverul de proxy este, in general, utilizat de clientii dial-up, dar si de cei conectati pe linie dedicata. Squid-ul se poate configura (impreuna cu un router Cisco) ca proxy transparent. In acest fel, toate cererile de HTTP sunt 'fortate' sa treaca prin proxy. Pentru un ISP mare, o masina cu 512MB RAM si cateva zeci de GB de disc, configurata ca proxy transparent, poate sa economiseasca in medie 30-40% traficul pe legatura Internet.

Liste de discutii

Unul dintre serverele dumneavoastra poate sa gazduiasca una sau mai multe liste de discutii, softul pe care vi-l recomand in acest caz fiind listar sau mailman. Personal, am avut experiente foarte neplacute cu majordomo2 si listserver, de aceea nu doresc sa le recomand.

Pentru distributia mesajelor, ca MTA recomand postfix.

Backup-ul

Am lasat la urma backup-ul deoarece aceasta componenta este de multe ori ignorata sau tratata cu neatentie. In general, constientizarea acestei probleme apare in urma unei caderi hardware de pe urma careia nu se mai pot recupera datele. V-ati gandit vreodata ce se poate intampla daca 'pica' discul de la baza de date si cel mai nou back-up este vechi de o saptamana?

Din fericire, exista programe Linux capabile sa faca salvari incrementale si totale de pe mai multe statii, pe benzi si discuri. Amanda, de la Universitatea Maryland, semneaza electronic fiecare banda si poate imprima etichete cu aceasta semnatura. Programul tine o baza de date cu toate caracteristicile fisierelor salvate si locul (numarul benzii) unde sunt salvate. In cazul in care dorim sa restauram unul sau mai multe fisiere, programul ne indica ce banda sa introducem in unitate, el urmand sa puna fisierul automat la locul sau. In afara de aceste facilitati, produsele comerciale asigura o viteza mai mare de arhivare si uneori mecanisme de restaurare a informatiei in cazul unor suporturi magnetice deteriorate. Cele mai cunoscute produse pentru backup disponibile pe Linux sunt BRU si Arkeia.

Avantajele configuratiei

In primul rand, toate configuratiile se tin intr-un singur loc, nu trebuie sa distribuim fisiere cu parole pentru pop3 sau ftp de fiecare data cand un client isi schimba parola. Totul este intr-un singur loc, interfata folosita este comuna (MySQL direct sau PAM), deci este usor de administrat. Facilitatea postfix-ului de a putea sa foloseasca in locul clasicelor tabele virtusertable, domaintable, access o baza de date sau un server LDAP creste flexibilitatea ansamblului. Totul este intr-un singur loc.

Dezavantajele

Dezavantajul major este posibilitatea ca baza de date sa nu fie disponibila. Aceasta se poate remedia daca folosim doua servere de baze de date, identice, si configuram programele client sa le interogheze pe rand. In felul acesta se realizeaza si o balansare intre serverele de baze de date.

Software-ul folosit (Linux + MySQL) este deosebit de robust, de aceea cazurile de cadere ale sistemului sunt extrem de rare, iar cand acestea apar, este din cauza unor probleme hardware (caderi de discuri, de cele mai multe ori).

Securitatea, o problema?

Doi. Doi este numarul de virusi pentru Linux cunoscuti la ora actuala (dupa enciclopedia AVP, https://www.avp.ru), dar si acestia nu sunt decat niste jucarii, teste. Datorita mecanismelor de protectie eficiente, Linux-ul este imun la virusi, orice virus nefiind in stare sa infecteze decat programele asupra carora utilizatorul care a lansat programul 'bolnav' are drept de scriere. Acesta este unul dintre motivele pentru care o mare parte din sistemele Linux sunt folosite pe post de servere de fisiere (exportand cu Samba) si posta. Au aparut chiar antivirusi pentru Linux, dar ei nu verifica integritatea sistemului Linux, ci a fisierelor pe care acesta le serveste clientilor Windows, prin Samba, ftp sau E-mail. Exista plug-in-uri pentru sendmail si postfix care fac scanarea automata a mesajelor E-mail care trec prin server.

Totusi, absenta virusilor nu inseamna neaparat ca sistemul este absolut sigur. Programele care ruleaza pe aceste masini sunt facute tot de oameni, care uneori gresesc, cand gresesc apar bug-urile, cand exista bug-uri pot sa apara exploit-uri (programe prin intermediul carora o persoana neautorizata poate altera sau obtine date sau privilegii la care nu are acces in mod normal). Cand exista bug-uri apar versiuni noi de programe, versiuni care se straduiesc sa elimine vechile probleme fara sa introduca altele noi.

Marele avantaj al Linux-ului, din acest punct de vedere, este ca oricine poate sa scrie un patch pentru un anumit bug si sa il publice pe Internet. Bineinteles, introducerea respectivului patch sau realizarea unuia mai bun ramin la latitudinea autorilor.

Cum ne protejam sistemele?

Folosind firewalls! Pentru a ne proteja, nu este suficient sa avem un kernel compilat pentru firewall-ing si ipchains pe masina. Trebuie sa oprim tot ceea ce nu este necesar. De exemplu: pe un server de posta trebuie sa fie accesibile numai porturile de smtp si ident, eventual clientul pentru back-up, desi acesta se poate porni din cron in intervalele cand se face backup-ul, masina nu va putea sa deschida nici un port in afara, pe TCP, iar pe UDP numai portul 53, pentru interogari DNS spre namserver-ul local.

Daca doriti ca masina sa poata fi administrata de la distanta, cea mai buna solutie este instalarea unui server de ssh, pentru care limitam accesul numai la masinile pentru administrare. O solutie un pic mai 'paranoica', dar cu rezultate foarte bune, este folosirea de one-time-passwords.

Integritatea fisierelor sistem poate fi verificata folosind Tripwire.

Linux-ul ca router

Daca doriti sa va faceti router dintr-un Linux, aveti la dispozitie doua programe, gated, de la Merit, si zebra, din cadrul proiectului GNU. Zebra are cateva avantaje fata de gated cum ar fi: implementarea BGP4 foarte buna, interfata asemanatoare cu a routerelor Cisco, stabilitate superioara, suport activ. La capitolul probleme, trebuie sa mentionez ca suportul OSPF din zebra este beta si incomplet.

Ce hardware folosim?

Nimic exceptional, un server de posta foarte bun pentru circa 40 de utilizatori poate fi un Pentium vechi cu 32MB RAM sau 64. Performantele modeste ale sistemului nu afecteaza decat viteza cu care ajung mesajele la destinatie.

In cazul in care doriti performanta, puteti opta pentru masini puternice, mai ales pentru serverele de autentificare si baze de date. Un dual PIII la 450Mhz cu 256MB RAM si 17GB RAID 5 Mylex, cu Oracle Standard Edition 8.0.5 si Radiator 2.15, poate autentifica pana la aproape 20 de cereri de RADIUS pe secunda. Aceste cereri presupun procesarea de pachete de accounting si autentificare, inregistrarea cererilor in log-uri, criptarea parolei furnizate de client si compararea acesteia cu cea martor din baza de date.

Un sistem Pentium la 166 cu 96MB RAM trimite zilnic peste 2500 de mesaje, cu varfuri de 10.000, si in acelasi timp mai serveste si pagini de web si fisiere prin ftp.

Un PII la 350 cu 256MB RAM este o masina foarte puternica, suporta peste 3000 de conturi de POP3, cu peste 10000 de mesaje pe zi, fara sa aiba o incarcare mai mare de 0.15.

Un lucru foarte important: nu este necesar sa existe cate o masina pentru fiecare serviciu.

La inceput, un ISP incepe cu o singura masina care face tot ce are nevoie. Masina contine o placa multiport, gen Cyclades, eventual si o placa sincrona, si merge. Parolele sunt tinute in fisierul /etc/passwd, iar informatiile de facturare despre clienti sunt tinute in fisiere Excel. Acest scenariu poate sa suporte cateva zeci, poate sute de utilizatori. Apoi masinile se separa. In general, ramane o masina pentru posta, nameserver si acces, si una pentru web, ftp si nameserver secundar. Urmatoarea masina care va aparea este cea pentru autentificare, responsabila si cu baza de date.

Mai multe informatii?

Cel mai rapid, informatiile se gasesc in paginile de manual sau in documentatie (info nume_program sau in directorul /usr/doc/ nume_program_versiune). Atentie, la Red Hat 6.2 aproape toata documentatia vine pe un alt CD. Daca documentatia nu v-a ajutat, incercati sa cautati pe Internet. Daca nu gasiti pe Internet, intrebati J.

Dupa decembrie '89, ca sa folosesc o formula consacrata, in tara noastra au aparut cateva grupuri care isi propun sa sprijine activ Linux-ul si programele Open Source in Romania. Printre acestea se numara si Grupul Utilizatorilor Romani de Linux (aparut in toamna trecuta). In esenta, activitatea grupului se rezuma la cateva liste de discutii (pentru informatii trimiteti 'help' la listar@lug.ro), un site de web (https://www.lug.ro) si citeva site-uri de ftp, prin intermediul carora se face schimb de experienta si software, evident, pentru Linux.

Si totusi, de ce Linux la ISP?

Pentru ca Linux-ul este un sistem robust si sigur, nu are nevoie de resurse hardware prea mari si este complet accesibil sub forma de surse. Toate programele de care are nevoie un ISP se gasesc pe Linux, aceste programe sunt foarte fiabile, performante si usor de configurat. In cazul in care nu am reusit sa va conving, va stau la dispozitie pentru orice fel de amanunte.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.