Смоленск 1.4 Проблема с настройками почты. Проверьте билет realm

Antony

New member
Сообщения
20
#1
1. поднят сервер ALD, DNS в локальной сети.
2. авторизация работает нормально, замечаний нет.
3. на отдельной машине ALD Client подняли exim и dovecot:
настройки:
ald server:
Код:
hostname  ald
fqdn в hosts
192.168.10.1 ald.local.lan.ru ald
domain local.lan.ru
search local.lan.ru
nameserver 192.168.10.1
почтовый server:
Код:
hostname  server3
fqdn в hosts
192.168.10.10 server3.local.lan.ru server3
domain local.lan.ru
search local.lan.ru
nameserver 192.168.10.1
DNS:
прямая
Код:
ald         IN A 192.168.10.1
server3 IN A 192.168.10.10
mail IN CNAME server3
обратная
Код:
10 PTR server3.local.lan.ru.
10 PTR mail.local.lan.ru.
1   PTR ald.local.lan.ru.
host mail выдает нужный адрес и обратную зону.
nslookup mail выдает нормальный fqdn
пользователи входящие в домен нормально заходят на сервер, работают нормально, документооборот есть. (это для проверки)

dovecot:
cat /etc/dovecot/dovecot.conf | grep -v "#"
Код:
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap
listen = 192.168.10.10
dict {}
!include conf.d/*.conf
!include_try local.conf
cat /etc/dovecot/conf.d/10-auth.conf | grep -v "#"
Код:
disable_plaintext_auth = yes
auth_gssapi_hostname = "$ALL"
auth_mechanisms = gssapi
auth_krb5_keytab = /var/lib/dovecot/dovecot.keytab
!include auth-system.conf.ext
cat /etc/dovecot/conf.d/10-ssl.conf | grep -v "#"
Код:
ssl = no
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </dovecot/private/dovecot.pem
cat /etc/dovecot/conf.d/10-master.conf | grep -A 5 "auth"
Код:
service auth {
  unix_listener auth-client {
    mode = 0600
    user = Debian-exim
  }
  #
cat /etc/dovecot/conf.d/15-mailboxes.conf | grep -A 16 "namespace inbox {"
Код:
namespace inbox {
  mailbox Drafts {
    special_use = \Drafts
    auto = subscribe
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Trash {
    special_use = \Trash
    auto = subscribe
  }
  mailbox Sent {
    special_use = \Sent
    auto = subscribe
  }
}
cat /etc/dovecot/conf.d/10-mail.conf | grep mail_location | grep -v "#"
Код:
mail_location = maildir:/var/mail/%u:LAYOUT=fs
exim4
первым делом авторизация:
cat /etc/exim4/conf.d/auth/33_exim4-dovecot-kerberos-ald
Код:
dovecot_gssapi:
  driver = dovecot
  public_name = GSSAPI
  server_socket = /var/run/dovecot/auth-client
  server_set_id = $auth1
dpkg-reconfigure exim4-config
Общий тип почтовой конфигурации: интернет-сайт; приём и отправка почты напрямую, используя SMTP
Почтовое имя системы: server3.local.lan.ru
IP-адреса, с которых следует ожидать входящие соединения SMTP: 192.168.10.10
Другие места назначения, для которых должна приниматься почта: local.lan.ru
Домены, для которых доступна релейная передача почты: Пустое поле
Машины, для которых доступна релейная передача почты: Пустое поле
Сокращать количество DNS-запросов до минимума (дозвон по требованию)? Нет
Метод доставки локальной почты: Maildir формат в домашнем каталоге
Разделить конфигурацию на маленькие файлы? Да
из каталога /var/mail удален файл локального пользователя

на ALD Сервере:
Код:
ald-admin service-add imap/server3.local.lan.ru
ald-admin sgroup-svc-add imap/server3.local.lan.ru --sgroup=mac
ald-admin sgroup-svc-add imap/server3.local.lan.ru --sgroup=mail
ald-admin service-add smtp/server3.local.lan.ru
ald-admin sgroup-svc-add smtp/server3.local.lan.ru --sgroup=mac
ald-admin sgroup-svc-add smtp/server3.local.lan.ru --sgroup=mail
На почтовом сервере:
Код:
ald-client update-svc-keytab imap/server3.local.lan.ru --ktfile="/var/lib/dovecot/dovecot.keytab"
ald-client update-svc-keytab smtp/server3.local.lan.ru --ktfile="/var/lib/dovecot/dovecot.keytab"
setfacl -m u:dovecot:x /var/lib/dovecot
setfacl -m u:dovecot:r /var/lib/dovecot/dovecot.keytab
ald-renew-ticket on
ald-renew-ticket now
перезапускаю все что можно:

на любой клиентской машине:
запускаю thunderbird:
создать учетную запись:
user@domain
imap mail.local.lan.ru 143 нет kerberos
smtp mail.local.lan.ru 25 нет kerberos
настройки thunderbird подхватывает сам, как только впишешь mail.local.lan.ru.
готово - я понимаю риск.
и ничего.
на любых клиентских машинах и на самом почтовом сервере пишет:
Билет Kerberos/GSSAPI не был принят IMAP-сервером user.server3.local.lan.ru Пожалуйста, проверьте, что вы вошли в Kerberos/GSSAPI realm.
команда от usera klist показывает что есть записи типа:
1. krbtgt
2. ldap
3. imap
команда от usera klist -e показывает такие же записи, только в другом формате
команда ald-renew-ticket now ничего нового не добавляет, меняется только время колонок expires\renew until
команда klist -e /var/lib/dovecot/dovecot.keytab ругается на то, что этот файл не принципал.
от рута команда klist говорит, что /tmp/krbt_5 файл пустой на всех машинах клиента и на почтовом сервере.
exim4 в логах пустой. (кроме как локальных писем)
dovecot логов не ведет, как включить логи - не нашел.
пользователь user был создан задолго до записей imap\smtp записей. это может влиять?

как поднять почту, чтобы она работала?
Помогите пожалуйста.
 
Последнее редактирование:

oko

New member
Сообщения
1 257
#2
to Antony
Primo, какой извращенец вам такое имя домена посоветовал? local.lan.ru - это комбо, triple-kill, мать его...
Secundo, из конфигов не понятно, вам kerberos-auth нужен или нет? Dovecot настроен на kerberos only, а Thunderbird, выходит, нет. Какой реакции вы ожидаете при таком раскладе? Ради интереса добавьте plaintext-auth как тут и проверьте...
Last, и поднимите-таки DNS на базе bind - это быстро и избавит от многих проблем. Хотя модуль экстрасенсорики уходит в segfault при попытке понять, как вы без bind настроили PTR-записи и где...
 

Antony

New member
Сообщения
20
#3
local.lan.ru - это пример. а не фактическое значение.
реальное такое: object-name.org.ru
ald и server3 - реальное.
днс настроен на bind9. просто расписывать его зачем? написано же что команды nslookup $HOST, host $HOST, nslookup -type=ptr $HOST, dig MX @ip_dns_server отрабатывают четко.

Dovecot настроен на kerberos only, а Thunderbird, выходит, нет.
эээ??? написано вроде же:
запускаю thunderbird:
создать учетную запись:
user@domain
imap mail.local.lan.ru 143 нет kerberos
smtp mail.local.lan.ru 25 нет kerberos
настройки thunderbird подхватывает сам, как только впишешь mail.local.lan.ru.
распишу тогда:
Создаю учетную запись.
В параметрах IMAP- и SMTP-серверов пишу одно и то же - mail.local.net.ru
При нажатии кнопки "Проверка параметров" все параметры изменяются на порты 143 и 25, ssl нет, параметры авторизации: Kerberos/GSSAPI
применить - учетка создается, при попытке войти в нее пишет:
Билет Kerberos/GSSAPI не был принят IMAP-сервером user@server3.local.lan.ru Пожалуйста, проверьте, что вы вошли в Kerberos/GSSAPI realm.
 

Antony

New member
Сообщения
20
#4
а вот о такой команде я не знал:
klist -Kek /etc/dovecot/dovecot.keytab
завтра опробую уже.
вернее не знал о ключах)
выше я пробовал такое же, ошибку выдавало.
 

Antony

New member
Сообщения
20
#5
может ли проблема быть из-за этого:
hostname всех машин такие:
group_name-object_name-machine[0-999]
то есть к примеру:
manageotk-nachotk-machine30
в hosts записи такие
192.168.10.30 manageotk-nachotk-machine30.local.net.ru manageotk-nachotk-machine30
192.168.10.10 servsegm-servergrp-server3.local.net.ru servsegm-servergrp-server3
192.168.10.1 ald.local.net.ru ald
в DNS записи такие
servsegm-servergrp-server3 IN A 192.168.10.10
server3 IN CNAME servsegm-servergrp-server3
mail IN CNAME servsegm-servergrp-server3
manageotk-nachotk-machine30 IN A 192.168.10.30
machine30 IN CNAME manageotk-nachotk-machine30
ald IN A 192.168.10.1

из-за CNAME могут быть косяки не принятия Билета Kerberos/GSSAPI
 

oko

New member
Сообщения
1 257
#6
to Antony
Конфиг bind9 покажите (прямую и обратную зоны полностью). Есть мысль и по части CNAME, и по части MX записей...
object-name.org.ru - тоже не лучшее решение. Зачем вам вообще org или ru, если речь идет о закрытых ЛВС (не так ли?)...
group_name-object_name-machine[0-999] - это жесть. Проверяйте по длине...
А вообще, вот тут уже обсуждалась для Смоленска 1.5 аналогичная ситуация. По-идее, privsock был и в 1.4 версии, возможно, в нем проблема...
 

Antony

New member
Сообщения
20
#7
object-name.org.ru - тоже не лучшее решение. Зачем вам вообще org или ru, если речь идет о закрытых ЛВС (не так ли?)...
не я это создавал, и не мне это менять. увы.
group_name-object_name-machine[0-999] - это жесть. Проверяйте по длине...
в самый предел, но вложились.
По-идее, privsock был и в 1.4 версии, возможно, в нем проблема...
да есть, все добавлено. а как проверить, работает ли?
хотя тут кроме 0 уровня и нет ничего(нет мандатных меток и наверное не будет)

переделаю bind9, закоментирую все cname, машины заново прописывать на сервере ald? но они и так там отображены по fqdn, без всяких урезаний.

Конфиг bind9 покажите (прямую и обратную зоны полностью). Есть мысль и по части CNAME, и по части MX записей...
уже завтра покажу.
 

oko

New member
Сообщения
1 257
#8
to Antony
CNAME комментировать не надо. Интересовал вопрос, как описана MX-запись и на кого она ссылается - на fqdn-имя, имеющее A-запись к IP-адресу почтового сервера или на fqdn-имя, заданное через CNAME. Bind к таким вещам относится трепетно, CNAME может портить ситуацию...
A-запись по RFC тоже должна быть только 1 для 1 IP. Можете сделать 2 А-записи, если DNS и Mail на одном сервере, но желательно их разнести...
$ORIGIN .
$TTL 3600
mydomain.lan IN SOA ns.mydomain.lan. root.mydomain.lan. (
2018100217 ;
4h ;
1h ;
1w ;
1s ) ;

IN NS ns.mydomain.lan. ;DNS-MAIN
IN MX 10 mx.mydomain.lan. ;MAIL

$ORIGIN mydomain.lan.
ns IN A 192.168.1.101 ;DNS-Main
mx IN A 192.168.1.102 ;MAIL
www IN CNAME ns.mydomain.lan ;WWW

Про privsock тов. Rayman писал, что при добавлении конфигураций у него заработало ЕПП (SSO) на Смоленск 1.5:
$ nano /etc/parsec/privsock.conf
/usr/sbin/named
$ nano /etc/default/bind9
PATH=/usr/lib/parsec/bin:$PATH

И кстати, покажите логи Dovecot в момент ошибки. Лучше всего в debug-режиме...
 
Последнее редактирование:

Antony

New member
Сообщения
20
#9
прошу прощения что так долго.
и так:
klist -Kek путь к keytab
показывает что все принципалы есть

Можете сделать 2 А-записи, если DNS и Mail на одном сервере, но желательно их разнести...
у нас сервер-мастер один, на другой машине, а ведомых серверов - на каждом сервере. и к мастеру у меня доступа нет. :(

A-запись по RFC тоже должна быть только 1 для 1 IP. Можете сделать 2 А-записи, если DNS и Mail на одном сервере, но желательно их разнести...
вот тут кстати, может быть проблема:

у меня вот так:
Код:
$TTL 3600
mydomain.lan IN SOA ns.mydomain.lan. root.mydomain.lan. (
2018100217 ;
4h ;
1h ;
1w ;
1s ) ;
Серверная часть часть, тут напутано все.
IN NS ns1.mydomain.lan. ;DNS-MAIN
IN NS ns2.mydomain.lan. ;DNS-MAIN
IN NS ns3.mydomain.lan. ;DNS-MAIN
IN NS ns4.mydomain.lan. ;DNS-MAIN
IN NS ns5.mydomain.lan. ;DNS-MAIN
IN MX 10 mail.mydomain.lan. ;MAIL

и перечисление ДНС.
ns1 IN A 192.168.0.1
ns2 IN A 192.168.0.2
ns3 IN A 192.168.0.5
ns4 IN A 192.168.0.8
ns5 IN A 192.168.0.10

а далее чехарда с именами серверной части:

servsegm-servergrp-server IN A 192.168.10.1
servsegm-servergrp-server1 IN A 192.168.10.2
monitor IN CNAME servsegm-servergrp-server1
servsegm-servergrp-server2 IN A 192.168.10.3
servsegm-servergrp-server3 IN A 192.168.10.10
ald IN A 192.168.10.1 (указано именно так, без CNAME)
server3 IN СNAME servsegm-servergrp-server3
mail IN CNAME servsegm-servergrp-server3

Клиентская часть состоит только из двух записей, "длиной" и "короткой".
manageotk-nachotk-machine30 IN A 192.168.10.30
machine30 IN CNAME manageotk-nachotk-machine30
получается что имею несколько записей A к одному IP.
по логам при перезапуске машины днс не ругается на файлы зон. сами зоны править не могу, нет прав.

пошел читать этот RFC, скажу что не так сконфигурировано, приведу к нормальному виду.

получается надо сделать так:
Код:
IN NS ns1.mydomain.lan. ;DNS-MAIN
IN NS ns2.mydomain.lan. ;DNS-MAIN
IN NS ns3.mydomain.lan. ;DNS-MAIN
IN NS ns4.mydomain.lan. ;DNS-MAIN
IN NS ns5.mydomain.lan. ;DNS-MAIN
IN MX 10 mail.mydomain.lan. ;MAIL

ns1 IN A 192.168.0.1
ns2 IN A 192.168.0.2
ns3 IN A 192.168.0.5
ns4 IN A 192.168.0.8
ns5 IN A 192.168.0.10

и дальше уже
hostname_сервера1-5 IN CNAME ns1-5 ?
ald IN CNAME ns1
mail IN CNAME ns5
так?
 

oko

New member
Сообщения
1 257
#11
to Antony
Желательно A записи для всех nsX и mail в явном виде, не через CNAME, даже если они ведут на один и тот же IP. Во всяком случае у меня имеется боевой сервер под Debian 8 с дефолтовым bind9, торчащий во внешнюю сеть с NS и MX на один IP, - все отрабатывает без нареканий. А вот servsegm-servergrp-serverX уже по CNAME на тот или иной nsX или mail...
По dovecot вот тут все расписано...
Беглый гуглеж по схожей проблеме (отсутствие k-tiket) ничего путного не показывает. Но логи dovecot могут подсказать конкретику проблемы. И не факт, что она завязана на механизмы защиты Astra Linux, вероятнее всего проблема в чем-то другом...
 

Antony

New member
Сообщения
20
#12
понял, заскриню, так и постараюсь сделать.(сказать чтоб сделали)
а ald не собьется из-за того, что изменились данные?
заново не придется добавлять?
 
Последнее редактирование:

oko

New member
Сообщения
1 257
#13
to Antony
Не должно, потому что резолв имени будет все равно указывать на один и тот же адрес...
 

oko

New member
Сообщения
1 257
#14
to Antony
Разобрал я вашу задачку наконец. Результат описал вот тут. Проверяйте конфиги, сличайте пошагово с Руководством - должно заработать...
 

Antony

New member
Сообщения
20
#15
вопрос.
файл /etc/hostname
после того как привел к виду просто hostname без domainname
переподключать машину к ALD надо?
а сервисы snmp\imap пересоздавать?
так как запись вида hostname.domainname в /etc/hostname была только на почтовом сервере. везде в остальном обычное имя хоста.
 

oko

New member
Сообщения
1 257
#17
to Antony
Утилита hostname должна выдавать сокращенное имя сервера (без домена), так что в /etc/hostname - сокращенное имя...
Принципалы я бы пересоздал от греха по-дальше средствами консольных команд...
Переподключение к ALD после замены hostname тоже необходимо - базовые принципалы будут ориентироваться на сокращенное имя. С другой стороны, не столь круто разбираюсь в манах MIT, чтобы утверждать однозначно (особенно при наличии bind9, в конфигах которых используются полные fqdn-имена)...
Еще у вас отличаются следующие опции (по-идее незначительно, но временно рекомендую изменить ради проверки работоспособности):
- listen = 192.168.10.10 в конфиге dovecot (у меня *, можно потом прикрыть через iptables);
- auth_gssapi_hostname = "$ALL" (у меня явное fqdn-имя сервера-ALD).
Также уберите ссылки на pem-файлы (вообще строки закомментируйте) в /etc/dovecot/conf.d/10-ssl.conf - у вас по-идее dovecot должен падать при старте при их наличии...
 

Antony

New member
Сообщения
20
#18
и так:
сделал:
hostname поменял на короткое - пезапустил машину.
auth_gssapi_hostname = FQDN ALD.server (без кавычек пробовал и с кавычками, сейчас стоит с кавычками)
listen = * (просто меняет что слушает dovecot, так как ip у меня один, можно и * оставить)
ssl стоит в off. pem файлы закоментивароны
логи включил.
ald-client, dovecot, exim4 перезапустил.

в exim4 логов нет, ну потому что и отправлять пока что нечего.
в dovecot логи такие:
debug файла нет, такое ощущение что не включал его, хотя проверял настройки - точно все включено было.
main лог пишет подобное, точно не могу написать, блокнот случайно на работе оставил:
Disconnected auth 5 second: user=<>, rip=ip_откуда_пытался_соединиться, lip=ip_почтового_сервера
вот тут в инете пишут, что должен быть указан метод method=метод авторизации. а у меня такого точно не было. и user=<> пустой.
в след. раз буду пересоздавать принципалы, хотя что-то не уверен, в нем ли проблема.
 

oko

New member
Сообщения
1 257
#19
to Antony
Теряюсь в догадках, честно говоря. Возможно, это особенности сырой Астры 1.4. Хотя она мало чем отличалась от Debian 8. Кстати, ALD сервер у вас тоже на Смоленске 1.4 поднят? И imap/smtp сервисы тоже?
Народ в Сети советует-таки проверить опцию ssl=off и отсутствие каких-либо других строк в файле 10-ssl.conf. Дескать, аутентификация заканчивается, толком не начавшись. Поиграйте в эту сторону. С другой стороны, это может быть продолжением эпопеи с kerberos...
 

Antony

New member
Сообщения
20
#20
Народ в Сети советует-таки проверить опцию ssl=off и отсутствие каких-либо других строк в файле 10-ssl.conf. Дескать, аутентификация заканчивается, толком не начавшись. Поиграйте в эту сторону. С другой стороны, это может быть продолжением эпопеи с kerberos...
ssl = off
с пробелами межу =
прочее закоментировано.
exim4 и dovecot и ald все на 1.4 se. и клиентские машины тоже.
а в режиме gssapi в логах user=<>, rip=ip_откуда_пытался_соединиться, lip=ip_почтового_сервера должно user'a писать или нет?