A POP3 és az IMAP4 szolgáltatás
Több program között is választhatunk, ha POP3 és/vagy IMAP4 kiszolgálót szeretnénk építeni, a dovecot nevű program egyszerű, kényelmes és legfőképp együtt tud működni a Postfix programmal, és már annak telepítésekor feltettük. Engedélyezzük a futását, illetve másoljuk át a példaként feltelepített konfigurációs állományát a megfelelő névre:
dovecot_enable="YES"
Az átmásolt konfigurációs állományban ideiglenesen tiltsuk le az SSL protokollt (keressük meg az ssl_disable sort), illetve ideiglenesen töröljük ki a managesieve protokollt:
ssl_disable = yes protocols = imap imaps pop3 pop3s #managesieve
Indítsuk el a dovecot szolgáltatást, és ellenőrizzük a program futását:
[root@mail:~]$ /usr/local/etc/rc.d/dovecot restart Stopping dovecot. Starting dovecot. Info: If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork [root@mail:~]$ /usr/local/etc/rc.d/dovecot status dovecot is running as pid 99249. [root@mail:~]$ telnet mail.jails.javaforum.hu 110 Trying 192.168.2.4... Connected to mail.jails.javaforum.hu. Escape character is '^]'. +OK Dovecot ready. quit +OK Logging out Connection closed by foreign host.
A dovecot is a logserver jail-be loggol, ahogy annak lennie kell, tehát hiba esetén a naplóbejegyzéseket ott keressük...
Az LDAP és a Dovecot
Mivel a postfix LDAP alapon kezeli a felhasználókat, a dovecot is kénytelen LDAP-ot használni, lehetőleg azonos ágat. Nos, kezdjük a dovecot beállításával:
protocols = pop3 pop3s imap imaps listen = * protocol imap { imap_client_workarounds = delay-newmail netscape-eoh tb-extra-mailbox-sep } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh } ssl_disable = yes verbose_proctitle = yes mail_uid = 125 mail_gid = 125 first_valid_gid = 125 last_valid_gid = 126 first_valid_uid = 125 last_valid_uid = 126 disable_plaintext_auth = no auth default { mechanisms = plain login digest-md5 cram-md5 apop passdb ldap { args = /usr/local/etc/dovecot-ldap.conf } userdb ldap { args = /usr/local/etc/dovecot-ldap.conf } socket listen { master { path = /var/run/dovecot/auth-master mode = 0660 user = dovecot group = dovecot } client { path = /mails/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
Meg kell adnunk az LDAP kapcsolódás paramétereit:
hosts = ldap.jails.javaforum.hu ldap_version = 3 base = ou=VirtualUsers,ou=Mail,dc=javaforum,dc=hu user_attrs = mailRoutingAddress=mail user_filter = (uid=%u) pass_attrs = uid=user,userPassword=password pass_filter = (uid=%u) default_pass_scheme = PLAIN-MD5
Mindezek után újra kell indítanunk a dovecot szolgáltatást és megnézni, működik-e minden jól:
[root@mail:~]$ /usr/local/etc/rc.d/dovecot restart Stopping dovecot. Waiting for PIDS: 99249. Starting dovecot. Info: If you have trouble with authentication failures, enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork [root@mail:~]$ /usr/local/etc/rc.d/dovecot status dovecot is running as pid 4996. [root@mail:~]$ telnet mail.jails.javaforum.hu 110 Trying 192.168.2.4... Connected to mail.jails.javaforum.hu. Escape character is '^]'. +OK Dovecot ready. <1385.3.497347fe.aLAUqno6U9y8cki6MykE0A==@mail.jails.javaforum.hu> user auth.gabor@javaforum.hu +OK pass jelszoka +OK Logged in. list +OK 1 messages: 1 529 . retr 1 +OK 529 octets Return-Path: <root@mail.jails.javaforum.hu> X-Original-To: auth.gabor@javaforum.hu Delivered-To: auth.gabor@javaforum.hu Received: from 192.168.2.4 (mail.jails.javaforum.hu [192.168.2.4]) by mail.javaforum.hu (Postfix) with SMTP id 6AF8A13CB5 for <auth.gabor@javaforum.hu>; Sun, 18 Jan 2009 15:17:38 +0100 (CET) Subject: Test message Message-Id: <20090118141748.6AF8A13CB5@mail.javaforum.hu> Date: Sun, 18 Jan 2009 15:17:38 +0100 (CET) From: root@mail.jails.javaforum.hu To: undisclosed-recipients:; Test message . quit +OK Logging out. Connection closed by foreign host.
Mintha működne...
A portforward beállítása
Ahhoz, hogy a publikus IP címünk 25-öt, 110-es és 143-as portjára érkező kéréseket megkapja a sysmail, ahhoz be kell állítanunk ezt a /etc/ipnat.rules állományban:
rdr bge0 91.83.48.130/32 port 25 -> 192.168.2.4 port 25 tcp rdr bge0 91.83.48.130/32 port 110 -> 192.168.2.4 port 110 tcp rdr bge0 91.83.48.130/32 port 143 -> 192.168.2.4 port 143 tcp
Már csak el kell indítanunk az ipnat szolgáltatást:
[root@freebsd:~]$ /etc/rc.d/ipnat reload 6 entries flushed from NAT table 2 entries flushed from NAT list
Célszerű levelezőprogramból kipróbálni, hogy valóban működik-e minden...