Проблемы с Sendmail Relay

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-03-19 17:34:41

Добрый день.

Помогите разрешить мою проблему, уже обгуглился и ничего в голову не лезет.

Есть freebsd серве, на нем был настроен sendmail как relay на Exchange 2007.
В определенный момент времени sendmail перестал отдавать в локалку внешнюю почту на Exchange.
При отсылке почты в мир с доменных компьютеров через Exchange -> sendmail почта уходит.
На самом Exchange вроде все нормально, между доменными пользователями почта ходит без проблем.

Начал грешить на sendmail.
Вот кусок лога на пришедшее в домен из мира письмо:

Код: Выделить всё

Mar 19 11:23:24 gateway sm-mta[42701]: o2J9MVs0042701: from=user@mail.ru, size=19, class=0, nrcpts=1, msgid=<201003190923.o2J9MVs0042701@gateway.domail.local>, proto=SMTP, daemon=IPv4, relay=ext.domain.com [111.222.333.444]
Mar 19 11:23:24 gateway sm-mta[42762]: o2J9MVs0042701: to=user@ext.domain.com, delay=00:00:15, xdelay=00:00:00, mailer=local, pri=30411, relay=local, dsn=2.0.0, stat=Sent
Судя по логу вроде все в порядке, но письмо на Exchange не попало.
С сервера freebsd порт Exchange доступен, с сервера freebsd Exchange нормально видно по доменному имени.
Без проблем со шлюза могу подключится по telnet к 25 порту на sendmail или Exchange и отправить письмо пользователю freebsd или Exchange, а relay почты с sendmail на Exchange не работает.
Пробовал удалять конфиги *.db и заново пересобирать конфиги sendmail (cd /etc/mail && make && make install && make restart), ничего не помогает.
Конфиги следующие:
access

Код: Выделить всё

To:ext.domain.com		RELAY
From:ext.domain.com	RELAY
Connect:192.168.0.2		RELAY
aliases

Код: Выделить всё

root:	root@ext.domain.com

# Basic system aliases -- these MUST be present
MAILER-DAEMON: postmaster
postmaster: root

# General redirections for pseudo accounts
_dhcp:	root
_pflogd: root
bin:	root
bind:	root
daemon:	root
games:	root
kmem:	root
mailnull: postmaster
man:	root
news:	root
nobody:	root
operator: root
pop:	root
proxy:	root
smmsp:	postmaster
sshd:	root
system:	root
toor:	root
tty:	root
usenet: news
uucp:	root

# Well-known aliases -- these should be filled in!
# manager:
# dumper:

# BUSINESS-RELATED MAILBOX NAMES
# info:
# marketing:
# sales:
# support:

# NETWORK OPERATIONS MAILBOX NAMES
abuse:	root
# noc:		root
security:	root

# SUPPORT MAILBOX NAMES FOR SPECIFIC INTERNET SERVICES
ftp: 		root
ftp-bugs: 	ftp
# hostmaster: 	root
# webmaster: 	root
# www: 		webmaster

# NOTE: /var/msgs and /var/msgs/bounds must be owned by sendmail's
#	DefaultUser (defaults to mailnull) for the msgs alias to work.
#
# msgs: "| /usr/bin/msgs -s"

# bit-bucket: /dev/null
# dev-null: bit-bucket
local-host-names

Код: Выделить всё

gateway.domain.local
mailertable

Код: Выделить всё

ext.domain.local		relay:[192.168.0.2]
virtusertable

Код: Выделить всё

# $FreeBSD: src/etc/mail/virtusertable.sample,v 1.3.34.1 2009/04/15 03:14:26 kensmith Exp $
#
# Map one or all usernames at a source hostname to a specific (or the same)
# username at another target hostname.  Remember to add the source hostname
# to /etc/mail/local-host-names so that sendmail will accept mail for the
# source hostname.
#
root@domain.local	root
user@domain.local	user
gateway.domain.local.mc

Код: Выделить всё

divert(-1)
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.34.2.3.4.1 2009/04/15 03:14:26 kensmith Exp $')
OSTYPE(freebsd6)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl define(`confCR_FILE', `/etc/mail/relay-domains')dnl
dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl       your permission.
dnl FEATURE(relay_based_on_MX)

dnl DNS based black hole lists
dnl --------------------------------
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://www.google.com/Top/Computers/Internet/E-mail/Spam/Blacklists/

dnl Uncomment to activate Realtime Blackhole List
dnl information available at http://www.mail-abuse.com/
dnl NOTE: This is a subscription service as of July 31, 2001
dnl FEATURE(dnsbl)
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', ``"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}'')

dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `gateway.domain.local')

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')

dnl ч ЖБКМЕ ПРЙУБОЩ ДПНЕОЩ ДМС ЛПФПТЩИ РТЙОЙНБЕФУС РПЮФБ
define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')

define(`confMAX_RCPTS_PER_MESSAGE', `10')
define(`confMAX_MESSAGE_SIZE', `15728640')

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')
MAILER(local)
MAILER(smtp)
dnl MASQUERADE_AS(`ext.domain.com')
Помогите кто чем может, не могу бок найти ни как ...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-03-24 16:00:31

Вопрос еще актуален.
Хоть скажите что конфиги верные и что искать ошибку нужно в другом месте ..

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение Laa » 2010-03-25 14:53:09

Ну не попало на эксчендж, а лога нет. :no: :Search:
Вручную по 25 порту к эксченджу соединение устанавливается? Доставку пробовали сэмулировать? Проходит?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-03-25 16:07:46

Спасибо за ответ.
Но вопрос уже решил, верной настройкой DNS и hosts.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-09-27 11:45:22

Хочу продолжить по теме.

По определенным причинам в локальном DNS (установленном на шлюзе), прописал соответствие внешнего доменного имени и внешнего IP.
Sendmail перестал пересылать почту на внутреннй маил сервер.
Почтовый домен на внутреннем mail сервере соответствует внешнему доменному имени.

На сколько я понимаю теперь sendmail стал воспринимать почту идущую на внешнее доменное имя как свою локальную, для хоста.
При этом в maillog ошибок нет, просто sendmail делает relay на local.
По сути лог похож на мое первое сообщение.

Подскажите пожалуйста как объяснить sendmail не воспринимать почту идущую на этот домен как локальную (при такой настройке DNS) ?

Заранее спасибо.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-09-27 16:45:14

Нарыл немного инфы.

Похоже что sendmail может делать relay только на домены которые не являются локальными доменами его хоста.

Но я пока не уверен что это так...
Если есть соображения пишите ...

Аватара пользователя
kharkov_max
капитан
Сообщения: 1853
Зарегистрирован: 2008-10-03 14:56:40

Re: Проблемы с Sendmail Relay

Непрочитанное сообщение kharkov_max » 2010-09-28 4:16:35

SendMail использует несколько типов релея почты, одни из них virtusertable и mailertable.
Первый позволяет направлять почту по ящикам, второй пересылку на хосты.

По умолчанию этот функционал работает на домены которые sendmail не считает локальными, а локальными он считает все что прописано в hosts и dns, если он есть.

Функция sendmail "define (`confDONT_PROBE_INTERFACES',true)dnl" выключает эту фичу и sendmail считает локальными доменами, только те которые находятся в local-host-names.

Проверить можно командой

Код: Выделить всё

sendmail -bt 
потом набираем

Код: Выделить всё

$=w 
(выход ctr-D)
Всем спасибо, вопрос снимается ....
Последний раз редактировалось Laa 2010-09-28 13:56:44, всего редактировалось 1 раз.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.