Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Sendmail [vyřešeno]  (Přečteno 1625 krát)

manorgos

  • Návštěvník
  • Příspěvků: 18
Sendmail [vyřešeno]
« kdy: 28 Května 2009, 12:54:55 »
Prosim poradte mam nasledujici problem.
Na nove nainstalovanem UBUNTU 8.04 jsem nainstaloval sendmail 8.14.2 . Maili ven mi chodi, ale kdyz potrebuju poslat mail do vnitrni site na hlavni podnikovy mailserver, tak mail nedojde. Problem je podle meho soudu v tom, ze se k tomuto mailserveru snazi pristupovat z venku. Potreboval bych ho presvedcit, aby sel po vnitrni siti. Ale ikdyz jsem do /etc/hosts pridal zaznam s adresou mailserveru tak sendmail se stale snazi komunikovat venkem. Ping jde po vnitrni siti ale sendmail ne. Muzete mi prosim nekdo poradit jak nastavit sendmail aby se choval tak jak ma?
predem dekuji.
« Poslední změna: 01 Června 2009, 19:58:40 od kiklhorn »

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Sendmail
« Odpověď #1 kdy: 29 Května 2009, 07:36:08 »
zkusil bych podívat se do /etc/host.conf kde by mělo být pořadí
Kód: [Vybrat]
order hosts,bind
a do /etc/nsswitch.conf
kde by taktéž mělo být pořadí
Kód: [Vybrat]
hosts:          files dns
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

manorgos

  • Návštěvník
  • Příspěvků: 18
Re: Sendmail
« Odpověď #2 kdy: 29 Května 2009, 07:46:20 »
v /etc/host.conf je to presne tak jak pises
v /etc/nsswitch.conf je
hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

manorgos

  • Návštěvník
  • Příspěvků: 18
Re: Sendmail
« Odpověď #3 kdy: 29 Května 2009, 07:54:00 »
Nasel jsem na netu navod ktery resi stejnou vec jako ja:

Postup, jak nastavit, aby sendmail na lokálním linuxovém stroji doručoval maily pro určitou doménu jinam, než říká MX záznam. Potřeboval jsem to nastavit na své stanici, protože admini překonfigurovali NAT, na jehož veřejnou IP se současně resolvuje MX záznam pro naši doménu, ale na vnitřním rozhraní už nyní port pro SMTP nefunguje, k tomu slouží jiný stroj ve vnitřní síti.

V GNU/Linuxu probíhá odesílání mailů standardně tak, že se maily předávají lokálnímu sendmailu nebo jinému MTA, který je sám doručuje na cílové SMTP servery podle MX záznamů v DNS, lokálně doručované maily předává lokálnímu MDA (typicky procmail).

V perexu zmíněný problém se dá vyřešit změnou DNS, ten však také nemám pod svou kontrolou a na stanici kvůli tomu vlastní nameserver s jinak definovanou zónou pro naši doménu provozovat nechci. Nastavit v /etc/hosts, že mail.domena.cz má určitou vnitřní IP, nepomohlo, sendmail asi tento mechanismus obchází a používá výhradně DNS.

Jako lepší řešení se mi jeví nakonfigurování sendmailu tak, aby pro určitou doménu doručoval na konkrétní explicitně udaný stroj, a toto řešení zafungovalo. Zde je stručný popis:

   1. V /etc/mail/sendmail.mc musí být povoleno používání mailertable; pokud není, zapsat

      FEATURE(`mailertable')

      a přetransformovat změněnou konfiguraci sendmailu do /etc/sendmail.cf pomocí příkazu

      m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

      Konfigurační soubor sendmail.cf nyní obsahuje následující nebo podobný řádek, který definuje umístění mailertable:

      Kmailertable hash /etc/mail/mailertable

   2. Do souboru /etc/mail/mailertable (pravděpodobně bude prázdný, pokud se nastavuje poprvé) zapsat řádek tvaru

      domena.cz      smtp:[server.pro.tuto.domenu]

      (adresa serveru může být v doménové nebo číselné podobě). Poté změněnou konfiguraci přetransformovat do souboru mailertable.db čitelného sendmailem pomocí příkazu

      /usr/sbin/makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable

   3. Nyní stačí restartovat sendmail a vyzkoušet. Maily pro domena.cz by nyní měly být doručovány přes server.pro.tuto.domenu a ne např. přes smtp.domena.cz, který může figurovat v MX záznamu.



Blbe ale je, ze mi to hned v druhem kroku prvniho bodu hodi chybu:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
m4:/etc/mail/sendmail.mc:75: cannot open `/usr/share/sendmail/cf/feature/'mailertable'.m4': No such file or directory
a to tam ten mailertable.m4 na tom umisteni je.

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: Sendmail
« Odpověď #4 kdy: 29 Května 2009, 08:07:05 »
Hm, jasně, MX záznamy.
Přímý návod nenahodím, ale podíval bych se někde po nějaké dnscache, nebo rovnou použil bind, nastavit pro lokální doménu odlišně od veřejných dns serverů (lokální adresy pro místní stroje). A nechat počítač používat vlastní dns server.

Případně vygooglit "dns split horizon"
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

manorgos

  • Návštěvník
  • Příspěvků: 18
Re: Sendmail
« Odpověď #5 kdy: 01 Června 2009, 13:16:06 »
Tak uz se mi to povedlo rozchodit.
Jen je podstatne oproti na vise zminenemu navodu je potreba udelat jen par detailu. V prvnim bodu FEATURE(`mailertable') tam nepatri ty ' takze spravne je FEATURE(mailertable) a v 2. bodu je to nutne dodrzet tak jak to tam ma vcetne hranatych zavorek .domena.cz      smtp:[172.16.1.12]

 

Provoz zaštiťuje spolek OpenAlt.