Sziasztok.
A következő érdekes problémába futottam bele. XP-s kliensek munkacsoportban, thunderbird levelező, exim szerver. Minden a legnagyobb rendben. Múlt héten beléptettem a XP-ket active directory alá. (SBS 2003). A linux nincs AD alatt. Na innentől kezdve a levélküldés kicsit lelassult. Mint kiderítettem az exim minden levélküldés előtt csinál egy blacklist-es szűrést. Persze van beállítva 4 szerver, tehát kell is csinálnia, de nem a kimenő leveleken, hanem a bejövőkön (amely működik is). Tehát a kérdés: mi a bánatért ellenőrzi a kimenő leveleket?
exim.conf:
# MAIN CONFIGURATION SETTINGS #
primary_hostname = akarmi.hu
domainlist local_domains = akarmi.hu
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1 : 192.168.1.0/24
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_not_smtp = acl_check_not
av_scanner = clamd:127.0.0.1 3310
spamd_address = 127.0.0.1 783
qualify_domain = akarmi.hu
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 5s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
begin acl
acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = postmaster
domains = +local_domains
require verify = sender
drop log_message = found in $dnslist_domain
dnslists = sbl-xbl.spamhaus.org : dnsbl.njabl.org : list.dsbl.org : cbl.abuseat.org : relays.ordb.org
accept domains = +local_domains
endpass
verify = recipient
accept domains = +relay_to_domains
endpass
verify = recipient
accept hosts = +relay_from_hosts
accept authenticated = *
deny message = relay not permitted
acl_check_data:
deny malware = *
message = This message contains a virus ($malware_name).
warn message = :after_received:X-Virus-Check: \
${run{/usr/sbin/clamd --version}\
{${extract{1}{/}{$value}}/${extract{2}{/}{$value}}}\
{unchecked}} on $primary_hostname; $tod_full
warn spam = nobody:true
message = X-Spam_score: $spam_score\n\
warn spam = nobody:true
message = X-Spam_Status: $spam_report
condition = ${if > {$spam_score_int}{0}{1}{0}}
warn message = X_Spam_Status: Yes
spam = nobody
condition = ${if > {$spam_score_int}{50}{1}{0}}
deny message = This message scored $spam_score spam points.
spam = nobody:true
condition = ${if > {$spam_score_int}{70}{1}{0}}
accept
acl_check_not:
deny condition = ${if !eq {$sender_address}{}{yes}{no}}
message = Message contains malware ($malware_name)
log_message = Malware ($malware_name) for $recipients
malware = *
control = freeze
warn message = :after_received:X-Virus-Check: \
${run{/usr/sbin/clamd --version}\
{${extract{1}{/}{$value}}/${extract{2}{/}{$value}}}\
{unchecked}} on $primary_hostname; $tod_full
accept
# ROUTERS CONFIGURATION #
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{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
file =${home}/.forward
allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_directory
pipe_transport = address_pipe
reply_transport = address_reply
directory_transport = address_directory
localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user
# TRANSPORTS CONFIGURATION #
begin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
mode_fail_narrower=false
directory=${home}/Maildir
envelope_to_add=true
return_path_add=true
group = mail
mode = 0660
maildir_format
address_pipe:
driver = pipe
return_output
address_directory:
driver=appendfile
maildir_format
address_reply:
driver = autoreply
- 3714 megtekintés
Hozzászólások
Talan, ha ezt:
drop log_message = found in $dnslist_domain
dnslists = sbl-xbl.spamhaus.org : dnsbl.njabl.org : list.dsbl.org : cbl.abuseat.org : relays.ordb.org
atirnad pl. igy:
drop log_message = found in $dnslist_domain
hosts = !+relay_from_hosts
dnslists = sbl-xbl.spamhaus.org : dnsbl.njabl.org
Ezentul felhivnam a figyelmed, hogy az ordb.org mar jo fel eve bezart.
- A hozzászóláshoz be kell jelentkezni
Kösz.
Holnap kipróbálom.
- A hozzászóláshoz be kell jelentkezni
Igen ez jó. Most nem ellenőrzi a kimenő leveleket. Viszont valamiért még mindig lassú. Nem vészes de kicsit kellemetlen.
- A hozzászóláshoz be kell jelentkezni
Deritsd ki hol/miert lassu. Ha kiveszed az rbl checket akkor is? Teszter jobaratja az exim -bh opcioja.
- A hozzászóláshoz be kell jelentkezni
Tehát:
linux:~ # exim -bh 209.85.135.109 (smtp.gmail.com)
**** SMTP testing session as if from host 209.85.135.109
**** but without any ident (RFC 1413) callback.
**** This is not for real!
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? yes (matched "*")
>>> looking up host name for 209.85.135.109
>>> IP address lookup yielded mu-in-f109.google.com
>>> gethostbyname2 looked up these IP addresses:
>>> name=mu-in-f109.google.com address=209.85.135.109
>>> checking addresses for mu-in-f109.google.com
>>> 209.85.135.109 OK
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 akarmi.hu ESMTP Exim 4.67 Wed, 20 Jun 2007 09:55:04 +0200
mail from:<>
250 OK
rcpt to:
>>> using ACL "acl_check_rcpt"
>>> processing "accept"
>>> check hosts = :
>>> host in ":"? no (end of list)
>>> accept: condition test failed
>>> processing "deny"
>>> check domains = +local_domains
>>> akarmi.hu in "akarmi.hu"? yes (matched "akarmi.hu")
>>> akarmi.hu in "+local_domains"? yes (matched "+local_domains")
>>> check local_parts = ^[.] : ^.*[@%!/|]
>>> dj in "^[.] : ^.*[@%!/|]"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check domains = !+local_domains
>>> akarmi.hu in "!+local_domains"? no (matched "!+local_domains" - cached)
>>> deny: condition test failed
>>> processing "accept"
>>> check local_parts = postmaster
>>> dj in "postmaster"? no (end of list)
>>> accept: condition test failed
>>> processing "require"
>>> check verify = sender
>>> require: condition test succeeded
>>> processing "drop"
>>> check hosts = !+relay_from_hosts
>>> host in "127.0.0.1 : 192.168.1.0/24"? no (end of list)
>>> host in "!+relay_from_hosts"? yes (end of list)
>>> check dnslists = sbl-xbl.spamhaus.org : dnsbl.njabl.org : list.dsbl.org : cbl.abuseat.org
>>> DNS list check: sbl-xbl.spamhaus.org
>>> new DNS lookup for 109.135.85.209.sbl-xbl.spamhaus.org
>>> DNS lookup for 109.135.85.209.sbl-xbl.spamhaus.org failed
>>> => that means 209.85.135.109 is not listed at sbl-xbl.spamhaus.org
>>> DNS list check: dnsbl.njabl.org
>>> new DNS lookup for 109.135.85.209.dnsbl.njabl.org
>>> DNS lookup for 109.135.85.209.dnsbl.njabl.org failed
>>> => that means 209.85.135.109 is not listed at dnsbl.njabl.org
>>> DNS list check: list.dsbl.org
>>> new DNS lookup for 109.135.85.209.list.dsbl.org
>>> DNS lookup for 109.135.85.209.list.dsbl.org failed
>>> => that means 209.85.135.109 is not listed at list.dsbl.org
>>> DNS list check: cbl.abuseat.org
>>> new DNS lookup for 109.135.85.209.cbl.abuseat.org
>>> DNS lookup for 109.135.85.209.cbl.abuseat.org failed
>>> => that means 209.85.135.109 is not listed at cbl.abuseat.org
>>> drop: condition test failed
>>> processing "accept"
>>> check domains = +local_domains
>>> akarmi.hu in "+local_domains"? yes (matched "+local_domains" - cached)
>>> check verify = recipient
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing dj@akarmi.hu
>>> akarmi.hu in "! +local_domains"? no (matched "! +local_domains" - cached)
>>> calling system_aliases router
>>> system_aliases router declined for dj@akarmi.hu
>>> calling localuser router
>>> routed by localuser router
>>> ----------- end verify ------------
>>> accept: condition test succeeded
250 Accepted
data
354 Enter message, ending with "." on a line by itself
dfg dfg dg df gd gd df
.
>>> host in ignore_fromline_hosts? no (option unset)
>>> using ACL "acl_check_data"
>>> processing "deny"
>>> check malware = *
>>> deny: condition test failed
>>> processing "warn"
>>> warn: condition test succeeded
>>> processing "warn"
>>> check spam = nobody:true
>>> trying server 127.0.0.1, port 783
>>> warn: condition test succeeded
>>> processing "warn"
>>> check spam = nobody:true
>>> check condition = ${if > {$spam_score_int}{0}{1}{0}}
>>> = 1
>>> warn: condition test succeeded
>>> processing "warn"
>>> check spam = nobody
>>> warn: condition test failed
>>> processing "deny"
>>> check spam = nobody:true
>>> check condition = ${if > {$spam_score_int}{70}{1}{0}}
>>> = 0
>>> deny: condition test failed
>>> processing "accept"
>>> accept: condition test succeeded
>>> unspool_mbox(): unlinking '/var/spool/exim/scan/1I0v4j-0002vK-BA/1I0v4j-0002vK-BA.eml'
LOG: 1I0v4j-0002vK-BA <= <> H=mu-in-f109.google.com [209.85.135.109] P=smtp S=908
250 OK id=1I0v4j-0002vK-BA
**** SMTP testing: that is not a real message id!
quit
221 akarmi.hu closing connection
Úgy néz ki, hogy még mindig csinál egy rbl ellenőrzést, sőt egy spamszűrést is. Javítsatok ki ha nem így van. Gondolom ezt a kettőt kellene valahogy a kimenő leveleken elkerülni. Erre kérnék javaslatot. Bocs, hogy ilyen hosszú post-okat írok.
Úgy néz ki a dj@akarmi.hu-t több helyre beírja a rendszer. Eredetileg az csak a rcpt to mögött van, ahol most nincs.
- A hozzászóláshoz be kell jelentkezni
A fenti configmodositas azt mondta meg, hogy azoknak, akinek ip alapon relayelsz, az o leveleiket ne rbl-ezze. Mivel te most a -bh utan egy googles ip-t irtal s feltetelezem nem te vagy a google :) igy jo, hogy csinal rbl vizsgalatot.
- A hozzászóláshoz be kell jelentkezni
OK. Ezt értem. De azt nem, miért lassú a levélküldés. Kipróbáltam, hogy telnettel rájelentkeztem. telnet mail.akarmi.hu 25
interneten keresztül 10s, szerverről(amelyiken az exim van) azonnal, a helyi hálózat egy gépéről 25 s!!!!
miért ilyen lassú? Mi a fenét szöszmötöl 25 másodpercig?
- A hozzászóláshoz be kell jelentkezni
Ket dolog lehet: egyik a mar emlitett ident check (113/tcp), a masik valamilyen dns timeout. Tuzfal kornyeken nezz szet, ervenyes-e minden ns bejegyzes stb. De azert is irtam a -bh-val valo tesztelest, mert ott mikor irogatod be a parancsokat, latod hogy az exim mivel tokol (debug), hol var sokat. Nyilvan most hogy copypaste beirtad ide, az egyes commandok kozti wait nem jott at... :)
- A hozzászóláshoz be kell jelentkezni
Kikapcsolt tűzfal mellett is lassú. Az exim -bh parancsot, csak a szerveren tudom kipróbálni, ott pedig nincs probléma. Egy furcsaságot vettem észre. Nem hajlandó a szerver a helyi háló gépeit dns-en keresztül megtalálni, csak ha beírom a hosts-ba. Külső címet gond nélkül felold. Gondolom, mivel most a gépek bekerültek az active directory címkeresési zónájába, ezért nem tudja feloldani a gépneveket. Mivel lehetne rávenni a linux-ot, hogy ezt a címkeresési zónát használja? resolv.conf?
Igaz előtte sima munkacsoport volt és a gépek nem voltak felvéve a hosts-ba, mégsem volt lassú a küldés.
- A hozzászóláshoz be kell jelentkezni
Az exim is (mint minden normalis app) a resolv.confban megadott nevszerverekhez fordul. Ha ezek nem tudjak feloldani a(z akar reverse) nevet, akkor lehet problema. A domain controller most az elsodleges nevszerver a resolv.confban?
- A hozzászóláshoz be kell jelentkezni
A resolv.conf-ban jól van beállítva a nameserver, amely egyben a domain controller. Mivel sokkal egyszerűbb úgy telepíteni active directory-t, hogy rögtön dns szervert is telepítek hozzá. Mindezt sbs2003 alatt. A nslookup feloldja a gépnevet, viszont a ping már nem. Csak a belső háló gépeivel van baj. Azok közül is csak azokról lassú a levélküldés, amelyeket bejelentkeztettem active directory alá. Munkacsoportos gépekről nincs lassulás.
- A hozzászóláshoz be kell jelentkezni
Hmm... a resolv.conf-ba van domain vagy search kucsszavas beállítás is?
domain mittudomain.hu
nameserver 192.168.0.5
- A hozzászóláshoz be kell jelentkezni
nem lehet hogy a kliensek blokkoljak az auth portot?
rfc1413_hosts = *
rfc1413_query_timeout = 5s
- A hozzászóláshoz be kell jelentkezni
Ezt, hogy tudom megállapítani?
- A hozzászóláshoz be kell jelentkezni
ha a kliensek kuldeskor varnak "rfc1413_query_timeout" masodpercet akkor valoszinu. ha a tuzfalukon engedelyezed a 113/tcp-t es ez elmulik akkor mar tuti :)
- A hozzászóláshoz be kell jelentkezni
Mint írtam kikapcsolt tűzfal mellet is lassú. Engedélyeztem a szerveren is 113-as portot de semmi változás.
- A hozzászóláshoz be kell jelentkezni
Megtekintettem a forgalmat ethereallal. Ha pingetek egy ad-s gépet akkor nem dns protokollal próbálkozik az alapértelmezett dns szerveren, hanem mdns protokollal 224.0.0.251 címen. Persze ilyen nincs, ezért nem is tudja feloldani a gépnevet. Ha egy külső címet pingetek, akkor normálisan dns kéréssel pillanatok alatt feloldja a gépnevet. Na ezért lassú az exim is.
Mi ez a mdns és hogy lehet kikerülni?
- A hozzászóláshoz be kell jelentkezni
Multicast DNS. telepitsd le. ilyen csomagneveket keress: mdns, avahi, zeroconf
- A hozzászóláshoz be kell jelentkezni
Hi.
Sajna nem lehet, mert dependel rá a fél rendszer. Most azt csináltam, hogy a nss_mdns.conf-ban a domain local sorban a local-t átírtam loc-ra. Valamint a host.conf végére beírtam azt, hogy mdns off. Nagyságrendekkel gyorsabb lett. De még mindig nem az igazi, mert mégis próbálkozik az mdns, igaz, hogy közben dns-el megjön a cím. Ezért kb. 10 másodpercre csökkent a levélküldés.
Van valakinek más ötlete?
- A hozzászóláshoz be kell jelentkezni
nsswitch.conf hosts: része?
- A hozzászóláshoz be kell jelentkezni
hosts: files dns
- A hozzászóláshoz be kell jelentkezni
Megoldódott. A host.conf-ban mdns off alkalmazása, valamint a nss_mdns.conf-ban a domain local átírása domain loc-ra. Ez az utóbbi nem biztos, hogy kell. De a legfontosabb kimaradt. Mivel ez egy email és samba szerver nem indítgatom újra mindennap. De a nscd-t kellett újraindítani és voila. A fene essen bele. Most azonnal csatlakozik az email kliens és a telnet is. Azért köszi mindenkinek.
- A hozzászóláshoz be kell jelentkezni
Yaya, az nscd minden DNS mutyi után restartolandó, mert lomha nagy dög.
- A hozzászóláshoz be kell jelentkezni
Üdv!
Egy hülye kérdés: egy gépen csak local delivery van, exim4-el. A root@localhost-ra küldött levelek nem mennek el, de mindenki másnak elmennek. Mi okozhatja ezt? Az aliases file-ban meg van adva, hogy a root leveleit ki kapja meg, de nem ér oda, az exim mailq-ban ott vannak beragadva a root@localhost-ra címzett levelek. Newaliases lefuttatva, de továbbra sem mennek el a levelek...
Mi lehet a hiba?
Petya
- A hozzászóláshoz be kell jelentkezni
Talan ha megnezned s beirnad a logot is...
- A hozzászóláshoz be kell jelentkezni
sziasztok,
openwebmail ujratelepites utan , fetchmail leszedi szepen a leveleket, ahogy user beloginol, viszont exim nem tovabbitja oket a megfelelo usernek, jogokat beallitottam, minden ilyesmi, kuldeni tudnak mailt csak nem kapjak meg oket !
a kovetkezo hibat dobja exim paniclog :
2009-05-20 10:08:07 1M5xqK-0000uU-5U unable to set gid=8 or uid=1009 (euid=100): local delivery to peter
transport=mail_spool
2009-05-20 10:08:07 1M5xqK-0000uU-5U failed to read delivery status for peter@valami.hu from delivery subprocess
2009-05-20 10:08:07 1M5xqK-0000uU-5U appendfile transport process returned non-zero status 0x0100: exit code 1
tudna valaki valami otletet adni, eximhez egyatlalan nem nyultam es megis ...
koszike
- A hozzászóláshoz be kell jelentkezni
up
- A hozzászóláshoz be kell jelentkezni
legalabb a transportot masold ide
ezen kivul a csoportnak legyen irasi joga:
mail:~# ls -ld /var/mail
drwxrwsr-x 2 root mail 4096 2008 máj 9 /var/mail
- A hozzászóláshoz be kell jelentkezni
jogok jok ua amiket te irtal
transportot ? ez lehetne pontosabban ? :O
- A hozzászóláshoz be kell jelentkezni
"transport=mail_spool"
es egy ls -l /var/mail/peter
- A hozzászóláshoz be kell jelentkezni
koszonom szepen , megoldodott
eximnek nem voltak jogai
- A hozzászóláshoz be kell jelentkezni
setuid
- A hozzászóláshoz be kell jelentkezni
En is kerdeznek :) Ha x ideig nem megy el a level (mondjuk ket napig), akkor hogyan tudom "rakenyszeriteni", hogy csinaljon vele valamit? Mondjuk, dobja vissza a feladonak vagy hajitsa ki?
Retry a defaulton van:
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
Ezenkivul meg talaltam a
retry_data_expire = 1w
beallitast, de sztem ez sem a megfelelo....
Jelenleg lefut egy srcipt orankent es a harom napnal regebbi cuccot torli, de jobb lenne, ha ezt exim csinalna...
Koszi a valaszt!
- A hozzászóláshoz be kell jelentkezni
Ezeket nezd meg:
ignore_bounce_errors_after
timeout_frozen_after
- A hozzászóláshoz be kell jelentkezni
Koszi, utananezek. Sajnos, csak postfixhez ertek valamennyire es most kedves fonokom ramlocsolte, hogy keressem ezt meg az egyik exim-et hasznalo szerverunkon. En meg igen kevesse imserem az eximet :)
- A hozzászóláshoz be kell jelentkezni
en csak a frozen uzeneteket torlom a queuebol naponta:
for msgid in `exim4 -bpr | grep "frozen" | awk '{ print $3 }'`; do
echo "=== remove: $msgid ==="
exim4 -Mrm $msgid
done
de ugyanebbol a listabol kiveheted azokat is amelyek mar > x ideje vannak a queueban.
a felado automatikusan olyan uzenetet kap naponta hogy: mar 24 oraja nem sikerult kezbesiteni a levelet, de nem kell tenned semmit mert tovabb probalkozom, stb.
- A hozzászóláshoz be kell jelentkezni
Hat ez az, itt is hasonloan megy, csak en "find -mtime"-ot hasznalk. Ehelyett kellene, hogy az exim kezelje le, ne egy kulso script.
- A hozzászóláshoz be kell jelentkezni
"exim4 -bpr" -bol grepeld ki
szerk: ja ertem, ennel eximesebb megoldast keresel
- A hozzászóláshoz be kell jelentkezni
Jaja. Amit LiRul irt, utanaolvastam, de kiprobalni csak holnap fogom. Es lesz ket nap, mire kiderul, hogy jol csinaltam-e :)
- A hozzászóláshoz be kell jelentkezni