Skocz do zawartości

sbl

Użytkownicy
  • Zawartość

    6
  • Rejestracja

  • Ostatnio

Posty napisane przez sbl


  1. Pozwolę sobie odkopać ten temat.

     

    Pisałem kiedyś na Google+ o terminalu, który przerobiłem na serwer do domu.

    Sprawuje się świetnie, pracuje 24/h już 3 miesiąc, polecam.

    Koszt takiego czegoś to jakieś 150 zł + przejściówka na SATA (15zł) + dysk SATA (ja mam 500GB z laptopa).

    Więc całość montażu tego zestawu, wraz z instalacją nie zajęła mi więcej niż godzinę bo całość zamówiłem sobie wcześniej z Allegro.

     

     

    http://blog.wos.in/2011/02/tani-domowy-bezglosny-i-energoszczedny-serwer-podejscie-pierwsze/


  2. Skoro masz jedynie klienckie submission, to jak zewnętrzne serwery smtp (które gadają z sobą TYLKO po porcie 25) mają się do ciebie podłączyć?

    A poza tym - to na porcie 587 powinna być bezwzględna autoryzacja smtp dla każdego. Więc mail from cos@wp.pl powinien zostać odbity.

     

    Dodałem port 25 dla smtpd w master.cf, teraz config wygląda następująco a maile dochodzą bez problemu.

    Tylko jak wymusić autoryzację na porcie 587?

    pickup    fifo  n       -       -       60      1       pickup
    cleanup   unix  n       -       -       -       0       cleanup
    qmgr      fifo  n       -       n       300     1       qmgr
    tlsmgr    unix  -       -       -       1000?   1       tlsmgr
    rewrite   unix  -       -       -       -       -       trivial-rewrite
    bounce    unix  -       -       -       -       0       bounce
    defer     unix  -       -       -       -       0       bounce
    trace     unix  -       -       -       -       0       bounce
    verify    unix  -       -       -       -       1       verify
    flush     unix  n       -       -       1000?   0       flush
    proxymap  unix  -       -       n       -       -       proxymap
    proxywrite unix -       -       n       -       1       proxymap
    smtp      unix  -       -       -       -       -       smtp
    relay     unix  -       -       -       -       -       smtp
    	-o smtp_fallback_relay=
    showq     unix  n       -       -       -       -       showq
    error     unix  -       -       -       -       -       error
    retry     unix  -       -       -       -       -       error
    discard   unix  -       -       -       -       -       discard
    local     unix  -       n       n       -       -       local
    virtual   unix  -       n       n       -       -       virtual
    lmtp      unix  -       -       -       -       -       lmtp
    anvil     unix  -       -       -       -       1       anvil
    scache    unix  -       -       -       -       1       scache
    maildrop  unix  -       n       n       -       -       pipe
      flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
    uucp      unix  -       n       n       -       -       pipe
      flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
    ifmail    unix  -       n       n       -       -       pipe
      flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
    bsmtp     unix  -       n       n       -       -       pipe
      flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
    scalemail-backend unix	-	n	n	-	2	pipe
      flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
    mailman   unix  -       n       n       -       -       pipe
      flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
      ${nexthop} ${user}
    dovecot  unix   -       n       n       -       -       pipe
      flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
    587	inet	n	-	n	-	-	smtpd
    25	inet	n	-	n	-	-	smtpd
    
    

  3.  

    Czy sprawdzałeś to z całkiem zewnętrznego serwera ?

    Sprawdź ten port telnet moja.domena.pl 25

     

    i wykonaj całą sesję

    ehlo wp.pl
    mail from: <test@wp.pl>
    rcpt to: <twoj_user@twojadomena.pl>
    data
    Subject: test
    test
    .
    
    
    

     

     

    Tak, wykonuję telnet z zewnętrznego serwera, oraz u mnie SMTP jest na porcie 587 więc na 25 refused.

    Tak więc, mail wysłany z telneta doszedł prawidłowo, hmm nie wiem co może być nie tak.

     

    telnet mail.mojadomena.pl 587
    Trying x.x.56.x...
    Connected to mail.mojadomena.pl.
    Escape character is '^]'.
    220 mail.mojadomena.pl ESMTP Postfix
    ehlo wp.pl
    250-mail.mojadomena.pl
    250-PIPELINING
    250-SIZE 30720000
    250-VRFY
    250-ETRN
    250-STARTTLS
    250-AUTH LOGIN PLAIN
    250-AUTH=LOGIN PLAIN
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250 DSN
    mail from: <test@wp.pl>
    250 2.1.0 Ok
    rcpt to: <hello@mojadomena.pl>
    250 2.1.5 Ok
    data
    354 End data with <CR><LF>.<CR><LF>
    Subject: test
    test
    .
    250 2.0.0 Ok: queued as 9855E9C0FB
    quit
    221 2.0.0 Bye
    Connection closed by foreign host.
    

  4. 1. Czy nasłuchuje postfix na zewnętrznym IP ?

    2. Firewall przepuszcza ruch ?

    3. telnet z jakiegkolwiek innego serwera na port smtp ?

    4. rekord MX ?

     

    Firewall jest wyłączony.

    Rekord MX poprawnie ustalony w DNS

    Gdzie sprawdzić nasłuchiwanie postfixa?

    mojadomena.pl.		21600	IN	MX	10 mail.mojadomena.pl.
    
    applemac:~ sbl$ telnet mail.mojadomena.pl 587
    Trying x.x.56.x...
    Connected to mail.mojadomena.pl.
    Escape character is '^]'.
    220 mail.mojadomena.pl ESMTP Postfix
    ehlo localhost
    250-mail.mojadomena.pl
    250-PIPELINING
    250-SIZE 30720000
    250-VRFY
    250-ETRN
    250-STARTTLS
    250-AUTH LOGIN PLAIN
    250-AUTH=LOGIN PLAIN
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250 DSN
    
    applemac:~ sbl$ telnet mail.mojadomena.pl 143
    Trying x.x.56.x...
    Connected to mail.mojadomena.pl.
    Escape character is '^]'.
    * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.
    

  5. Skonfigurowałem sobie Postfixa i Dovecota z użyciem kont wirtualnych trzymanych w MySQL.

    Standardowo wg hwoto, postępowałem krok po kroku.

    Autoryzacja za pomocą SASL, maile wysyłane są poprawnie do wszystkich serwerów pocztowych.

    Natomiast problem pojawia się gdy chcę otrzymać jakiś email.

    Wysłany np, z GMail do mojej skrzynki (w domenie postfixa) nie dochodzi, nie ma go w tmp Maildir, nie odbija do nadawcy z błędem, nie ma nic w logach. Jest to dla mnie bardzo dziwne :)

    Jedynie dochodzą maile w domenie, w której skonfigurowałem serwer pocztowy.

    Wklejam moją konfigurację i czekam na propozycje pomocy:

     

    postconf -n

    broken_sasl_auth_clients = yes
    config_directory = /etc/postfix
    html_directory = /usr/share/doc/postfix/html
    message_size_limit = 30720000
    mydestination = localhost, localhost.localdomain
    myhostname = mail.mojadomena.pl
    mynetworks = 127.0.0.0/8
    proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
    readme_directory = /usr/share/doc/postfix
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_tls_cert_file = /etc/postfix/smtpd.cert
    smtpd_tls_key_file = /etc/postfix/smtpd.key
    smtpd_use_tls = yes
    virtual_alias_domains = 
    virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
    virtual_gid_maps = static:5000
    virtual_mailbox_base = /home/vmail
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
    virtual_transport = dovecot
    virtual_uid_maps = static:5000
    

     

     

    /etc/postfix/sasl/smtpd.conf

    pwcheck_method: saslauthd
    mech_list: plain login
    saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux
    allow_plaintext: true
    auxprop_plugin: mysql
    sql_hostnames: 127.0.0.1
    sql_user: mail
    sql_passwd: mail
    sql_database: mail
    sql_select: select password from users where email = '%u'
    

     

    dovecot -n

    # 1.2.15: /etc/dovecot/dovecot.conf
    # OS: Linux 2.6.32-5-686-bigmem i686 Debian 6.0.3 ext3
    log_timestamp: %Y-%m-%d %H:%M:%S 
    protocols: imap imaps pop3 pop3s
    login_dir: /var/run/dovecot/login
    login_executable(default): /usr/lib/dovecot/imap-login
    login_executable(imap): /usr/lib/dovecot/imap-login
    login_executable(pop3): /usr/lib/dovecot/pop3-login
    mail_location: maildir:/home/vmail/%d/%n/Maildir
    mbox_write_locks: fcntl dotlock
    mail_executable(default): /usr/lib/dovecot/imap
    mail_executable(imap): /usr/lib/dovecot/imap
    mail_executable(pop3): /usr/lib/dovecot/pop3
    mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
    mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
    mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
    namespace:
      type: private
      separator: .
      prefix: INBOX.
      inbox: yes
      list: yes
      subscriptions: yes
    lda:
      log_path: /home/vmail/dovecot-deliver.log
      auth_socket_path: /var/run/dovecot/auth-master
      postmaster_address: postmaster@mojadomena.pl
      mail_plugins: sieve
      global_script_path: /home/vmail/globalsieverc
    auth default:
      passdb:
        driver: sql
        args: /etc/dovecot/dovecot-sql.conf
      userdb:
        driver: static
        args: uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
      socket:
        type: listen
        client:
          path: /var/spool/postfix/private/auth
          mode: 432
          user: postfix
          group: postfix
        master:
          path: /var/run/dovecot/auth-master
          mode: 384
          user: vmail
    

     

    /etc/dovecot/dovecot-sql.conf

    driver = mysql
    connect = host=127.0.0.1 dbname=mail user=mail password=mail
    default_pass_scheme = CRYPT
    password_query = SELECT email as user, password FROM users WHERE email='%u';
    

     

    Po wysłaniu maila z GMail lub innej zewnętrznej poczty, sprawdzam mail.log i nie ma tam nic poza logiem poprawnego logowania do skrzynki.

    Feb 28 00:56:50 serwer dovecot: imap-login: Login: user=<hello@mojadomena.pl>, method=PLAIN, rip=78.8.X.X, lip=X.X.56.X, TLS
    

     

    Kolejka, logi czysto.

    Użytkownik vmail o UID 5000 i grupie vmail również 5000 ma prawa zapisu do katalogu /home/vmail czego skutkiem jest poprawne tworzenie schematu katalogów przy dodaniu nowego konta pocztowego w MySQL.

    Dovecot ma prawa zapisu ponieważ gdy wysyłam mail sam do siebie, lub z innej skrzynki w tej samej domenie to poprawnie zapisuje wiadomości w katalogach.

     

    Proszę o pomoc :)

×