1

Проблема вот в чем, имеется сервер на CentOS 6,2 и стоит postfix. Было настроенно на один домен, но сейчас добавился другой. Через postfixadmin добавил домен и вроде все правильно и должно работать но вот косяк. Отправить письма могу а получить нет!
Выходит следующее:
16.09.2013, 10:51:38: IMAP  - Соединение с IMAP-сервером ...
16.09.2013, 10:51:39: IMAP  - Начинаю приветствие TLS
>16.09.2013, 10:51:39: IMAP  - Свойства сертификата: 81E1EE07C2F8BDD4, алгоритм: RSA (2048 бит), Действителен с: 03.05.2013 2:08:24, по: 17.09.2040 2:08:24, на хосты в кол-ве 1 шт.: <старый хост>
>16.09.2013, 10:51:39: IMAP  - Владелец: ... <тоже старый хост>
>16.09.2013, 10:51:39: IMAP  - Этот сертификат выдан самим собой.
!16.09.2013, 10:51:39: IMAP  - Приветствие TLS не завершено. Имя сервера  ("новый хост") не соответствует сертификату.

Что за сертификат и как его переделать!
Ставил систему не я, поэтому трудно сказать откуда ноги растут.
Кто может помогите?

2 (16.09.2013 09:17:29 отредактировано kisil)

srsd⇓ пишет:

Ставил систему не я, поэтому трудно сказать откуда ноги растут.
Кто может помогите?

А ноги растут от туда, что у вас настроено соединение с почтовиком через шифрованный канал с помощью ssl сертификата. И тот сертификат что у вас есть сгенерирован для домена что у вас был, а для нового домена, наверное, нужно новый сертификат. Я в этом не силён, так что не помогу. Вот много статей почитайте.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

3 (17.09.2013 13:30:34 отредактировано srsd)

Вобщем ситуация такая, установленно следующее: Exim,Dovecot и прикручен Postfixadmin.
Постатьям я понял что ключи генерируются и в dovecot и в exim. Сейчас они (ключи) сгенерированны на один домен, мне надо сейчас на два домена.
Можно ли так сделать?
И если не затруднит, шаги попорядку, и что делать со старыми ключами?

И да, важное дополнение: Я не могу именно получить почту, отправить без проблем куда угодно.

Или же все просто, как вообще отключить эти сертификаты.

4 (24.09.2013 08:42:26 отредактировано AlfaStriker)

Можно сделать разные ключи на каждый домен, знаю что в Dovecot такое возможно.
Да и в Exim думаю это можно настроить.
Генерация само подписанного сертификата:

Домен номер 1
Генерация сертификата mail1:

cd /etc/ssl/certs
openssl req -new -x509 -days 3650 -nodes -out mail1.pem -keyout mail1.key

На вопрос Common name? 
Ответить company1.ru
Домен номер 2
Генерация сертификата mail2:

openssl req -new -x509 -days 3650 -nodes -out mail2.pem -keyout mail2.key

На вопрос Common name? 
Ответить company2.ru
В Exim:
main exim config:

tls_certificate = ${lookup {$received_ip_address} 
lsearch{/etc/exim/ssl-cert.map}} 

ssl-cert.map:

--- 
127.0.0.1: /etc/ssl/cert1.pem 
172.30.0.25: /etc/ssl/cert2.pem 
172.30.0.140: /etc/ssl/cert3.pem 

Dovecot:
main dovecot config:
Multiple SSL certificates

Different certificates per IP and protocol

If you have multiple IPs available, this method is guaranteed to work with all clients.

local 192.0.2.10 { # instead of IP you can also use hostname, which will be resolved
  protocol imap {
    ssl_cert = </etc/ssl/dovecot/imap-01.example.com.cert.pem
    ssl_key  = </etc/ssl/dovecot/imap-01.example.com.key.pem
  }

  protocol pop3 {
    ssl_cert = </etc/ssl/dovecot/pop-01.example.com.cert.pem
    ssl_key  = </etc/ssl/dovecot/pop-01.example.com.key.pem
  }
}

local 192.0.2.20 {
  protocol imap {
    ssl_cert = </etc/ssl/dovecot/imap-02.example.com.cert.pem
    ssl_key  = </etc/ssl/dovecot/imap-02.example.com.key.pem
  }

  protocol pop3 {
    ssl_cert = </etc/ssl/dovecot/pop-02.example.com.cert.pem
    ssl_key  = </etc/ssl/dovecot/pop-02.example.com.key.pem
  }
}

Note that you will still need a top-level "default" ssl_key and ssl_cert as well, or you will receive errors.

5

У меня получается, что на одном Ip-адресе два домена почты. Мне кажется что так я не смогу использовать сертификаты. (Возможно не прав!)
Как отключить сертификаты вообще, проверить и настроить все без них?

6

У меня получается, что на одном Ip-адресе два домена почты. Мне кажется что так я не смогу использовать сертификаты. (Возможно не прав!)

Я тоже могу ошибаться.

На счет доменов, когда при генерации сертификата командой:

openssl req -new -x509 -days 3650 -nodes -out mail1.pem -keyout mail1.key

У тебя должен всплывать вопрос Common name - ?
На этот вопрос ты должен вписав свой домен или имя хоста почтового сервера, company1.ru или mail1.company1.ru
Тем самым генерация происходит для каждого домена отдельно, вот пример для второго домена:

openssl req -new -x509 -days 3650 -nodes -out mail2.pem -keyout mail2.key

Вопрос Common name - mail2.company2.ru

Для того чтобы отключить SSL надо:
1. В /etc/exim/exim.conf убрать строчки:

daemon_smtp_ports = 25:465
# TLS
tls_on_connect_ports = 465
tls_advertise_hosts = *
tls_certificate = /usr/local/etc/ssl/certss/mail.pem
tls_privatekey = /usr/local/etc/ssl/certs/mail.key
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

2. В /etc/dovecot/dovecot.conf убрать строчки

ssl_cert=</etc/ssl/certs/mail.pem
ssl_key=</etc/ssl/certs/mail.key

3. В /etc/dovecot/dovecot.conf установить параметр:

ssl = no

7

Лично я не понял как можно в настройках прописать пути к двум сертификатам.
Поэтому пока закоментировал строки указанные выше.
Теперь пишет:
IMAP  - Соединение с IMAP-сервером порт 143 (или 993)
IMAP  - Невозможно соединиться с сервером. Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение

Вот думаю кто виноват?

Отравляет все также все и куда угодно.

8 (20.09.2013 13:42:14 отредактировано AlfaStriker)

Это надо проверять, сразу написать сложно.
Выложи конфиги.

9

Долго не мог дабраться.
Вот конфиги:

/etc/dovecot/dovecot.conf

+ открыть спойлер

auth_mechanisms = CRAM-MD5
base_dir = /var/run/dovecot/
first_valid_uid = 93
info_log_path = /var/log/dovecot.log
listen = *
login_greeting = Dovecot ready man.
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
mail_location = maildir:/var/vmail/%d/%u
auth_debug=yes
auth_debug_passwords=yes

ssl=no

passdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
}
protocols = imap
service auth {
  unix_listener auth-client {
    mode = 0660
    user = exim
  }
  unix_listener auth-master {
    group = exim
    mode = 0660
    user = exim
  }
  user = root
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
  }
}
#ssl_cert = </etc/dovecot/ssl/dovecot.crt
#ssl_key = </etc/dovecot/ssl/dovecot.key

userdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = administrator

И второй:

/etc/exim/exim.conf

+ открыть спойлер

primary_hostname = my.domen.ru
hide mysql_servers = localhost/db_exim/uexim/tYubn-446

#daemon_smtp_ports = 25:465
local_interfaces = 127.0.0.1:xx.xx.xx.xx
#tls_on_connect_ports = 465
#tls_advertise_hosts = *
#tls_certificate = /etc/exim/ssl/exim.crt
#tls_privatekey = /etc/exim/ssl/exim.key
#auth_advertise_hosts = *
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${quote_mysql:$domain}' AND \
`active`='1'}}

domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${quote_mysql:$domain}' AND \
`active`='1'}}

hostlist   relay_from_hosts = localhost:127.0.0.0/8

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

av_scanner = clamd:/var/run/clamav/clamd.socket

# spamd_address = 127.0.0.1 783

qualify_domain = my.domen.ru
qualify_recipient = my.domen.ru
allow_domain_literals = false
exim_user = exim
exim_group = exim
never_users = root
rfc1413_query_timeout = 0s

sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts

ignore_bounce_errors_after = 45m
timeout_frozen_after = 15d
#helo_accept_junk_hosts = 192.168.50.0/24
#auto_thaw = 1h
smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"
smtp_accept_max = 50
smtp_accept_max_per_connection = 25
smtp_connect_backlog = 30
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 70k
message_size_limit = 64M
helo_allow_chars = _
smtp_enforce_sync = true

log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run

syslog_timestamp = no

begin acl

acl_check_rcpt:
accept  hosts = :
deny    message       = "incorrect symbol in address"
domains       = +local_domains
local_parts   = ^[.] : ^.*[@%!/|]

deny    message       = "incorrect symbol in address"
domains       = !+local_domains

deny    message       = "HELO/EHLO required by SMTP RFC"
condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

deny message   = "I don't know who are you"
authenticated = *
condition     = ${if eq{$authenticated_id}{$sender_address}{no}{yes}}

deny message   = "You failed my face control"
sender_domains = +local_domains
# condition     = ${if eq{$sender_address_domain}{$local_domains}{no}{yes}}
!authenticated = *

deny    message       = "Your IP in HELO - access denied!"
hosts         =  * : !+relay_from_hosts : !81-196.point.local
condition     = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}

deny    condition     = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts         = !127.0.0.1 : !localhost : *
message       = "My IP in your HELO! Access denied!"

deny    condition     = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts         = !127.0.0.1 : !localhost : *
message       = "Incorrect HELO string"

# filter spammers from dynamic ips
deny    message       = "your hostname is bad (adsl, poll, ppp & etc)."
condition     = ${if match{$sender_host_name}{adsl|dialup|pool|peer|dhcp}{yes}{no}}

warn
set acl_m0 = 1s
warn
hosts = +relay_from_hosts:4.3.2.1/32 #disable waits for 'friendly' hosts
set acl_m0 = 0s
warn
logwrite = Delay $acl_m0 for $sender_host_name[$sender_host_address] with HELO=$sender_
helo_name. Mail from $sender_address to $local_part@$domain.
delay = $acl_m0

accept  domains       = +local_domains
endpass
message       = "No such user"
verify        = recipient

accept  domains       = +relay_to_domains
endpass
message       = "i don't know how to relay to this address"
verify        = recipient

#  deny    message       = "you in blacklist - $dnslist_domain \n $dnslist_text"
#          dnslists      = opm.blitzed.org : \
#                          cbl.abuseat.org : \
#                          bl.csma.biz

accept  hosts         = +relay_from_hosts

accept  authenticated = *
deny    message       = "You are non-authenticated user or something goes wrong!"

acl_check_data:

# check for viruses
deny malware = *
message = "Your message contains viruses: $malware_name"

# if needed - add spam filtering here

# permit everything else
accept

begin routers

dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8

no_more

system_aliases:
driver      = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}

dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery

begin transports

remote_smtp:
driver = smtp
# interface = 1.2.3.4 #your public ip address, if it's the main server ip - you could sk
ip this parameter. if it's an alias- it must be specified in clear

dovecot_delivery:
driver = pipe
  command = /usr/libexec/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = exim

address_pipe:
driver = pipe
return_output

address_reply:
driver = autoreply

begin retry

*                    *       F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite

begin authenticators

auth_cram_md5:
driver = dovecot
public_name = CRAM-MD5
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1

10

Выложи еще это:

grep -E -e 'warning|critical|error' /var/log/maillog
ifconfig
cat /etc/resolv.conf
nslookup -type=any ТВОЙ ДОМЕН
service named status
telnet 127.0.0.1 110
telnet 127.0.0.1 25
iptables -n -L -v
hostname -f
telnet pop3.mail.ru 110
telnet smtp.mail.ru 25

11

$ sudo grep -E -e 'warning|critical|error' /var/log/maillog-20130922 (новые удалил)
Sep 18 11:49:58 mail dovecot: imap(mail@my2.domen.ru): Error: Internal error occurred. Refer to server log for more information.
Sep 18 11:50:40 mail dovecot: imap(mail@my2.domen.ru): Error: Internal error occurred. Refer to server log for more information.
Sep 18 11:59:04 mail dovecot: imap(mail@my2.domen.ru): Error: Internal error occurred. Refer to server log for more information.
Sep 18 12:01:50 mail dovecot: imap(mail@my2.domen.ru): Error: Internal error occurred. Refer to server log for more information.
============
$ cat /etc/resolv.conf
# Generated by NetworkManager
Здесь находятся только домены верхнего уровня и мой айпишник
============
$ nslookup -type=my.domen.ru
> просто появляется ">" и все действий нет
============
service named status
Server:         мой IP
Address:        мой IP#53

** server can't find service: NXDOMAIN
============
telnet 127.0.0.1 110
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
============
telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 my1.domen.ru, ESMTP EXIM 4.72
============
iptables -n -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
   12   864 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    1    84 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0   
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0   
    1    92 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    8  1284 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 14 packets, 1248 bytes)
pkts bytes target     prot opt in     out     source               destination
=============
sudo hostname -f
my1.domen.ru
=============
sudo telnet pop3.mail.ru 110
Trying 94.100.180.74...
Connected to pop3.mail.ru.
Escape character is '^]'.
+OK
============
telnet smtp.mail.ru 25
Trying 2a00:1148:1:1322::a1...
Connected to smtp.mail.ru.
Escape character is '^]'.
220 smtpng1.i ESMTP ready
====================================
Важное замечание
my1.domen.ru - это старый домен,к которому ставились сертификаты, и он мне больше не нужен.
my2.domen.ru - новый домен к которому надо все подвязать, хоть без сертификатов, а там посмотрим.

12

У тебя dovecot отвалился.
Все на это указывает:

telnet 127.0.0.1 110
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

$ sudo grep -E -e 'warning|critical|error' /var/log/maillog-20130922 (новые удалил)
Sep 18 11:49:58 mail dovecot: imap(mail@my2.domen.ru): Error: Internal error occurred. Refer to server log for more information.

Введи:

service dovecot status

Что пишет...

13

А вот как ни странно пишет:

service dovecot status
dovecot (pid  22912) is running...

про exim  пишет также.
Сервисы проверил в первую очередь, поэтому и думаю что трабл в настройках.

14 (24.09.2013 08:38:32 отредактировано AlfaStriker)

По любасу надо лог довекота посмотреть:

/var/log/dovecot.log

Команду не правильно ввел, надо так:

nslookup -type=any my.domen.ru

15

nslookup -type=any my2.domen.ru

Non-authoritative answer:
-- показал все правельно, мои ip (внешние), dns, домен
Authoritative answers can be found from:
--пустота
==============================
/var/log/dovecot.log

Sep 18 16:49:23 master: Info: Dovecot v2.0.9 starting up (core dumps disabled)
Sep 18 16:53:57 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_mysql.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so
Sep 18 16:53:57 auth: Debug: auth client connected (pid=23791)
Sep 18 16:53:57 auth: Debug: client in: AUTH    1       CRAM-MD5        service=smtp    rip=5
.34.53.161      lip=-ip-мой внешний      nologin resp=
Sep 18 16:53:57 auth: Debug: client out: CONT   1       PDYyMzUxNzI4MzcxMDM3MTguMTM3OTUwMTYzN
0BtYWlsLmRpcGxla3MucnU+
Sep 18 16:53:57 auth: Debug: client in: CONT    1       c3VwcG9ydEBhbGxhYm91dC5tZSA5ZjIzZTgzY
2NjOTk3NjFjZWQ4MjZlNzFlMmU4NzdmYQ==
Sep 18 16:53:57 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_mysql.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so
Sep 18 16:53:57 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so
Sep 18 16:53:57 auth: Info: mysql: Connected to localhost (db_exim)
Sep 18 16:53:57 auth: Debug: sql(support@my2.domen.ru,-ip-мой внешний): query: SELECT `username` a
s `user`, `password` FROM  `mailbox` WHERE `username` = 'support@my2.domen.ru' AND `active`='1'
Sep 18 16:53:57 auth: Debug: password(support@my2.domen.ru, -ip-мой внешний): Credentials: d0714180
192a68e3900a2e17b5c83cc3ec555ea787e15456cea30a607bab837c
Sep 18 16:53:57 auth: Debug: client out: OK     1       user=support@my2.domen.ru

16 (24.09.2013 10:49:49 отредактировано AlfaStriker)

Попробуй в dovecot.conf добавить порт 143:

service imap-login {
executable = /usr/libexec/dovecot/imap-login
inet_listener imap {
address = *
port = 143
}
}
service pop3-login {
executable = /usr/libexec/dovecot/pop3-login
inet_listener pop3 {
address = *
port = 110
}
}

17

Такое уже пробывал. Результат тот же.
Такое ощущение что это просто тупик.
В связи с этим думаю о полном переделывании.
Как теперь все поставить заново на новую - чистую систему, но доки и  статьи нарыл только про frebsb.
Мне нужно на CentOs поставить Exim с Dovecot, MySQL, Clamav и Postfixadmin (или думаю над Xams) + SSL шифрование ну и соответственно все сопутствующие, если есть статьи или доки, ссылки буду рад почитать.

18

Как вариант можно удаленно посмотреть на твой почтовик через TeamViewer.
А там уже ясно все станет.

19

Физически сервак стоит в другом городе под ctntos. Я настроил удаленный доступ под SSH из терминала. Что бы поставить на сервак TeamViewer нужно будет многое допилить, и как понимаете безопасность и прочее.
Могу поднять из архива чистую систему и заново настроить . пока вижу только такой вариант.
И в связи с этим:

srsd пишет:

думаю о полном переделывании.Как теперь все поставить заново на новую - чистую систему, но доки и  статьи нарыл только про frebsb.Мне нужно на CentOs поставить Exim с Dovecot, MySQL, Clamav и Postfixadmin (или думаю над Xams) + SSL шифрование ну и соответственно все сопутствующие, если есть статьи или доки, ссылки буду рад почитать.

Нарыл на серваке много не нужных конфигов и мусора и поиск откуда что и куда займет много времени и сил.

20

Ты не понял, мы соединимся через TV с твоим компьютером, а потом на твоем компе запустим SSH до сервера.

21

К моему компу не подцепишся, сетка так настроенна (зачем то!?).
А сервак уже готовлю к реинкарнации.

22

Ясно