Fórum Root.cz
Hlavní témata => Server => Téma založeno: tomasCZE 18. 09. 2019, 16:07:41
-
Zdravím ve spolek,
mám doma nahozený MailCow. Nyní bojuji s odesíláním zpráv. Problém je v tom, že můj ISP blokuje veškerou odchozí komunikaci na portu 25 (tak jako většina). Existuje nějaký způsob, jak posílání mailů rozchodit, abych toto nemusel řešit s ISP (například používat pro odesílání port 465[587], namísto 25)? Snažil jsem se informace dohledat, ale asi neumím správně položit dotaz.
V logu vidím tuto hlášku: connect to aspmx.l.google.com[173.194.76.27]:25: Connection timed out
-
Tak pokud ISP blokuje port 25, tak by měl sám v rámci vlastní sítě poskytovat nějaký SMTP server a posílal bych to přes něj. Pokud ne, tak co takhle ho kontaktovat a zeptat se ho? Případně to reklamovat, že to není plnohodnotné připojení k internetu. Prostě musí si uvědomit, že ne každý řeší mail jen prostřednictvím nějakého webmailu...
To blokování chápu - on si pak někdo přes něj připojený zaviruje počítač a ten pak rozesílá bordel na všechny strany. A tím se některé IP adresy (nebo i rozsahy) můžou dostat na různé blacklisty a to může působit komplikace i dalším uživatelům stejné sítě, případně samotnému ISP. Ale proti tomu se právě často bojuje tak, že přímá spojení na port 25 se blokují, ale uživatelé sítě pak mají k dispozici SMTP v rámci té sítě - a tam se dá nějaký pořádný antivir a další filtry a přes to už pak třeba podstatná část toho bordelu a jiné havěti prostě neprojde...
-
Co port 587, to snad provider neblokuje
-
Co port 587, to snad provider neblokuje
To je to, co mě napadlo. Jen se mi, bohužel, nedaří najít návod, jak toto přenastavit.
Tak pokud ISP blokuje port 25, tak by měl sám v rámci vlastní sítě poskytovat nějaký SMTP server a posílal bych to přes něj. Pokud ne, tak co takhle ho kontaktovat a zeptat se ho? Případně to reklamovat, že to není plnohodnotné připojení k internetu. Prostě musí si uvědomit, že ne každý řeší mail jen prostřednictvím nějakého webmailu...
To blokování chápu - on si pak někdo přes něj připojený zaviruje počítač a ten pak rozesílá bordel na všechny strany. A tím se některé IP adresy (nebo i rozsahy) můžou dostat na různé blacklisty a to může působit komplikace i dalším uživatelům stejné sítě, případně samotnému ISP. Ale proti tomu se právě často bojuje tak, že přímá spojení na port 25 se blokují, ale uživatelé sítě pak mají k dispozici SMTP v rámci té sítě - a tam se dá nějaký pořádný antivir a další filtry a přes to už pak třeba podstatná část toho bordelu a jiné havěti prostě neprojde...
Tuhle možnost beru v potaz, ale chtěl jsem vědět, jestli existuje i jiná možnost. Předpokládám, že ISP mi port neotevře a já použijí relay (pokud to nepůjde vyřešit jinak)
-
Je tam postfix?
Pokud to nejde naklikat v té krávě, tak použít kousek z https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/
-
Záleží na tom, čemu říkáte „odeslat e-mail“. Pokud tím myslíte předávat e-maily rovnou cílovým serverům (tj. to, co dělá plnohodnotný e-mailový server), to jinak než na port 25 nejde.
Pokud tím myslíte předávat e-maily k odeslání nějakému (jednomu) serveru (to, co typicky dělá poštovní klient – Outlook, Thunderbird), k tomu se nepoužívá port 25, ale port 587 (viz RFC 6409 Message Submission for Mail). Server pro to odesílání e-mailů na portu 587 by vám měl poskytnout váš ISP. Příklad konfigurace Postfixu je např. zde: Postfix on a dialup machine (http://www.postfix.org/STANDARD_CONFIGURATION_README.html#dialup), důležitá je ta volba relay_host, která určuje, že se e-maily mají odesílat přes jiný server. Ten server (třeba ISP) asi bude vyžadovat autentizaci klienta, vizte dokumentaci Configuring SASL authentication in the Postfix SMTP/LMTP client (http://www.postfix.org/SASL_README.html#client_sasl).
-
A opět rada k ničemu, resp. polovičatá - relay jede po portu 25/TCP a ten má zablokovaný
Ostatně nic překvapujícího od teoretika
Záleží na tom, čemu říkáte „odeslat e-mail“. Pokud tím myslíte předávat e-maily rovnou cílovým serverům (tj. to, co dělá plnohodnotný e-mailový server), to jinak než na port 25 nejde.
Pokud tím myslíte předávat e-maily k odeslání nějakému (jednomu) serveru (to, co typicky dělá poštovní klient – Outlook, Thunderbird), k tomu se nepoužívá port 25, ale port 587 (viz RFC 6409 Message Submission for Mail). Server pro to odesílání e-mailů na portu 587 by vám měl poskytnout váš ISP. Příklad konfigurace Postfixu je např. zde: Postfix on a dialup machine (http://www.postfix.org/STANDARD_CONFIGURATION_README.html#dialup), důležitá je ta volba relay_host, která určuje, že se e-maily mají odesílat přes jiný server. Ten server (třeba ISP) asi bude vyžadovat autentizaci klienta, vizte dokumentaci Configuring SASL authentication in the Postfix SMTP/LMTP client (http://www.postfix.org/SASL_README.html#client_sasl).
-
relay jede po portu 25/TCP a ten má zablokovaný
v transportu si muze nastavit "relayhost" s jakymkoliv portem ktery mu ISP neblokuje. samozrejme k tomu potrebuje mit nekde v internetu smtpd ktery na tom portu bude poslouchat a prijimat.
-
A opět rada k ničemu, resp. polovičatá - relay jede po portu 25/TCP a ten má zablokovaný
Jak psal Filip Jirsák, relayhost může být nastaven na server, kde běží například submission (port 587) a dochází zde k autentizaci uživatele. Prakticky se to dá nastavit třeba takto https://www.linode.com/docs/email/postfix/postfix-smtp-debian7/
Tedy stačí mít povolenu komunikaci na port TCP/587 do Internetu a mít nějaký relay server v Internetu, který mu po ověření uživatelského jména a hesla umožní poštu odeslat. Osobně bych si rozjel vlastní VPS...
Btw neumožňuje odeslat poštu pro jakoukoliv doménu třeba smtp Seznamu, když se autentizuju svým seznamáckým účtem? Nezkoušel jsem, já mám třeba vlastní VPS. :)
-
A opět rada k ničemu, resp. polovičatá - relay jede po portu 25/TCP a ten má zablokovaný
Že nic nevíte, to by nebyl problém. Že se tím musíte chlubit v diskusích, to už je horší. Tak při tom aspoň neútočte na lidi, kteří na rozdíl od vás něco vědí.
Port 25 už by se pro předání e-mailu z klienta na poštovní server neměl používat, je to zastaralé. Místo toho se nově používá port 587. Dočetl byste se to v tom RFC 6409, kdybyste nebyl líný si ho otevřít.
Postfix samozřejmě nemůže jen tak změnit výchozí port. Na konfigurovat relayhost na jiný port ale je možné. (Ono je možné Postfix nakonfigurovat i tak, aby i při klasickém rozesílání pro nějakou doménu použil konkrétní server a port, jiný od portu 25. Ale to byste musel mít nějaký svůj server, o kterém byste věděl, že naslouchá i na jiném portu.) A hádejte, kde najdete příklad takové konfigurace? V tom článku, který jste odkazoval. Je v něm tohle:
relayhost = [smtp.gmail.com]:587
Zkuste číst alespoň články, na které sám odkazujete…
-
Btw neumožňuje odeslat poštu pro jakoukoliv doménu třeba smtp Seznamu, když se autentizuju svým seznamáckým účtem? Nezkoušel jsem, já mám třeba vlastní VPS. :)
Pro jakoukoli doménu (adresáta) to určitě umožňuje. Omezení může být na straně adres odesílatele – vůči autentizovanému uživateli může kontrolovat obálkového odesílatele a odesílatele uvedeného v e-mailu (v hlavičce From). Obálkového odesílatele by kontrolovat měl, hlavičku From by měl ignorovat, ale poštovní servery dnes bývají nastavené různě…
-
Nechci vám moc kazit naději, ale:
- použití SMTP serveru providera bude mít problém se SPF a možná i DKIM
- relay přes 587/STARTLS pravděpodobně narazí na to, že jediný povolený SMTP odesílatel je ten, kdo se autentizuje, třeba Google vám v tomto scénáři odesílatele natvrdo přepíše
Jediné rozumné řešení je VPS, tedy server, který není na domácí přípojce. Nebo přípojku nechat přepnout na nějaký firemní tarif, tam to blokování nebývá, nebo ho lze nechat vypnout.
-
A v čem je, prosím, špatná má rada https://forum.root.cz/index.php?topic=21846.msg317076#msg317076 (https://forum.root.cz/index.php?topic=21846.msg317076#msg317076) - Návod na využití postfix x google účet s komentáři.
Pravda, není to česky a není Windows stylem Next, Next, Enter
-
A v čem je, prosím, špatná má rada https://forum.root.cz/index.php?topic=21846.msg317076#msg317076 (https://forum.root.cz/index.php?topic=21846.msg317076#msg317076) - Návod na využití postfix x google účet s komentáři.
Za prvé to vyžaduje mít účet u Googlu a posílat přes něj všechny e-maily. To ne každý chce. Zároveň platí ta stejná otázka, jakou napsal McFly o Seznamu – je otázka, co vše GMail kontroluje ve vazbě na přihlašovací údaje, a jak se to případně změní v budoucnosti. A dále je to jen návod, jak něco konkrétního zprovoznit, ale vůbec jste nepopsal proč a jak to funguje. Takže pořád bylo spoustu prostoru vedle té vaší rady poskytnout tazateli i další užitečné informace.
-
použití SMTP serveru providera bude mít problém se SPF a možná i DKIM
Pokud je to cizí doména, bude s tím mít problémy stejně. Pokud je to vlastní doména tazatele, může si SPF i DKIM nastavit, jak potřebuje.
relay přes 587/STARTLS pravděpodobně narazí na to, že jediný povolený SMTP odesílatel je ten, kdo se autentizuje, třeba Google vám v tomto scénáři odesílatele natvrdo přepíše
To záleží na konfiguraci toho serveru, přes který se e-mail rozesílá. GMail tam nezachová ani e-mail uvedený jako alias u daného účtu? A přepisuje jen obálkové odesílatele (to by bylo v pořádku), nebo i From?
Jediné rozumné řešení je VPS, tedy server, který není na domácí přípojce. Nebo přípojku nechat přepnout na nějaký firemní tarif, tam to blokování nebývá, nebo ho lze nechat vypnout.
Asi předpokládáte, že chce tazatel řešit e-maily pro celou doménu. Pokud řeší jednu nebo pár schránek, ale hlavní poštovní server je jinde, je rozumné (a správné) řešení přes mail submission posílat e-maily k odeslání hlavnímu serveru. I to řešení přes server ISP může být rozumné – pokud ISP nechce ve své síti rozesílající SMTP servery, měl by poskytnout svůj server, a pak musí dělat kontrolu přihlášený uživatel vs. doména nějak rozumně. Buď povolit vše a nebo lépe umožnit zaregistrovat, že daný uživatelský účet může v obálkovém odesílateli používat určité domény.
-
Další varianta bez vlastního SMTP serveru může být např. https://sendgrid.com/pricing/
-
To záleží na konfiguraci toho serveru, přes který se e-mail rozesílá. GMail tam nezachová ani e-mail uvedený jako alias u daného účtu? A přepisuje jen obálkové odesílatele (to by bylo v pořádku), nebo i From?
Tohle už si nepamatuju, ale skoro bych řekl že ano, přepíše i From: (tedy tu část <..@..>, ta pro lidi "..." tam zůstala), s aliasem nevím. Ale už je to dost dlouho, co jsem si takto naběhl.
Vypadalo to, že Gmail trvá (trval) na tom, že odesílatel v obálce i dopisu je v souladu, a je to ten autentizovaný.
Ale stejně ten dotaz nedává moc smysl: jestli chci provozovat vlastní mail server, tak požádám ISP o odblokování portu 25. Asi by šlo použít i jejich SMTP jako relay, ale u kohosi bylo nutné tu doménu oznámit, aby pro odesílatele z ní ten relay dělali.
Spravoval jsem několik firmám Kerio mail server a nakonec postupně všichni (z vlastního rozhodnutí) přešli na Google nebo Microsoft.
-
jestli chci provozovat vlastní mail server, tak požádám ISP o odblokování portu 25.
Souhlas, pokud to nemá být jen jedna poštovní schránka, ale plnohodnotný server pro nějakou doménu, je potřeba se domluvit s ISP, aby odblokoval port 25. Za prvé musí správce mít takové znalosti, aby ten server dokázal provozovat a port 25 mu bylo možné „svěřit“, za druhé o tom bude ISP vědět, nebude to pro něj podezřelý provoz (jako kdyby mu najednou začaly chodit stovky e-mailů přes jeden účet) a bude mít kontakt, na koho se obrátit v případě problémů.
Spravoval jsem několik firmám Kerio mail server a nakonec postupně všichni (z vlastního rozhodnutí) přešli na Google nebo Microsoft.
Z vlastního rozhodnutí – vzhledem k tomu, jak spousta správců menších serverů konfiguruje antispam tak, že nemůže projít skoro nic, a pak dají velké provozovatele jako GMail, Outlook a v ČR Seznam na whitelist (aby jim alespoň nějaké e-maily přišly), není divu, že se postupně všechno přesouvá k těm velkým.
Druhá věc je, že ten komfort, který uživatelům nabízí GMail, nenabízí uživatelům asi nikdo v on-premise řešení – e-mailový klienti jsou horší (i když mají výhodu desktopové aplikace), služby serveru také…
-
Díky moc všem zúčastněním! Problém je vyřešen (ISP mi povolil komunikaci ven na portu 25), ale vzápětí se objevil další. Z routeru se "dostanu" na SMTP server XYZ (telnet XYZ 25 mi vrací název serveru). Ta samá situace je z jakéhokoliv PC v síti. Problém nastává na serveru - zde se telnet tváří, že na druhém konci nic není. Pokud si na routeru otevřu port 25, ze serveru se na něj dostanu, zároveň se ze serveru dostanu třeba na port 8080, který mám otevřený mimo vlastní síť. Příkaz telnet localhost 25 funguje, stejně tak telnet mail.xyz.cz 25. Níže je výpis z IPtables
Chain INPUT (policy ACCEPT)
target prot opt source destination
MAILCOW all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
MAILCOW all -- anywhere anywhere
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:12345
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:sieve
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:pop3s
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:imaps
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:imap2
ACCEPT tcp -- anywhere 172.22.1.250 tcp dpt:pop3
ACCEPT tcp -- anywhere 172.22.1.4 tcp dpt:submission
ACCEPT tcp -- anywhere 172.22.1.4 tcp dpt:urd
ACCEPT tcp -- anywhere 172.22.1.4 tcp dpt:smtp
ACCEPT tcp -- anywhere 172.22.1.9 tcp dpt:mysql
ACCEPT tcp -- anywhere 172.22.1.11 tcp dpt:https
ACCEPT tcp -- anywhere 172.22.1.11 tcp dpt:http
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Chain MAILCOW (2 references)
target prot opt source destination
REJECT all -- motivation.wfunnel.com/24 anywhere reject-with icmp-port-unreachable
Někdo nějaký nápad, prosím?
-
telnet XYZ 25 mi vrací název serveru - jak tomu máme rozumět?
Něco takového https://www.e-smtp.cz/testovani-smtp/ (https://www.e-smtp.cz/testovani-smtp/) ?
-
Ano, přesně tak
-
Relay server je nastavený aby např. dělal relay z IP adresy, relay s autorizací, nebo jak to teď vlastně máte?
Trochu se v tom ztrácím, ale postfix v základu může posílat na libovolný definovaný relay server. Standardně neexistují otevřené relay servery. Na svém relay serveru si musíte nastavit svá pravidla, za kterých bude od Vás akceptovat maily a dál je doručovat.
-
Nyní to mám tak, že od ISP mám otevřený port 25 a vlastní SMTP server. Jen mi nefunguje ze serveru komunikace po portu 25 ven do internetu. Z ostatních zařízení v síti to funguje bez problémů.
Např. MikroTik: system telnet address=mail.internet.starnet.cz port=25 vrací 220 dns3.starnet.cz ESMTP POSTFI
Ze serveru: telnet smtp.internet.starnet.cz vrací Unable to connect to remote host: Connection timed out
Přitom si na adresu ze serveru pingnu. Na routeru zatím nemám nijak omezenou komunikaci ven z domácí sítě, takže v tom problém nebude.
Konfigurace Debianu a MailCow je, více méně, defaultní.
-
Chápu to správně, že je situace následující? Máte nějaký router s NATem, za ním je nějaká síť a v té síti je mimo jiné váš poštovní server. Když zkusíte telnetem navázat TCP/IP spojení s nějakým serverem v internetu (třeba poštovní server Seznamu) na portu 25, spojení se naváže. Když to samé zkusíte z jiného počítače v síti za NATem, spojení se také naváže. Ale když to zkusíte ze serveru, TCP/IP spojení se nenaváže a dostanete nějakou chybu?
Nemá náhodou ten váš poštovní server přidělenou veřejnou IP adresu, jinou, než používá váš router a NAT? To by se mi jevilo jako nejpravděpodobnější, že vám ISP ten port 25 povolil pro váš NAT a ne pro ten poštovní server.
Pokud jsou všechna ostatní zařízení i server schované za stejným NATem, a z ostatních zařízení to funguje a ze serveru ne, pak musí být problém ve vaší síti. Buď na serveru nebo na routeru/NATu – nejspíš provoz blokuje firewall. Zkoušejte to navázání TCP/IP spojení na port 25 (třeba telnetem) ze serveru a postupně si pouštějte tcpdump (filtrovaný na cílový port 25 a server, proti kterému to zkoušíte) na serveru, na LAN rozhraní routeru a na WAN rozhraní routeru. Uvidíte, kam až pak navazující spojení dorazí a kde zmizí.
Mimochodem, pokud budete mít ten server za společným NATem s jinými zařízeními v síti, zakažte ten port 25 na svém routeru pro všechna zařízení kromě toho serveru. ISP vám povolil port 25 pro celou vaši síť (pokud je schovaná za 1 IP adresou), tím pádem libovolný napadený počítač ve vaší síti, může z vaší IP adresy začít spamovat. ISP by vám ten port 25 zase zakázal a budete ho těžko přesvědčovat, ať ho znova povolí, a navíc by se vaše IP adresa dostala na blacklisty, takže i kdyby ISP ten port znovu povolil, bude mít váš server problém s odesíláním.
-
Nyní to mám tak, že od ISP mám otevřený port 25 a vlastní SMTP server. Jen mi nefunguje ze serveru komunikace po portu 25 ven do internetu. Z ostatních zařízení v síti to funguje bez problémů.
Např. MikroTik: system telnet address=mail.internet.starnet.cz port=25 vrací 220 dns3.starnet.cz ESMTP POSTFI
Ze serveru: telnet smtp.internet.starnet.cz vrací Unable to connect to remote host: Connection timed out
Přitom si na adresu ze serveru pingnu. Na routeru zatím nemám nijak omezenou komunikaci ven z domácí sítě, takže v tom problém nebude.
Konfigurace Debianu a MailCow je, více méně, defaultní.
Nevim jestli ti v prikladu ze serveru vypadl port 25 jen zde nebo i v shellu.
Kazdopadne bych ze tveho serveru kusil prvne telnet “ IP toho starnet.cz” 25