Серверы · 3 min read · Feb 06, 2026
Идеальный сервер - Gentoo 2007.0 - Страница 5
12 Postfix с SMTP-AUTH и TLS
Сначала мы хотим установить флаги USE соответствующим образом.
echo "mail-mta/postfix sasl" >> /etc/portage/package.use
echo "dev-libs/cyrus-sasl authdaemond urandom" >> /etc/portage/package.use
echo "net-mail/courier-imap fam" >> /etc/portage/package.useЗатем мы фактически устанавливаем его.
emerge --ask --verbose postfix courier-imap procmailcourier-imap фактически будет установлен как зависимость postfix с этими флагами USE, но включение его в командную строку добавит его в файл world, список тех пакетов, которые мы специально хотели, в отличие от зависимостей.
Отредактируйте /etc/mail/aliases, чтобы предоставить псевдоним для root для вашего администратора. В Gentoo есть закомментированная строка, которую вам нужно завершить и раскомментировать.
root: administratornewaliasesТеперь мы хотим настроить сам postfix. Обратите внимание, что в Gentoo он не работает в chroot по умолчанию, и заставить его это сделать в настоящее время выходит за рамки этого руководства.
Мы настраиваем Postfix для нормальной работы Maildir. Обратите внимание, что это не настраивает ничего конкретного для ISPConfig; изменения, которые нам нужно внести для ISPConfig, указаны в шаге 18.
postconf -e "myhostname = $(hostname -f)"
postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
postconf -e 'mynetworks = 127.0.0.0/8'
postconf -e 'recipient_delimiter = +'
postconf -e 'mailbox_size_limit = 0'
postconf -e 'inet_interfaces = all'
postconf -e 'inet_protocols = all'
postconf -e 'home_mailbox = Maildir/'Теперь мы настраиваем sasl.
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
echo 'pwcheck_method: saslauthd' >> /etc/sasl2/smtpd.conf
echo 'mech_list: plain login' >> /etc/sasl2/smtpd.confТеперь мы хотим создать ssl-сертификаты для postfix.
cd /etc/ssl
vi openssl.cnfИзмените следующие значения по умолчанию для вашего домена. В основном это просто значения по умолчанию, которые появляются, когда вы создаете новый запрос сертификата, поэтому вы можете пропустить этот шаг и просто столкнуться с обычными значениями по умолчанию. Вам придется ввести их как минимум дважды, так что это, вероятно, стоит того.
countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_defaultИ создайте сертификаты.
cd misc
./CA.pl -newreq-nodes
./CA.pl -newca
./CA.pl -sign
cp newcert.pem newkey.pem demoCA/cacert.pem /etc/postfix/И настройте postfix с ними.
postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/postfix/newkey.pem'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/newcert.pem'
postconf -e 'smtpd_tls_CAfile = /etc/postfix/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'Запустите postfix и saslauthd и настройте их на запуск при загрузке.
/etc/init.d/saslauthd start
rc-update add saslauthd default
/etc/init.d/postfix start
rc-update add postfix defaultЧтобы проверить, работают ли SMTP-AUTH и TLS правильно, выполните следующую команду:
telnet localhost 25После того, как вы установили соединение с вашим почтовым сервером Postfix, введите:
ehlo localhostЕсли вы видите строки
250-STARTTLSи
250-AUTH LOGIN PLAINвсе в порядке.
Вывод на моей системе выглядит так:
server1 misc # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.Введите
quitчтобы вернуться к оболочке системы.
13 Courier-IMAP/Courier-POP3
Программное обеспечение courier-imap, которое нам нужно, было установлено как зависимости при установке postfix. Теперь нам просто нужно завершить его настройку.
cd /etc/courier-imap
vi pop3d.cnf
vi imapd.cnfИзмените параметры C, ST, L, CN и email, чтобы они соответствовали вашему серверу. В частности, убедитесь, что поле CN является именем хоста, которое почтовые клиенты будут использовать для подключения к вашему почтовому серверу. Затем,
mkpop3dcert
mkimapdcertТеперь вы можете запустить различные службы courier-imap и настроить их на запуск при загрузке.
/etc/init.d/courier-imapd start
/etc/init.d/courier-imapd-ssl start
/etc/init.d/courier-pop3d start
/etc/init.d/courier-pop3d-ssl start
rc-update add courier-imapd default
rc-update add courier-imapd-ssl default
rc-update add courier-pop3d default
rc-update add courier-pop3d-ssl defaultGet new posts in your inbox
No spam. Unsubscribe anytime.