LINUX.ORG.RU

Сообщения Shinkei_aka_HepB

 

exim + cyrus + mysql - virtualdomains

Настраиваю связку exim + cyrus_imap + mysql

Логины пользователей имеют вид user_xxx, ящики - user@domain

Почту предполагается хранить в imap.

При отправке по smtp получаю следующее сообщение в логах:

May 31 20:29:40 inside02 exim[7368]: Delay 0s for melchior.shinkei.ru [89.163.122.149] with HELO=shinkei.ru. Mail from shinkei@ya.ru to admin@kadva.ru.
May 31 20:29:49 inside02 exim[7368]: 1K2Txj-0001uq-2E <= shinkei@ya.ru H=melchior.shinkei.ru (shinkei.ru) [89.163.122.149] I=[77.222.32.6]:25 P=smtp S=227 from <shinkei@ya.ru> for admin@kadva.ru
May 31 20:29:49 inside02 exim[7395]: 1K2Txj-0001uq-2E ** admin@kadva.ru R=mysqluser T=cyrus_delivery: LMTP error after RCPT TO:<admin@kadva.ru>: 550-Mailbox unknown. Either there is no mailbox associated with this\n550-name or you do not have authorization to see it.\n550 5.1.1 User unknown


Судя по всему мой EXIM пытается скормить cyrus письмо для admin@kadva.ru. При этом я желаю чтобы письма он кормил не для алиаса admin@kadva.ru к ящику kadva_1, а именно для kadva_1.

В конфиге EXIM по этому поводу есть:

# чё делаем с почтой
begin routers

# Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS -
# то это `унроутабле аддресс`. Не проверяются локальные
# домены, 0.0.0.0 и 127.0.0.0/8
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 alias.address from box, alias \
where alias.address='${quote_mysql:$local_part@$domain}' \
and box.box_id=alias.box }}

mysqluser:
driver = accept
condition = ${if eq{}{${lookup mysql{select box.login from box, alias \
where alias.address='${quote_mysql:$local_part@$domain}' \
and box.box_id=alias.box }}}{no}{yes}}
transport = cyrus_delivery




# начинаются транспорты - как доставляем почту
begin transports

# Доставка на удалённые хосты - по SMTP
remote_smtp:
driver = smtp

# Транспорт для доставки почты локальным пользователям.
cyrus_delivery:
driver = lmtp
socket = /var/imap/socket/lmtp
batch_max = 100
user = cyrus

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

# Имя программы
address_pipe:
driver = pipe
return_output

# Транспорт для автоответов
address_reply:
driver = autoreply




Вообще всё нагло содрано с http://www.lissyara.su/?id=1626

только у меня база своя, и логин напрямую совпадает с именем папки юзера в imap.

Куда копать?


База алиасов:
alias_id
box (id бокса)
address (admin@kadva.ru например)
domain (id домена)

База боксов:
box_id
login (логин, он же имя папки в imap)
pass

База доменов:
domain_id
domain
active_flag

Последняя таблица юзается только для удобства

>>>

Shinkei_aka_HepB ()

freebsd sendmail sasl cyrus-imap проверка rcpt to

Имеется настроенный почтовый сервер. Авторизация проходит через sasl2, хранение почты в cyrus-imap

Конфик почтового сервера:

divert(-1)
divert(0)
VERSIONID(`$FreeBSD: src/etc/sendmail/freebsd.mc,v 1.30.2.2 2006/08/23 03:31:00 gshapiro 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',`relaytofulladdress')
dnl define(`_RELAY_FULL_ADDR_',`1')
dnl define(`LUSER_RELAY', `*file*:/dev/null')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://directory.google.com/Top/Computers/Internet/Abuse/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}')

INPUT_MAIL_FILTER(`relaydelay', `S=local:/var/run/relaydelay.sock, T=S:1m;R:2m;E:3m')dnl
INPUT_MAIL_FILTER(`clamav', `S=local:/var/run/clamav/clamav-milter.sock, F=, T=S:4m;R:4m')dnl

dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `your.isp.mail.server')

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')
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(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `goaway,noetrn,novrfy,noexpn,restrictqrun,nobodyreturn,noreceipts')

define(`confTO_IDENT',`0s')dnl

define(`CYRUS_MAILER_PATH',`/usr/local/cyrus/bin/deliver')
define(`confLOCAL_MAILER',`cyrusv2')
MAILER(`cyrusv2')
MAILER(local)
MAILER(smtp)



В /etc/mail/access:

127.0.0 RELAY
192.168.0 RELAY

В /etc/mail/virtusertable:

ящик1@089.ru info123
ящик2@pallets.ru boxpallets
ящик3@taxorg.org mailbox
ящик4@pallets.ru thbox


Суть проблемы состоит в том, что почтовик принимает почту для несуществующих юзверей и потом уже генерит отлуп 550 5.1.1 xxxx@089.ru... User unknown

При этом в сессии он проглатывает этот ящик как Recipient ok...

shinkei@shinkei ~ $ telnet 089.ru 25
Trying 83.171.84.182...
Connected to 089.ru.
Escape character is '^]'.
220 ksunny.089.ru ESMTP Sendmail 8.13.8/8.13.8; Fri, 30 May 2008 11:02:47 +0400 (MSD)
helo shinkei.ru
250 ksunny.089.ru Hello [81.222.211.146], pleased to meet you
mail from: shinkei@ya.ru
250 2.1.0 shinkei@ya.ru... Sender ok
rcpt to: xxxx@089.ru
250 2.1.5 xxxx@089.ru... Recipient ok
data
354 Enter mail, end with "." on a line by itself
blah
.
250 2.0.0 m4U72l9t014861 Message accepted for delivery


После чего в логах:

cat /var/log/maillog | grep m4U72l9t014861
May 30 11:03:07 ksunny sm-mta[14861]: m4U72l9t014861: from=shinkei@ya.ru, size=7, class=0, nrcpts=1, msgid=<200805300703.m4U72l9t014861@ksunny.089.ru>, proto=SMTP, daemon=IPv4, relay=[81.222.211.146]
May 30 11:03:07 ksunny sm-mta[14861]: m4U72l9t014861: Milter add: header: X-Virus-Scanned: ClamAV version 0.93, clamav-milter version 0.93 on ksunny.089.ru
May 30 11:03:07 ksunny sm-mta[14861]: m4U72l9t014861: Milter add: header: X-Virus-Status: Clean
May 30 11:03:07 ksunny sm-mta[14875]: m4U72l9t014861: to=xxxx@089.ru, delay=00:00:06, xdelay=00:00:00, mailer=cyrusv2, pri=30007, relay=localhost, dsn=5.1.1, stat=User unknown
May 30 11:03:07 ksunny sm-mta[14875]: m4U72l9t014861: m4U7379t014875: DSN: User unknown


И далее:

May 30 11:03:08 ksunny sm-mta[14875]: m4U7379t014875: to=shinkei@ya.ru, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=30000, relay=mx1.yandex.ru. [213.180.204.89], dsn=2.0.0, stat=Sent (accepted; S8778325AbYE3HEV)


Как сделать так, чтобы sendmail проверял пользователя на стадии rcpt to: ????

>>>

Shinkei_aka_HepB ()

sendmail + saslauth2

Собрал я под FreeBSD-6.1 cyrus-imapd2, сендмыл с поддержкой sasl, cyrus-sasl2-saslauthd, все конфы поправил, всё запустил.

создал ящик (saslpasswd2 -c user)

собсно блин. в логах такая хреновина появляется при получении:

Jan 6 16:05:06 shinkei saslpasswd2: setpass succeeded for user Jan 6 16:05:06 shinkei saslpasswd2: Couldn't update db Jan 6 16:05:06 shinkei last message repeated 2 times Jan 6 16:05:09 shinkei pop3d[9488]: login: [192.168.99.99] user plaintext

вот. емыл-клиент пишет: -ERR [SYS/PERM] Unable to open maildrop

Куда копать?

d /etc/make.conf SENDMAIL_CFLAGS=-I/usr/local/include &#8211;DSASL=2 SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2

в /usr/local/etc/imapd.conf sasl_pwcheck_method: saslauthd admins: cyrus

в конфе сендмыла: define(`confAUTH_OPTIONS', `A')dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confLOCAL_MAILER',`cyrusv2') define(`CYRUS_MAILER_PATH',`/usr/local/cyrus/bin/deliver') MAILER(`cyrusv2')

Shinkei_aka_HepB ()

отваливается ppp0 из-за pptp

поднимаю впн... всё нормально, интерфейс ppp0 встаёт, весь мир виден, пинги тудасюда.

но вот странно как-то, pptp закрывает соединение когда ему взбредётся. типа как вот: Nov 9 23:47:28 (none) pptp[11081]: anon log[ctrlp_disp:pptp_ctrl.c:772]: Client connection established. Nov 9 23:47:29 (none) pptp[11081]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request' Nov 9 23:47:29 (none) pptp[11081]: anon log[ctrlp_disp:pptp_ctrl.c:857]: Received Outgoing Call Reply. Nov 9 23:47:29 (none) pptp[11081]: anon log[ctrlp_disp:pptp_ctrl.c:896]: Outgoing call established (call ID 0, peer's call ID 20770). Nov 9 23:47:43 (none) pptp[11081]: anon log[callmgr_main:pptp_callmgr.c:231]: Closing connection (unhandled) Nov 9 23:47:43 (none) pptp[11081]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request' Nov 9 23:47:43 (none) pptp[11081]: anon log[call_callback:pptp_callmgr.c:78]: Closing connection (call state)

и может пройти как пару секунд после установки соединения, так и пару часов. пока максимум это минут 30 держалось.

куда копать?

интерфейс ppp0 отваливается тоже.

Shinkei_aka_HepB ()

vpn corbina

Вот. Не буду рассказывать, как я поднимал DHCP, качал свежее ядро 2.6.18, собирал его с поддержкой всевозможных опций PPP (mppe, etc), ставил pptp-linux...

остановлюсь на том, что команда pppd call corbina поднимает вполне реальный интерфейс ppp0 со всеми нужными параметрами и устанавливается шлюз.

через 2 минуты после поднятия интерфейс падает, рисуя в логах инфу о том, что принято мегабайт 200, передано 0, при этом ничего не пингуется и никуда не ходит. чтобы это значило?

конфиги привести не могу - всё дома осталось... хотя. вот: /etc/ppp/chap-secrets myusername PPTP mypasswd *

/etc/options.pptp lock nobsdcomp nodeflate persist

/etc/ppp/peers/corbina pty "pptp 83.102.254.253 --nolaunchpppd" connect /bin/true name myusername remotename PPTP ipparam corbina file /etc/ppp/options.pptp

$ pppd call corbina using channel 70 Using interface ppp0 Connect: ppp0 <--> /dev/pts/0 бла-бла-бла мы получили IP, шлюз и днс а через пару минут: Modem hangup Connection terminated. Script pptp 83.102.254.253 --nolaunchpppd finished (pid 10286), status = 0x0

Shinkei_aka_HepB ()

восстановить таблицу...

была в БД mysql таблица partners. и были в ней поля с кодировкой latin1_swedish_ci. туда вебмастер вбивал всякую инфу в кодировке cp1251.

вот. и всё он туда нормально вбивал и доставал. и вообще пройдясь по базам, которые на этом серваке лежали, и нашёл разные таблицы с кодировкой latin1_swedish_ci в которых хранился текст в cp1251. вот. и вдруг меня пропёрло поменять локаль в my.cnf, на 1251, добавив туда немного строчек для этого.

получилось следующее. во всех нерусских таблицах, где был русский текст, стали показываться вопросики, или примерно такие темы: oAuOooU ну или как там. короче надо это дело восстановить. бекабы баз за каждые сутки есть, в т.ч. и за день до фикса конфига.

в бекапах всё в утф8. кто может совет подкинуть?

Shinkei_aka_HepB ()

rrdtool vs koi8-r

на домашней тачке был mrtg. собрал rrdtool-1.2.15. всё стало красиво показывать, как например на моей домашней тачке - http://tokyo3.spb.ru/mrtg/stat.php?name=tun0

вот. но на работе фигня какая-то получается. кодировка нерусская не разу. какие-то AuoEEAoUu и всё в этом духе.

куда копать? Локаль проверял.

Shinkei_aka_HepB ()

backup

задумался над темой. причём так нехило задумался, уже час думаю как сделать.

есть каждодневные бекапы баз, настроек, там фигни всякой, гигов на 7 набирается...

естественно хранить на винтах интересно, но не очень. реально недели за 2-3 хранить, потом актуальность баз - несколько дней.

вот. мечтаю о таком - приходишь утром - вставляешь болвань ДВД дабллейр и идёшь пить кофе. ну там ентер нажать для прикола.

т.е. собрать мусор в одной папке и запустить по крону писатель - это да. а вот чтобы он ждал пока не вставят болвань и вообще чем под линухом пишут двд, это я не знаю. софт для записи под линуксом видел только у знакомого и то года 4 назад.

Shinkei_aka_HepB ()

пересобрать sendmail

есть в конторе sendmail. версии не самой свежей. хочется пересобрать. очень. но ещё больше хочется знать с какими параметрами он собран. чтобы потом не ловить кайф в холодной серверной с литрами кофе и красными глазами.

как узнать?

Shinkei_aka_HepB ()

Slackware и локаль

Поставил слаку на ноут... мозилку, тандербёрд, хчат, etc. Как ни крутил /etc/profile, /etc/profile.d, ну никак софтинки не могут понят, что я из России. Вроде в КДЕ всё по русски, а вот файрфокс, тандербёрд и вообще всё запускаемое менюшки и прочее англицким рисует.

Shinkei_aka_HepB ()

htick-1.4-RC2 VS tics

Во. Баян конечно, но просто влом вспоминать, может кто знает. давно ещё в ru.husky обсуждалось о том, что: ---------- Fri 24 Mar 06, HTick/lnx 1.4.0-sta 18-09-03 1 23.37.27 Start 6 23.37.27 Checking tmp dir 6 23.37.27 Processing Tic-File /srv/fido/inbound/sreva6nv.tic 6 23.37.27 File: (null) size: 0 area: CRYSTAL.LOCAL from: 0:0/0 orig: 0:0/0 1 23.37.27 End ----------

вроде в сырцах надо ковырять. ткните ктонить пальтсем, где?

Shinkei_aka_HepB ()

QoS

Есть оптика, правда режется канал до 256 кбит. на нём хостинг, всякие премудрости... так вот если допустим с него тянут снаружи пару файлов, и кусков по 5 одновременно каждого, то наружу просто не пробиться... как в апаче ограничить число коннектов одновременно с каждого хоста допустим до 2-3?

ну или какими ещё способами можно организовывать хотябы килобит резерва наружу? чтобы пинги проходили там, почта почутьчуть и запросы всякие?

Shinkei_aka_HepB ()

выбор файловой системы и т.д для баз и почты

Прикупил инженер винт. ВД Раптор на 37 гигов. Собсно хочется туда перенести базы mysql (около 5 гигов в общем), почту и прочее. я так думаю как лучше сделать, либо полностью /home и /var на другой винт перенести или сделать какойнить левый /mass, в него накидать всего от души и сделать на старые места симлинки.

и ещё. какую ФС выбрать? мя склонаяется к reiserfs. может кто меня поправит.

Shinkei_aka_HepB ()

sendmail log

Короче делаю так:

#!/bin/bash MY_DATE=$(date +%Y-%m-%d) mkdir /var/log/.archive/$MY_DATE

# sendmail sh /etc/rc.d/rc.sendmail stop mv /var/log/mail.log /var/log/.archive/$MY_DATE/mail.log mv /var/log/mail.err /var/log/.archive/$MY_DATE/mail.err sh /etc/rc.d/rc.sendmail start

И О Чудо! логи продолжают писаться в /var/log/.archive/$MY_DATE/mail.log

как такое побороть?

Shinkei_aka_HepB ()

mail.log

Дайте п-та скриптики для обработки сабжа... хочется чтобы умел по дням показывать, разные статсы и прочее.

из-за использования кламава такие темки получаются в логах:

Feb 28 17:14:42 asus sm-mta[27617]: k1SEEesI027617: from=<support@microsoft.com>, size=33764, class=0, nrcpts=1, msgid=<000001c63c70$f3bea880$010aa8c0@shop>, proto=ESMTP, daemon=MTA, relay=maila.microsoft.com [131.107.3.124] Фев 28 17:14:42 asus clamav-milter[27619]: k1SEEesI027617: clean message from <support@microsoft.com> Feb 28 17:14:43 asus sm-mta[27624]: k1SEEesI027617: to=<admin@animka.spb.ru>, delay=00:00:02, xdelay=00:00:01, mailer=local, pri=64043, dsn=2.0.0, stat=Sent

это если снаружи. если наружу, то:

Feb 28 15:35:44 asus sm-mta[21661]: k1SCZi8l021661: from=<admin@animka.spb.ru>, size=1091, class=0, nrcpts=1, msgid=<737919935.20060228153544@animka.spb.ru>, proto=ESMTP, daemon=MTA, relay=admin.domain_ic.local [192.168.0.199] Фев 28 15:35:44 asus clamav-milter[21662]: k1SCZi8l021661: clean message from <admin@animka.spb.ru> Feb 28 15:35:46 asus sm-mta[21664]: k1SCZi8l021661: to=<support@microsoft.com>, ctladdr=<admin@animka.spb.ru> (917/100), delay=00:00:02, xdelay=00:00:02, mailer=esmtp, pri=31091, relay=maila.microsoft.com [131.107.3.124], dsn=2.0.0, stat=Sent (Ok, message saved <Message-ID: <737919935.20060228153544@animka.spb.ru>>)

вот.

Shinkei_aka_HepB ()

сразу пара вопросов по сендмылу

Есть внутренняя сеть, там манагеры, кидают почту друг-другу и наружу... хочется так, чтобы друг-другу они кидать почту продолжали, а вот вся внешняя корреспонденция уходила на смтп провайдера... это раз ;)

и ещё хочется как-нить сказать в файлике /etc/mail/access чтобы сендмыло рвало связь со всякими адресами, например spb-62-141-124-130.sovintel.spb.ru, ну короче реагировало на abc-def-xxx-yyy =) в адресе отправителя.

Shinkei_aka_HepB ()

sendmain smtp field «Subj:» filter

Как сделать так, чтобы smtp реджектилил письма не принимая их полностью, в поле Subj: которых "price", "Secure E-mail" ну и так далее?

Shinkei_aka_HepB ()

dspam 7bit

Возникла трабла. Давно ещё, с установки dspam-3.4.9...

письма в history нормально отображаются, точнее из заголовки, а вот в quarantine получается примерно такое:

98% =?Windows-1251?B?xevo5+Di5fLg?= <ohxmeo491@indi.ru... =?Windows-1251?B?xevo5+Di5fLgIG9oeG1lbzQ5MUBpbmRpL... 52% "Majd" <walterlyn@luukku.com> incoherent Get curing products from our estore. mu... 100% =?windows-1251?B?MjMgLSAyNCDg4uPz8fLgIDIwMDUg4+7k4... =?windows-1251?B?z/D u8PviIOIg7/Du5ODm4PU?=

хочется узнать, каким образом это можно обойти. али может это траблы сендмыла?

короче очень сильно жду советов.

Shinkei_aka_HepB ()

clamav

Работает clamav в связке с сендмылом, dspam, popa3d. Отвалился.

В логах пишется следующее: milter (clamav): local socket name /var/run/clamav/clmilter.sock unsafe

при запуске вот такое выдаёт: Starting ClamAV: /usr/local/sbin/clamd Starting ClamAV mitler filter: /usr/local/sbin/clamav-milter -lo /var/run/clamav/clmilter.sock /usr/local/sbin/clamav-milter: --timeout must not be given if --external is not given Starting sendmail MTA daemon: /usr/sbin/sendmail -L sm-mta -bd -q15m WARNING: Xclamav: local socket name /var/run/clamav/clmilter.sock missing Starting sendmail MSP queue runner: /usr/sbin/sendmail -L sm-msp-queue -Ac -q25m

куда копать?

Shinkei_aka_HepB ()

RSS подписка на новые темы