Archief - simpele linux smtp server met masquerade mogelijkheid

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ShPonGle

Legacy Member
Ik zoek een easy en dus vlug op te zetten distro waarbij zeker sendmail en eventueel antispam software default voorzien is, en waarbij liefst volgende opties aanwezig zijn:

- mogelijkheid splitsing inbound en outbound mail (op apart ip)
- smtp domain masquerading voor uitgaande mail: maakt van lokaal smtp domein (zoals @test.local) @telenet.be zodat ik geen MX record nodig heb

vroeger deed ik beide zaken probleemloos via symantec sms for smtp maar die install is naar de kl*... sinds de laatste windows updates.

ShPonGle

Legacy Member
J3rry zei:
kijk hier eens, is wel een server distro
Superb Mini Server Project
spijtig, deze werkt niet op hyper-V (vergeten te vermelden, was 3e voorwaarde). fatale errors during install zonder reden... eens proberen met een ubuntu nu.

edit: de 32-bit versie werkt wel op hyper-V zie ik. eens zien of deze de legacy netwerkadapter herkent...

ShPonGle

Legacy Member
RpR zei:

Het lukt me niet met postfix met die Slackware SMS server, heb al vanalles geprobeerd maar zit in de knoop. Zal even illustreren wat ik precies wil:


- al de mail komt binnen op linux.domain.local, heeft als SMTP-domein @domain.local (via toolke geregeld), en al deze incoming mail moet gerelayed worden naar een andere machine, exchange.domain.local ipv local delivery te doen. de linux zit zelf niet in het domein.

- daarnaast moet alle uitgaande mail die exchange.domain.local eerst relayet naar linux.domain.local, via out.telenet.be naar buiten gaan.

nog geen van beide is gelukt, beide mails belanden in de linux mail queue... :s

ShPonGle

Legacy Member
thx voor de 1e tip, dat zie ik idd ook in orde komen maar is ook geen main issue. het is het relayen dat ik niet in orde krijg.

ik configureer de postfix trouwens volledig via Webmin, misschien dat je me op weg kan zetten als ik de diverse screens post waar ik vraagtekens bij heb?

dJeez

Legacy Member
Misschien een domme opmerking, maar heb je de logs al eens gechecked? Het kan nl. best zijn dat alles op Linux wel in orde is maar dat de Exchange server uw mails niet accepteert (en stil dropt). Post anders uw postfix config eens (gecensureerd waar nodig :p).

ShPonGle

Legacy Member
neenee, logs zijn ok hoor. exchange levert zeker de outgoing mails goed af aan de linux.

Wat ik me wel nog afvraag, wat is de relatie van Postfix tot Sendmail: kan postfix perfect werken zonder sendmail en kan sendmail werken zonder postfix? Momenteel staan beide er op maar is enkel de postfix geconfigureerd, zou dat een probleem kunnen zijn?

ShPonGle

Legacy Member
ik denk dat ik nader. op die SMS server staat er naast Postfix en Sendmail ook nog wat andere software die invloed heeft op het mailproces:

-SpamAssassin: zou blijkbaar manueel opgestart moeten worden via /usr/bin/spamd -d
- Procmail: geen idee wat dit doet, maar heb nu gedaan zoals ze hier zeggen want in de webmin stond die als blanco geconfigged: Postfix SpamAssassin Procmail

zal server nu eens rebooten en zien wat het geeft want outgoing mail vanaf de exchange blijft nog steeds in queue van de linux hangen zonder error of iets, incoming nog niet getest.

edit: geen oplossing. er staat ook ClamAV op die server zie ik, tis te veel in één keer, dit is geen "simpele linux smtp server" meer :s

mijn /etc/postfix/main.cf
(vuile boel i know, al vanalles geprobeerd)

command_directory = /usr/sbin/
daemon_directory = /usr/libexec/postfix
mydestination = $mydomain, localhost.$mydomain, $myhostname
local_recipient_maps = $alias_maps unix:passwd.byname $virtual_mailbox_maps
unknown_local_recipient_reject_code = 550
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/sbin/newaliases
mailq_path = /usr/sbin/mailq
setgid_group = postdrop
manpage_directory = /usr/man
sample_directory = /etc/postfix/sample
smtp_use_tls = yes
sendmail_path = /usr/sbin/sendmail
virtual_alias_maps = hash:/etc/postfix/virtual, $alias_maps
mail_spool_directory = /var/spool/mail
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_use_tls = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:2501
alias_maps = hash:/etc/mail/aliases, nis:mail.aliases
alias_database = hash:/etc/mail/aliases
smtpd_reject_unlisted_recipient = no
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/certs/dovecot.pem
smtpd_milters = unix:/var/run/clamav-milter/milter.sock
milter_default_action = accept
header_checks = regexp:/etc/postfix/header_checks
relayhost = uit.telenet.be
smtp_generic_maps = hash:/etc/postfix/generic
myorigin = $mydomain
mailbox_command = /usr/bin/procmail -f- -a "$USER"

en ivm die masquerade (die topic van RpR), in die postmap generic file ,wist ik ook niet meteen wat, waar en hoe te zetten, heb er dit van gemaakt:

...
#
# EXAMPLE
# The following shows a generic mapping with an indexed
# file. When mail is sent to a remote host via SMTP, this
# replaces [email protected] by his ISP mail address,
# replaces [email protected] by her ISP mail address,
# and replaces other local addresses by his ISP account,
# with an address extension of +local (this example assumes
# that the ISP supports "+" style address extensions).
#
# /etc/postfix/main.cf:
# smtp_generic_maps = hash:/etc/postfix/generic
#
# /etc/postfix/generic:
#
[email protected] [email protected]
#
# Execute the command "postmap /etc/postfix/generic" when-
# ever the table is changed. Instead of hash, some systems
# use dbm database files. To find out what tables your sys-
# tem supports use the command "postconf -m".
#
# BUGS
...

ter info, shpongle adres is fictief, vervangt mijn voornaam en achternaam.

en in de /var/log/maillog:
Aug 9 21:50:26 linux MailScanner[1847]: File checker failed with real error: Can't fork at /opt/MailScanner/lib/MailScanner/SweepOther.pm line 403.

op internet volgende oplossing: http://www.bluequartz.us/phpBB2/viewtopic.php?p=452909&sid=d75ac8aeae4f655e9c5f58d9a04d6d42
reinstall Mailscanner...
tja een afgewerkt product is anders imo, zoiets moet toch ootb werken?
en wtf is Mailscanner anyway?? spamass, clamav, procmail???

2e edit: hmm na de spamass die niet vanzelf draait, blijkt ook mailscanner niet te draaien, en zolang dat deze niet draait, is er geen mail delivery. heb deze nu gestart de mails in de queue zijn verdwenen maar komen niet aan, ook niet na reboot, ze zijn precies opgegeten, de log toont dat ze geremoved zijn, en ook dat de connectie met de exchange precies niet meer goed gaat:

Aug 9 22:22:37 mail MailScanner[2108]: Found 7 messages in the Processing Attempts Database
Aug 9 22:22:38 mail MailScanner[2108]: Using locktype = flock
Aug 9 22:23:08 mail postfix/postsuper[2426]: AC540C1DDB: removed
Aug 9 22:23:08 mail postfix/postsuper[2426]: Deleted: 1 message

Aug 9 22:23:25 mail postfix/smtpd[2509]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Aug 9 22:23:25 mail postfix/smtpd[2509]: connect from exchange.domain.local[192.168.1.200]
Aug 9 22:23:26 mail postfix/cleanup[2511]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Aug 9 22:23:26 mail postfix/smtpd[2509]: 15F16C1DDB: client=exchange.domain.local[192.168.1.200]
Aug 9 22:23:26 mail postfix/cleanup[2511]: 15F16C1DDB: hold: header Received: from exchange.domain.local (exchange.domain.local [192.168.1.200])??by mail.localdomain (Postfix) with ESMTPS id 15F16C1DDB??for <[email protected]>; Mon, 9 Aug 2010 22:23:25 +0200 (CES from exchange.domain.local[192.168.1.200]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<exchange.domain.local>
Aug 9 22:23:26 mail postfix/cleanup[2511]: 15F16C1DDB: message-id=<A5326445ECF11F41ABA34B651C6BEDD1018B5A8E4BDD@exchange.domain.local>
Aug 9 22:23:26 mail postfix/cleanup[2511]: 15F16C1DDB: milter-reject: END-OF-MESSAGE from exchange.domain.local[192.168.1.200]: 4.7.1 Service unavailable - try again later; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<exchange.domain.local>

ShPonGle

Legacy Member
niemand die weet waarom Mailscanner betrouwbare mails opeet? precies weinig linux kennis hier...

ShPonGle

Legacy Member
ben eens helemaal herbegonnen en heb nu enkel postfix en clamAV staan op het systeem. ik krijg geen enkele error meer in de var/log/maillog maar de outbound mails blijven in de queue staan. (postfix/cleanup[3721]: 73B2FC1D84: hold: header Received: from exchange.domain/local).

Als ik een telnet out.telenet.be 25 vanaf de linux doe, kan ik perfect mailen, dus het is zeker een setting in de software zelf...

ShPonGle

Legacy Member
ben nu zeer dicht, krijg nu al een bounce mail van telenet dat ik niet mag versturen vanaf [email protected] (illustratief) omdat ik geen MX heb, maw de linux levert de mail nu af maar past de masquerading nog niet toe. vreemd want ik heb bovenstaande tutorials toegepast.

oplossing op het voorgaande was de header checks op "no map set" zetten, blijkbaar maakt de linux er een probleem van dat er in de header staat dat er vanaf een andere server gerelayed wordt...

ShPonGle

Legacy Member
OK outbound mail is gelukt, er stond nog foutje in mijn main.cf
nu nog incoming...

edit: incoming op de exchange via relay vanaf de linux (in DMZ) is ook meteen gelukt. Een keer dat alle overbodig bucht weg is, de transport mapping goed staat en de header check af staat, blijkt die postfix wel weer simpel te zijn :)

Dit is nu mijn main.cf:

command_directory = /usr/sbin/
daemon_directory = /usr/libexec/postfix
myhostname = linux.domain.local
mydomain = domain.local
mydestination = $mydomain, localhost.$mydomain, $myhostname, telenet.be
local_recipient_maps = $alias_maps unix:passwd.byname $virtual_mailbox_maps
unknown_local_recipient_reject_code = 550
home_mailbox = Maildir/
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/sbin/newaliases
mailq_path = /usr/sbin/mailq
setgid_group = postdrop
manpage_directory = /usr/man
sample_directory = /etc/postfix/sample
smtp_use_tls = no
sendmail_path = /usr/sbin/sendmail
virtual_alias_maps = hash:/etc/postfix/virtual, $alias_maps
mail_spool_directory = /var/spool/mail
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_use_tls = no
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:2501
alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases
smtpd_reject_unlisted_recipient = no
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/certs/dovecot.pem
smtpd_milters = unix:/var/run/clamav-milter/milter.sock
milter_default_action = accept
relayhost = out.telenet.be
myorigin = $mydomain
transport_maps = hash:/etc/postfix/transport
smtp_generic_maps = hash:/etc/postfix/generic
mail_name = Linux


Enige nadeel is dat ik nu geen antispam staan heb op deze mailserver, en dat was eigenlijk wel het belangrijkste :D
Is het voldoende als ik die SpamAssassin er manueel opzet, of zijn Procmail en MailScanner dan ook meteen nodig (geen idee wat het verschil is tussen de drie) ?

RpR

Legacy Member
amavisd-new gebruik ik altijd. Genoeg guides erover te vinden.
Mailzu is ook handig om te bekijken.

ShPonGle

Legacy Member
het is ondertussen gelukt met de combinatie procmail + spamassassin, blijkbaar zijn beide nodig en moet je in de main.cf het pad naar procmail ook nog eens aangeven.

als ik nu ps aux doe zie ik oa staan:

/
root 4402 0.7 11.0 127344 54752 ? Ss 23:26 0:01 /usr/bin/spamd
1003 4405 0.0 10.6 127344 52992 ? S 23:26 0:00 spamd child
1003 4406 0.0 10.6 127344 52992 ? S 23:26 0:00 spamd child

dus ik vermoed dat hij na boot vanzelf runt. zal nu eens een spamtest doen met de beruchte test-spammail met volgende url in de body: http://www.example.com/URL-2.blocked/, vanaf hotmail verzonden.

edit: hmmm die spammail komt gewoon aan, symantec blokkeerde die nochtans vroeger. Moet die Spamass nog gefinetuned worden mss?

btw: het probleem met het extern en intern relayen welke ik hierboven stelde moet je oplossen via de transport settings, m.n in de /etc/postfix/transport file vermeld je 2 lijnen (zgnde transport mappings):
telenet.be smtp:[out.telenet.be]
domain.local smtp:[ip-van-de-exchangeserver]

daarna nog postmap /etc/postfix/transport doen
postfix reload

vreemd dat niemand dit aangaf hier, was de essentie van het probleem.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan