Есть почтовый сервер, на котором крутится связка Sendmail (8.12.11) + ClamAV (0.87) + SpamAssasin (3.1). Почтовик обслуживает почту локалки (mydomain.net), на него пересылается почта от провайдера и он же отсылает почту наружу (напрямую, а не через провайдера). Проблема в том, что локальная почта от демонов, которая складывается в /var/spool/clientmqueue отправляется релеем на localhost.net. В инете кто-то зарегистрировал это имя и есессно оттуда приходит отлуп. В BIND и hosts прописаны локальные адреса почтовика. В какую сторону рыть?
Система - Мандрака 10.0
Ниже - кусок логи и конфа m4./var/log/mail/info
хрум
=============
jAM7dCDS030066: from=root@mydomain.ru, size=251, class=0, nrcpts=1, msgid=<200511220739.jAM7dCDS030066@mydomain.net>, relay=root@localhost
jAM7dCDS030066: to=admin, ctladdr=root@mydomain.ru (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30251, relay=localhost.net. [65.59.245.131], dsn=4.0.0, stat=Deferred: Connection refused by localhost.net.
==============
хрум/etc/mail/
===========
divert(-1)include(`../m4/cf.m4')dnl
define(`confDEF_USER_ID',``mail:mail'')dnl
OSTYPE(`linux')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confALIAS_WAIT', `30')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
MASQUERADE_AS(`mydomain.ru')dnl
FEATURE(`limited_masquerade')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(mailertable)dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(genericstable)dnl
FEATURE(always_add_domain)dnl
FEATURE(redirect)dnl
FEATURE(`access_db')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected - see http://www.mail-abuse.org/rbl/')dnl
FEATURE(dnsbl, `dialups.mail-abuse.org', `Dialup - see http://www.mail-abuse.org/dul/')dnl
FEATURE(dnsbl, `relays.mail-abuse.org', `Open spam relay - see http://www.mail-abuse.org/rss/')dnl
FEATURE(`dnsbl', `dul.ru')dnl
FEATURE(`delay_checks')dnl
FEATURE(`stickyhost')dnl
MAILER(`local')
MAILER(smtp)dnl
MAILER(procmail)dnl
FEATURE(`domaintable')
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/lib/clamav/clmilter.sock,F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS',`clmilter')
"mailer=relay" in your log file means that your sendmail considers your local domain (mydomain.ru) as external domain.Try to specify your local domain name "mydomain.ru" in "/etc/mail/local-host-names", then sendmail will use the "local" mailer for delivering mail to local users.
Good luck!
>"mailer=relay" in your log file means that your sendmail considers your local
>domain (mydomain.ru) as external domain.
>
>Try to specify your local domain name "mydomain.ru" in "/etc/mail/local-host-names", then sendmail
>will use the "local" mailer for delivering mail to local users.
>
>
>Good luck!/etc/mail/local-host-names
================
localhost
mydomain.ru
mydomain.net
localhost.localdomain
localhost.net
mail.mydomain.ru
add this line to your sendmail.mc:
FEATURE(`use_cw_file')dnl
>add this line to your sendmail.mc:
>FEATURE(`use_cw_file')dnl
I try it, but doesn't work...
Sorry for my bad english )/etc/mail/access
==========
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
mydomain.ru RELAY
192.168.0 RELAY
de DISCARD
jp DISCARD
ko DISCARD
lt DISCARD
kr DISCARD
mydomain.net RELAY
Sorry for not being able to write Russian: there are not Russian letters on my keyboard.I would try to remove all unnecessary lines from the .mc file:
MASQUERADE_AS(`mydomain.ru')dnl
FEATURE(`limited_masquerade')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(genericstable)dnl
FEATURE(always_add_domain)dnl
FEATURE(`stickyhost')dnl
>Sorry for not being able to write Russian: there are not Russian
>letters on my keyboard.
>
>I would try to remove all unnecessary lines from the .mc file:
>
>
>MASQUERADE_AS(`mydomain.ru')dnl
>FEATURE(`limited_masquerade')dnl
>FEATURE(`masquerade_envelope')dnl
>FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
>FEATURE(genericstable)dnl
>FEATURE(always_add_domain)dnl
>FEATURE(`stickyhost')dnl
не помогает. бред какойто. mailer=relay. причем если скармливать внутреннюю почту по smtp, то mailer=local
hostname сделай правильный у самой машины, и всё будет хорошо.
Наверняка ведь поставил localhost.net
нет, с hostname всё нормально
sorry for the question, but did you rebuild your sendmail.mc file after changing it?
>sorry for the question, but did you rebuild your sendmail.mc file after
>changing it?
угу. попробовал интереса ради закомментировать почти все строки. один хрен косячит... пойду домой экспериментировать...
try to add the line
DOMAIN(generic)dnl
after the OSTYPE line
>try to add the line
>DOMAIN(generic)dnl
>after the OSTYPE lineнет, всё тухло. ладно, черт с ним, через недельку надо попробовать, сейчас не дадут посидеть спокойно
Значит так, кокое отношение к тебе имеет localhost.net накой ляд ты его в local-host-names засунул? руки оторвать. В local-host-names кроме записи localhost и реально зарегестрированных тобой доменных имен, которые делегирует днс прова, вообще быть ничего не должно. Твой конфиг сендмайла это твои проблемы, он тут не причем. У тебя проблема с маршрутами и делегированием днс твоих доменов. И никакой маскарад тебе нафиг не нужен. Он всего лишь предусматривает наличие внутренних почтовых доменов которые надо спрятать.
Значит так, localhost.net ко мне абсолютно никакого отношения не имеет.
Конфиги которые тут выложены это уже попытки исправить положение, так что руки я оставлю себе пока что. А маскарадинг мне всё-таки нужен, чтобы прикрыть домен в удаленном офисе.
Если я понял правильно:
То, что ломится на localhost.net не должно покидать сервак.Ответ:
1. Прописать в /etc/hosts
127.0.0.1 localhost.net
2. Добавить в mc файл
define(`confCW_FILE', `-o /etc/mail/local-host-names')
3. В /etc/mail/local-host-names прописать все локальные имена по одному на строчку
localhost
mydomain.ru
localhost.net
4. Проверить DNS сервер на предмет левой зоны localhost.net
Я где-то такой пример встречал...