Pereiti prie turinio

ignasr

Nariai
  • Pranešimai

    4
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

Reputacijos išklotinė

  1. Patinka
    ignasr gavo reakciją nuo BruceW TEO mail relay tutorial   
    Sveiki, galiu parašyti totorial'a kaip paruošti linux serverį, kad jis galėtų siųti el. laiškus per Teo SMTP serverį (tam žinoma reikia būti TEO klientu).
     
    Jums tai būtų įdomu? :)
     
    Aprašysiu kaip naudotis Teo SMTP serveriu laiškų siuntimui (ne gavimui). Zebra klientai turi galimybę nemokamai išsiųsti 1000 laiškų/mėn. Kodėl negalima siųsti laiškų tiesiai kitiems pašto serveriam? Todėl, kad beveik garantuotai tokie laiškai bus palaikyti brukalu, arba nebus iš vis priimami.
    Konfigūruosiu šviežiai instaliuotą CentOS6. Kai bus baigta, laiškai bus siunčiami tokiu keliu:
     
    (CentOS Linux) ---> (smtp.zebra.lt) ----> (kiti SMPT servai: google, yahoo ir t.t.)
    smarthost relayhost
     
    Kad šitai suveiktų, reikia:
    - turėti kokį nors domeną, nukreiptą į IP adresą, už kuriuo bus konfigūruojamas šis linux pašto servas (užtenka ir tik MX įrašo nukreipimo į šitą IP).
    - turėti priėjimą prie manoteo.lt savitarnos.
    - turėti realų arba virtualų CentOS kompą.
    - mokėti nukreipti portus jei servas stovės už ugniasienės (http://portforward.com/).
     
    Aš naudosiuosi domenu 'manodomenas.lt', o iš šio serverio išsiųsti laiškai atrodys kaip gauti nuo '[email protected]'.
     
    Šis aprašymas susideda iš tokių dalių:
    1. Minimalus Linux konfigūravimas laiško gavimui. To reikia, kad TEO galėtų atsiųsti vieną patvirtinimo laišką, mums jo reikės registracijai užbaigti.
    2. Pašto adreso registravimas www.manoteo.lt svetainėje.
    3. Linux konfigūravimas laiškų siuntimui. Jeigu norėsite pajungti daugiau serverių, kartoti reiks tik šitą punktą.
     
    1. MINIMALUS CENTOS KONFIGŪRAVIMAS LAIŠKO GAVIMUI
     
    Instaliuojame CentOS ir keletą naudingų paketų, atnaujiname:

    [root@localhost ~]# yum install mailx man -y [root@localhost ~]# yum update -y
     
    Norėdami priimt laišką adresu [email protected], sukuriame naudotoją 'pastas':

    # adduser pastas
     
    Kartu su CentOS6 instaliuojamas ir postfix. Nuo jo konfigūravimo ir pradedame:

    # cd /etc/postfix # cp main.cf main.cf.orig # vi main.cf
     
    Surandam šiuos parametrus ir atkomentuojam arba pakeičiam juos maždaug taip:

    myhostname = manodomenas.lt mydomain = manodomenas.lt local_recipient_maps = unix:passwd.byname $alias_maps mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mail.$mydomain, www.$mydomain, ftp.$mydomain
     
    Perkrauname postfix:

    # postfix reload
     
    Išbandome ar nueina vietinis paštas. Siunčiame laišką nuo 'root' vartotojui 'pastas':

    # mail pastas Subject: bandymas bandymas . <-- čia yra taškas EOT #
     
    Tikrinames vartotojo 'pastas' pašto dėžę:

    # su - pastas $ mail
     
    Turi parodyti kažką panašaus:

    >N 1 root Wed Sep 14 20:05 18/538 "bandymas"
     
    Galim paspaust 1 ir enter, atidaromas laiškas:

    & 1 Message 1: From [email protected] Wed Sep 14 20:05:34 2011 Return-Path: <[email protected]> ... From: [email protected] (root) Status: R bandymas &
     
    Išeinam iš pašto ir iš naudotojo 'pastas':

    & q $ exit
     
    Jeigu (bet kuriuo metu) problemos su laiškų pristatymu, reikia tikrinti /var/log/maillog failą. Jo gale rašomi naujausi pranešimai/klaidos.
     
    Jeigu serveris prie interneto prijungtas per NAT, nukreipiam (port forward) TCP 25 portą į jį. Čia nerašysiu kaip tai padaryti.
     
    Savo pašto serve atidarom 25 portą:

    # iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
     
    Jeigu servą perkrausite, šitą komandą reiks pakartoti. Specialiai nerodau kaip išsaugoti iptables lenteles. Jeigu spameriai atras jūsų šitą SMTP servą, pradės per jį siuntinėti, ir turėsite problemų.
     
    Patikrinam:

    # iptables -L -nv
     
    Sąrašo viršuje turi matytis maždaug toks įrašas:

    0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
     
    Perkraunam postfix:

    # service postfix restart
     
    Su komanda

    # netstat -taup
    ..patikrinam kad būtų maždaug tokia eilutė (svarbiausia '*:smpt'):

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:smtp *:* LISTEN 1447/master
     
    Jei viskas kaip turi būti, tikrinam (geriausia iš kito kompo), ar pasiekiamas šviežias SMTP serveris:

    $ nc www.manodomenas.lt 25
    Jeigu matom maždaug

    220 manodomenas.lt ESMTP Postfix
    ..spaudžiam ctrl+c ir nusprendžiam, kad viskas veikia :)
     
    Galite dar iš kokios nors pašto dėžutės atsisiųsti laišką į [email protected], ir su naudotoju 'pastas' pasitikrinti ar jis tikrai atėjo (aukščiau parašyta kaip tai padaryti). Tada jau bus viskas kas tik įmanoma patikrinta. Galima tikėtis kad toliau esančių žingsnių nereiks kartoti keletą kartų :)
     
    2. PAŠTO ADRESO REGISTRAVIMAS TEO SISTEMOJE
     
    Keliaujam į https://www.manoteo.lt/ --> Paslaugų užsakymas --> Kitos paslaugos --> Zebra paštas --> SMTP valdymas
    Spaudžiam 'Prijungti el. p. adresą'.
    Įvedam '[email protected]'.
    Susigalvojam sisteminį slaptažodį. Jį vėliau reiks įrašyti į mūsų servo konfigūraciją.
    Spaudžiam OK ir gaunam pranešimą kad registracijos patvirtinimo laiškas išsiųstas.
     
    Grįžtam į naujo servo kosolę, jei esam 'root', patampam naudotoju 'pastas' ir tikrinamės savo dežė:

    # su - pastas $ mail
     
    Turėtų matytis kažkas panašaus:

    N 8 MANO TEO Thu Sep 15 00:13 64/3090 "Zebra SMTP dėžutės patvirtinimas"
    Spaudžiam numeriuką ir skaitom:

    & 8
     
    Laiško tekste bus nuoroda, kurią reiks nukopijuoti į naršyklę. Turi parodyti pranešimą kad adresas sėkmingai užregistruotas.
     
    3. LINUX KONFIGŪRAVIMAS LAIŠKŲ SIUNTIMUI
     
    Instaliuojame papildomą autentifikacijos mechanizmą:

    # yum install cyrus-sasl cyrus-sasl-plain -y
     
    Konfigūruojam postfix:

    # cd /etc/postfix/ # vi main.cf
     
    Atkomentuojame arba pridedame tokias eilutes:

    myorigin = $mydomain relay_domains = relayhost = [smtp.zebra.lt]:587 smtpd_sasl_auth_enable = yes smtpd_sasl_path = smtpd smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_type = cyrus smtp_sasl_auth_enable = yes smtp_cname_overrides_servername = no smtp_sasl_security_options = noanonymous
     
    Kataloge /etc/postfix sukuriam failiuką sasl_passwd:

    # cd /etc/postfix # vi sasl_passwd
     
    Jame įrašome vieną eilutę:

    [smtp.zebra.lt]:587 [email protected]:slaptazodis
     
    'slaptazodis' pakeičiate į tai ką įvedėte manoteo.lt.
     

    # chmod 700 sasl_passwd # postmap hash:/etc/postfix/sasl_passwd # postmap -q [smtp.zebra.lt]:587 /etc/postfix/sasl_passwd [email protected]:slaptazodis
     
    Paskutinė komanda turi išmesti jūsų registruotą pašto adresą ir slaptažodį, kaip parodžiau eilute aukščiau.
     
    Bandom siųsti laišką iš dabar jau tikiuosi veikiančio servo:

    # echo testas3 | mail -s testas3 -r [email protected] [email protected]
     
    Pasitikriname [email protected], jei laiškas atkeliavo, perkrauname linux serverį ir pasiplojam sau, priimam aplinkinių sveikinimus :)
     
    Jei neatkeliavo, tikrinam /var/log/maillog.
     
    Del visa ko padarom kad niekas negaletu prisijungti vardu 'pastas'. Faile /etc/passwd susirandam naudotojo 'pastas' įrašą

    pastas:x:500:500::/home/pastas:/bin/bash
    ir /bin/bash pakeičiam į /sbin/nologin, kad atrodytų taip:

    pastas:x:500:500::/home/pastas:/sbin/nologin
     
    Dėkui už gerus atsiliepimus/reputaciją ;)
     
    --
    ignasr
×
×
  • Pasirinkite naujai kuriamo turinio tipą...