Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   





Clic aici
PC Magazine





Soluții - PC Magazine Romania, Iulie 2004

În grădina lui Wietse

Răzvan Sandu

Motto:

"P.S. Dragă Emile, cred că-ți aduci aminte de scrisoarea trimisă acum câțiva ani, prin care te rugam să cumperi camera de lângă Cișmigiu, ca să nu mor chiriaș la stat. Acum, când perspectiva morții mă preocupă mai mult ca altădată, revin cu aceeași rugăminte, pentru a avea și tu, când te vei fi întorcând la București, un acoperiș".

Petre Țuțea - scrisoare către Emil Cioran, 3 martie 1991
Din volumul "Între Dumnezeu și Neamul meu"

La ultima noastră întâlnire, vă vorbeam despre importanța e-mail-ului ca serviciu al Internet-ului și vă arătam câteva măsuri care pot fi luate pentru filtrarea mesajelor nedorite. Astăzi voi încerca să aduc discuția la un nivel practic, de detaliu, pentru aceia dintre voi care au nevoie "din plin" de poșta electronică.

Hello, îmi dai numărul tău de telefon?

Știu că despre configurarea unui server de e-mail am mai discutat. Totuși, având în vedere complexitatea subiectului (și numărul enorm de servere configurate greșit care există pe Internet J) cred că unele precizări sunt strict necesare pentru ca discuția noastră să vă fie de folos cu adevărat.

Mai întâi, să ne imaginăm un scenariu clasic: o mașină Linux, dotată cu o placă de rețea Ethernet, conectată direct la Internet printr-o conexiune cu adresă IP fixă (de obicei, cablu CATV, fibră optică etc.) și un domeniu Internet oarecare, example.com.

Prima condiție, absolut necesară, pentru ca mașina noastră să fie server de mail pentru domeniul dat este ca ea să fie declarată în DNS ca atare - deci, rolul ei să fie cunoscut calculatoarelor din lumea întreagă. Tehnic, acest lucru se face introducând o înregistrare de tip MX în baza de date a DNS.

Puteți verifica ce servere de mail sunt declarate pentru domeniul example.com folosind utilitarele nslookup sau dig:

[root@mail root]# nslookup
> server 193.211.239.17
Default server: 193.211.239.17
Address: 193.211.239.17#53
> set q=MX
> example.com
Server: 193.211.239.17
Address: 193.211.239.17#53
example.com mail exchanger = 10 mail.example.com.
example.com mail exchanger = 20 mx.example.com.

În cele de mai sus, am interogat serverul DNS al furnizorului meu de Internet pentru a afla care sunt serverele de e-mail declarate pentru domeniul example.com (output-ul a fost intenționat modificat…). Am aflat că este vorba de două mașini, mail.example.com și mx.example.com. Cifrele arată precedența mașinilor: prima, cea cu precedență mai mică, 10, primește poșta în mod implicit, iar cealaltă numai dacă prima devine nefuncțională. Desigur, putem continua interogarea ca să aflăm și adresele IP ale acestor două mașini.

Presupun, deci, că ați aranjat cu ISP-ul ca mașina dvs. să fie declarată server de e-mail pentru domeniul dat. În felul acesta, mesajele destinate tuturor utilizatorilor care au adresa de e-mail în domeniu (@example.com) vor sosi aici (în căsuțe de e-mail special prevăzute).

Odată primite, mesajele e-mail vor fi preluate de programul-server de mail (MTA). El efectuează, încă de la început, unele verificări și apoi distribuie poșta sosită în căsuțele de mail ale fiecărui utilizator (folosind un alt program, cum ar fi procmail) sau o retrimite altor mașini, aflate la distanță. În primul caz, este puțin probabil ca fiecare utilizator din domeniul example.com să poată avea acces direct la mailbox-ul propriu de pe server. Cei mai mulți vor dori să-și descarce mesajele primite de pe acesta pe stațiile proprii (probabil, mașini Windows), cu un client de e-mail cum ar fi Outlook Express. Programul care face acest lucru este un server POP3 sau IMAP, cum ar fi dovecot sau courier-imap. În fine, dacă serverul vostru are mulți utilizatori, veți dori să aveți un program specializat de gestiune a userilor, cu care să puteți adăuga și șterge căsuțe, schimba parole etc. Soluția ar putea fi postfixadmin, vpopmail sau vadmin.

Iată că "banalul" server de e-mail trebuie să ruleze cel puțin două programe complexe:

Poștașul fără bicicletă

Pentru un sistem Red Hat sau Fedora standard, înainte de a începe configurarea, asigurați-vă că Postfix este prezent și activ: utilitarul redhat-switch-mail, care a fost redenumit în Fedora Core 2 system-switch-mail, vă permite să "comutați" între sendmail, postfix și (în Fedora 2) exim. Bineînțeles, este necesar ca pachetele .rpm respective să fi fost instalate (bifate) odată cu întregul sistem sau adăugate ulterior. Verificați dacă serviciul "postfix" este bifat și în lista prezentată de utilitarul ntsysv; pentru orice eventualitate, faceți:

[root@mail root]# service postfix restart

Configurarea Postfix se face în câteva fișiere text, aflate în /etc/postfix, dintre care cel mai important este /etc/postfix/main.cf. Citind cu atenție bogatele comentarii cuprinse în acest fișier (care îi aparțin chiar autorului, Wietse Venema) începeți să vă faceți o idee asupra sarcinii pe care o aveți de îndeplinit. Pentru o configurare minimală, este absolut necesar să setați cel puțin valorile următorilor parametri (cele arătate mai jos sunt un exemplu):

# numele complet (FQDN) al mașinii
myhostname = mail.example.com
# numele domeniului căruia ii aparține mașina
mydomain = example.com
# "terminația" care va apărea în
e-mail-urile trimse
myorigin = $mydomain
# domeniile pentru care se admite trimiterea
e-mail-ului
# dacă aveți mai multe domenii găzduite pe aceeași
mașină (domenii virtuale),
# NU trebuie să includeți și $mydomain
mydestination = localhost localhost.$mydomain
$myhostname $mydomain
# rețelele autorizate, din care se acceptă
trimiterea e-mail-ului către orice destinație
# presupun că rețeaua 192.168.20.0 e rețeaua
voastră locală
mynetworks = 127.0.0.0/8 192.168.10.0/24
# destinațiile permise pentru cei care nu fac
parte din $mynetworks
relay_domains = $mydestination
# adresa mașinii (de la ISP) căreia i se vor
înainta mail-urile trimse
relayhost = [mail.isp.ro]
# interfețele pe care "ascultă" Postfix
inet_interfaces = all
# adresa IP EXTERNA a routerului/gateway-ului/
firewall-ului, dacă
# serverul de mail se găsește "în spatele"
unei mașini care face NAT/masquerading
proxy_interfaces = 1.2.3.4
# unde se găsesc e-mailurile de procesat ?
mail_spool_directory = /var/spool/mail
# unde se găsește baza de date cu alias-uri ?
alias_database = hash:/etc/postfix/aliases

După ce ați setat toți acești parametrii și ați salvat fișierul /etc/postfix/main.cf, nu uitați să reporniți postfix-ul folosind comanda:

[root@mail root]# postfix reload

Se poate ceva mai simplu?☺

Rămâne să luați câteva decizii importante despre serverul vostru de e-mail:

Stabiliți cine va primi e-mail-urile de avertizare administrativă. Puneți în fișierul /etc/postfix/aliases:

postmaster:	root
webmaster: root
abuse: root
root: [email protected]

După ce ați modificat fișierul /etc/postfix/aliases, nu uitați să îl "compilați" cu comanda:

[root@mail root]# newaliases

Mail-urile sosite vor fi "atașate" la sfârșitul unui unic fișier text (metoda standard Unix) sau se vor stoca ca fișiere separate într-un director? Setați parametrul:

home_mailbox = Mailbox		respectiv
home_mailbox = Maildir/

Uneori, este preferabilă a doua metodă - dar, atenție, s-ar putea să aveți unele limitări dacă, mai târziu, veți dori să impuneți o cotă maximă de disc (spațiu ocupat) utilizatorilor voștri.

Utilizatorii vor avea adrese standard, de tipul [email protected]? Aceasta este practica frecventă în orice companie mare. Dacă nu veți folosi domenii virtuale (așa cum vă voi arăta mai jos), trebuie să creați fișierul /etc/postfix/canonical:

rsandu            [email protected]
gigi [email protected]
blondasexy alexandra.dumitrescu@bucuresti.
example.com
root [email protected]

În prima coloană, sunt listate numele de login ale diverșilor utilizatori, iar în a doua adresa lor reală. Fișierul trebuie "compilat":

[root@mail root]# postmap /etc/postfix/canonical

Și trebuie să adăugați în /etc/postfix/main.cf parametrii:

# neapărat în această ordine, de la stânga la 
dreapta
masquerade_domains = bucuresti.example.com
example.com
canonical_maps = hash:/etc/postfix/canonical

Pe măsură ce numărul utilizatorilor de pe serverul vostru crește, veți fi din ce în ce mai puțin dispuși să creați câte un cont Unix pentru fiecare persoană. Este bine să prevedeți din start folosirea domeniilor și a utilizatorilor "virtuali". Acest lucru înseamnă că:

  • pe mașina în cauză vor putea fi găzduite un număr mare de domenii de tipul example.com
  • persoanele nu mai sunt utilizatori Unix standard, fiecare cu contul lui "complet", ci sunt reprezentate doar prin simple mailbox-uri nominale (de obicei directoare) în care se stochează mesajele primite
  • utilizatorul poate avea mailbox-uri diferite în domenii diferite

Citind documentația Postfix, vă atrag atenția asupra confuziei, foarte ușor de făcut, între "domenii virtuale" (virtual domains) și "utilizatori virtuali" (virtual mailboxes). Domeniile virtuale arată că toți utilizatorii definiți, în, să zicem, example.com, vor putea avea același nume și în exemplu.com sau în altexemplu.net. Metoda utilizatorilor virtuali vă oferă maximum de flexibilitate: un utilizator poate apărea ca [email protected], [email protected] și [email protected], fără ca mesajele primite de el să se amestece (se păstrează în mailbox-uri total separate). Discuția despre aceste două moduri de a configura Postfix este mult mai lungă și spațiul nu îmi permite să o detaliez aici; voi spune numai că parametrii care controlează comportarea serverului sunt mydestination (care NU trebuie să listeze numele domeniilor virtuale), virtual_alias_domains și virtual_alias_maps, respectiv virtual_mailbox_domains, virtual_mailbox_base și virtual_mailbox_maps. Amănunte puteți găsi la http://www.postfix.org/VIRTUAL_README.html

O altă facilitate oferită de Postfix este faptul că se pot redirecționa foarte simplu adrese: cu ajutorul parametrului:

virtual_alias_maps = hash:/etc/postfix/virtual

se pot face mapări de genul:

[email protected]		[email protected]
[email protected] irina.ionescu@alt
domeniu.net

Pentru utilizatorii care au plecat din firmă sau pentru domnișoarele care și-au schimbat numele (și adresa de e-mail) prin căsătorie J, Postfix informează expeditorii despre schimbarea de adresă. Este suficient să setați parametrul:

relocated_maps = 
hash:/etc/postfix/
relocated

și să scrieți în fișierul /etc/postfix/relocated vechea adresă și cea nouă:

[email protected]
[email protected]

Încheiere

Sper că am reușit să vă ofer un minim de informație de la care să puteți porni configurarea unui server de mail pentru firma voastră. În numerele viitoare, voi avea ocazia să vă arăt ce se întâmplă cu e-mailul odată ce a ajuns pe server (adică partea ce ține de protocoalele POP3 și IMAP).

Până atunci, vă urez succes și răbdare în studiul documentației de la www.postfix.org și vă aștept cu întrebări la [email protected].


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2004 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro