Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Din cauza spamerilor se poate intampla ca IP-ul principal al serverului sa fie listat intr-un blacklist public iar de aici pot aparea probleme de livrare a mesajelor. In general delistarea poate dura de la cateva ore pana la doua saptamani – sau chiar mai mult in cazul blacklisturilor neintretinute. Solutia cea mai simpla pentru rezolvarea problemei e schimbarea IP-ului principal al serverului cu un alt IP pentru livrarea mesajelor. Cum primirea mesajelor nu va fi afectata deloc putem considera ca este o solutie provizorie foarte buna.

Pe serverele care folosesc cPanel ca sistem de gestiune, serverul Exim citeste IP-ul de pe care trimite mesajele din fisierul /etc/mailips in care IP-urile sunt pastrate pe linii individuale dupa modelul:

exemplu1.ro: 1.2.3.4
exemplu2.ro: 1.2.3.4
exemplu3.ro: 1.2.3.5

Astfel se pastreaza o asociere intre numele domeniului si IP-ul de pe care se face livrarea. Daca pentru un domeniu schimbam IP-ul, livrarea se va face de pe IP-ul specificat. In cazuri exceptionale, cum ar fi listarea IP-ului principal al serverului intr-un blacklist, putem adauga o lista de asociere cu toate domeniile gazduite iar la IP trecem un IP secundar.

Daca IP-ul care il vom folosi pentru livrarea provizorie este 4.5.6.7 putem folosi urmatorul script in Perl pentru a genera lista de domenii si IP-uri:

#!/usr/bin/perl
#
 
my @lista; # Aici pastram lista domeniilor
my $ip = '4.5.6.7';
 
open( DOMENII,'/etc/trueuserdomains' ); # De aici luam lista cu domenii
while( <domenii> ) {
    my($domeniu,undef) = split(/:/);    # Citim doar domeniul
    push( @lista, $domeniu);            # Adaugam domeniul in @lista
}
close( DOMENII ); # Inchidem fisierul
 
print "$_: $ipn" foreach( @lista );    # Afisam
</domenii>

Salvati scriptul in fisierul /root/mailips.pl. Dupa ce inlocuiti IP-ul din script cu IP-ul secundar setati permisiunile 755 pe script iar apoi rulati scriptul si redirectati totul spre fisierul /etc/mailips:

[root@localhost]# chmod 755 /root/mailips.pl
[root@localhost]# /root/mailips.pl > /etc/mailips

Acum toate mesajele vor fi livrate de pe adresa secundara.

Daca nu va place metoda specificata mai exista o solutie si anume modificarea fisierul /etc/exim.conf, fisier care pastreaza directivele de configurare a serverului Exim. Deschideti fisierul cu un editor de text si cautati linia care incepe cu remote_smtp:. Ar trebui sa arate in felul urmator:

remote_smtp:
  driver = smtp
  interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
  helo_data = ${if exists {/etc/mailhelo}{${lookup{$sender_address_domain}lsearch*{/etc/mailhelo}{$value}{$primary_hostname}}}{$primary_hostname}}

Linia „interface =” e cea care ii spune serverului Exim sa caute in fisierul /etc/mailips IP-ul care va fi folosit pentru trimiterea de mesaje. Daca inlocul sirului adaugam adresa IP secundara, toate mesajele vor fi livrate de pe IP-ul specificat. Puteti face modificarea si apoi sa restartati serverul Exim. Trebuie totusi sa aveti in vedere ca cPanel are obiceiul de a rescrie fisierul /etc/exim.conf dupa update-uri. Deci dupa fiecare update de cPanel sau Exim va trebui sa refaceti modificarea.

Mail

3 Responses so far.

  1. Zoltan Zsabo says:

    Nota 10 pentru tutorial. Multumim! 🙂

  2. Sergiu Tot says:

    Merci de apreciere! Ma bucur ca pot fi de folos 🙂

  3. Zoltan Zsabo says:

    Ar fi de adaugat ca pentru a preveni suprascrierea exim.conf la cpanel update sa se ruleze comanda: #chattr +aui /etc/exim.conf

    Numai bine!

    Zoli