Nu vi er ved sendmail... Jeg har en opsætning med sendmail på
en maskine i DMZ, der fungerer som eksternt mailrelay op mod en
MS Exchange server på det interne netværk.
Når en bruger på det interne netværk sender en email til en ekstern
adresse (via MS Outlook), er Exchange hårdkodet til at sende det
(ala smarthost) til sendmail-maskinen i DMZ. Sendmail maskinen anvender
en _intern_ navneserver fra /etc/resolv.conf til at finde ud af hvem
den rent faktisk (smtp) skal snakke med ude i verdenen.
Samme maskine (sendmail) modtager post udefra, der skal ind i huset. I
ekstern DNS er maskinen registreret som værende MX for domænet. Den har
et mailertable, hvorfra den ved, at post til domænet skal til smtp:domænet,
som den slår op i DNS (den interne DNS). I den interne DNS er exchange serveren
MX, dvs post til domænet ryger direkte videre igennem filterruteren ind til
Exhangeserveren, der fordeler det i postkasserne.
Problemet: Man kan ikke sende breve ud af huset til hotmail.com-adresser,
og hotmail.com-adresser kan ikke sende ind. Så snart der skrives
'mail from: ole@hotmail.com' eller 'rcpt to: ole@hotmail.com' fryser alt.
I sysloggen får jeg en "lost input channel from ...hotmail.com", eller en
"lost input channel from intern-exchange.mydomain", ved henholdsvis brev
fra en hotmail-adresse eller til en hotmail-adresse.
Jeg gættede på at MX-lookup'et (på den interne DNS) er for stort til at
ryge over udp, og da der er lukket i filterruteren for 53/tcp, sker
der ikke noget. En snoop tcp på sendmail-boksen viser at der _ryger_
data igennem, det gør der ikke ved mx-opslag på et domæne med færre
mx-indgange.
Løsningen: En GNU/Linux boks med sendmail 8.11 (Solaris boksen har
sendmail 8.10) fungerer fint, brevene ryger lige igennem.
Problem nummer 2: Det er meningen at sendmail skal være på Solaris,
ikke på GNU/Linux...
Argh!
Nogle ideer?
/OLe M.