Проблема вот в чем, имеется сервер на 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 не завершено. Имя сервера ("новый хост") не соответствует сертификату.
Что за сертификат и как его переделать!
Ставил систему не я, поэтому трудно сказать откуда ноги растут.
Кто может помогите?
Почта Postfix и сертификаты, что это и о чем?
Ставил систему не я, поэтому трудно сказать откуда ноги растут.
Кто может помогите?
А ноги растут от туда, что у вас настроено соединение с почтовиком через шифрованный канал с помощью ssl сертификата. И тот сертификат что у вас есть сгенерирован для домена что у вас был, а для нового домена, наверное, нужно новый сертификат. Я в этом не силён, так что не помогу. Вот много статей почитайте.
Вобщем ситуация такая, установленно следующее: Exim,Dovecot и прикручен Postfixadmin.
Постатьям я понял что ключи генерируются и в dovecot и в exim. Сейчас они (ключи) сгенерированны на один домен, мне надо сейчас на два домена.
Можно ли так сделать?
И если не затруднит, шаги попорядку, и что делать со старыми ключами?
И да, важное дополнение: Я не могу именно получить почту, отправить без проблем куда угодно.
Или же все просто, как вообще отключить эти сертификаты.
Можно сделать разные ключи на каждый домен, знаю что в 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.
У меня получается, что на одном Ip-адресе два домена почты. Мне кажется что так я не смогу использовать сертификаты. (Возможно не прав!)
Как отключить сертификаты вообще, проверить и настроить все без них?
У меня получается, что на одном 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.key3. В /etc/dovecot/dovecot.conf установить параметр:
ssl = noЛично я не понял как можно в настройках прописать пути к двум сертификатам.
Поэтому пока закоментировал строки указанные выше.
Теперь пишет:
IMAP - Соединение с IMAP-сервером порт 143 (или 993)
IMAP - Невозможно соединиться с сервером. Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение
Вот думаю кто виноват?
Отравляет все также все и куда угодно.
Это надо проверять, сразу написать сложно.
Выложи конфиги.
Долго не мог дабраться.
Вот конфиги:
/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
Выложи еще это:
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$ 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 - новый домен к которому надо все подвязать, хоть без сертификатов, а там посмотрим.
У тебя 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
Что пишет...
А вот как ни странно пишет:
service dovecot status
dovecot (pid 22912) is running...
про exim пишет также.
Сервисы проверил в первую очередь, поэтому и думаю что трабл в настройках.
По любасу надо лог довекота посмотреть:
/var/log/dovecot.logКоманду не правильно ввел, надо так:
nslookup -type=any my.domen.runslookup -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
Попробуй в 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
}
}Такое уже пробывал. Результат тот же.
Такое ощущение что это просто тупик.
В связи с этим думаю о полном переделывании.
Как теперь все поставить заново на новую - чистую систему, но доки и статьи нарыл только про frebsb.
Мне нужно на CentOs поставить Exim с Dovecot, MySQL, Clamav и Postfixadmin (или думаю над Xams) + SSL шифрование ну и соответственно все сопутствующие, если есть статьи или доки, ссылки буду рад почитать.
Как вариант можно удаленно посмотреть на твой почтовик через TeamViewer.
А там уже ясно все станет.
Физически сервак стоит в другом городе под ctntos. Я настроил удаленный доступ под SSH из терминала. Что бы поставить на сервак TeamViewer нужно будет многое допилить, и как понимаете безопасность и прочее.
Могу поднять из архива чистую систему и заново настроить . пока вижу только такой вариант.
И в связи с этим:
думаю о полном переделывании.Как теперь все поставить заново на новую - чистую систему, но доки и статьи нарыл только про frebsb.Мне нужно на CentOs поставить Exim с Dovecot, MySQL, Clamav и Postfixadmin (или думаю над Xams) + SSL шифрование ну и соответственно все сопутствующие, если есть статьи или доки, ссылки буду рад почитать.
Нарыл на серваке много не нужных конфигов и мусора и поиск откуда что и куда займет много времени и сил.
Ты не понял, мы соединимся через TV с твоим компьютером, а потом на твоем компе запустим SSH до сервера.