Jak na Internet server ? (4)
Jak a kudy chodí pošta Na Internetu jsou v zásadě tři poštovní protokoly: SMTP (Simple Mail Transfer Protocol), který zajišťuje přepravu zprávy od odesílatele na váš poštovní server (popř. až na váš počítač, pokud splňujete některá důležitá pravidla), dále POP (Post Office Protocol), sloužící k vybírání vašich zpráv z vašeho poštovního serveru a k jejich přenosu na váš počítač a existující nejméně ve třech různých variantách a protokol IMAP sloužící v podstatě k témuž jako POP, jen mnohem méně používaný. TCP/IP socket pro SMTP má číslo 25 a na unixových serverech bývá obsluhován daemonem zvaným 'sendmail'. O sendmailu se říká mnoho věcí a většina z nich je pravdivá - sendmail je známý paměťožrout, má mnoho často přebytečných funkcí, které bývají terčem mnoha hackerských útoků a jen málo unixových administrátorů by udělalo takovou šílenost, aby podruhé měnili konfigurační soubor /etc/sendmail.cf (samozřejmě pokud jen nejde např. o přidání jména systému, což je práce asi tak na 10 sekund včetně spuštění a ukončení editoru). Poslední verze sendmailu je, pokud vím, 8.8.2 a aby nedošlo podle jména k nejasnostem - sendmail dokáže poštu stejně dobře odesílat jako přijímat. Kromě obvyklého sendmailu existuje ještě jeho odlehčená verze pod názvem 'smtpd', která má sice mnohem méně funkcí, ale také je v ní méně děr do bezpečnosti systému (i když, pravda, ty díry v sendmailu se pozvolna ucpávají). Kromě Unixu existuje sendmail též pod OS/2 a pro řadu dalších platforem. S protokolem POP je to složitější - nejde o jeden protokol, ale o tři protokoly postupně po sobě vytvořené a označené čísly. POP1 už odvál vítr na smetiště dějin, na POP2 můžete ještě i dnes narazit a nejčastější verzí je nejnovější POP3. Příchozí POP2 relace obsluhuje na unixových serverech daemon 'pop2d' resp. 'in.pop2d', příchozí POP3 relace obsluhuje daemon 'pop3d' resp. 'in.pop3d'. Odcházející POP2/POP3 relace si jednotlivé aplikační programy obsluhují samy. POP protokoly byly původně jednosměrné (jen pro vybírání poštovní schránky), novější implementace POP3 však umí poštu i přijímat, což sice podporuje poměrně značné množství aplikačních programů, ale jen málo který pop3d server. Protokol IMAP obsluhuje na unixových serverech daemon 'imapd'. Standardní klientské programy na PC pro internetovou elektronickou poštu používají pro odesílání pošty protokol SMTP a pro příjem pošty protokol POP3 (jmenujme např. Eudoru, Pegasus Mail, Netscape Navigator Mail, PMMail, MR2/ICE, PC/Pine nebo třeba UltiMail) - jde o nejrozšířenější a podle mne i o nejoptimálnější řešení. Pokud byste chtěli přijímat poštu prostřednictvím protokolu SMTP, musel by váš počítač být neustále online, nebo mít MX záznam v DNS (což je přijatelné u serveru, ale nikoli u klientské stanice), nebo nejlépe obojí. Jak tedy funguje směrování pošty ? Začněme z té jednodušší strany: představme si, že na serveru z naší sítě z minulé série tohoto seriálu spustíme program sendmail - obvyklé je jeho spouštění s parametry -bd -q 15m, což znamená, aby sendmail běžel jako daemon (-bd) a aby zpracovával frontu zpráv a pokoušel se odesílat zatím nedoručitelné zprávy každé čtvrt hodiny (-q 15m). Je-li počítač propojen dále do Internetu a zůstává-li mu jeho IP adresa, už nyní mají všichni uživatelé poštovní konto, např. poštovní adresa správce zmíněného serveru je root@[200.0.5.65]. Bude-li počítač v DNS tabulkách (viz minulý díl), bude mít správce serveru též adresu root@server.domena.cz. Uživatel 'kokos' bude mít adresy kokos@[200.0.5.65] a kokos@server.domena.cz. Pošta se uloží na server. V definovaném formátu - na unixových systémech je poštovním folderem každého uživatele textový soubor, uložený v adresáři /var/mail, /var/spool/mail atp. a jmenující se podle uživatele - s takovým formátem pak pracují unixové mailové programy, jako je standardní 'mail' ev. 'mailx', popř. luxusnější 'pine' či 'elm' a případně též 'POPx' deamony. Z hlediska principu doručování pošty je lhostejné, zdali uživatel čte poštu přímo na serveru, nebo zdali si ji vybírá programem na jiném počítači komunikujícím přes protokoly POP či IMAP . Nicméně představme si, že chceme využít výhod doménového adresování - což je např. možnost přesměrování pošty pro některé uživatele na jiný systém, možnost ukládání pošty na jiný počítač v době kdy náš server není dostupný a její doručení po opětovném zprovoznění atd. To nám také umožní, aby uživatel 'kokos' měl kromě adresy kokos@server.domena.cz také adresu kokos@domena.cz, která bude sice v podstatě totožná s tou předchozí, ale za to lépe 'vypadající' a snáze zapamatovatelná. Zde budeme muset využít možností DNS záznamu MX a konečně si osvětlíme co znamená tahle část záznamu naší domény:
![]()
A nyní proč jsou tu MX záznamy dvakrát - jednou pro adresy typu uživatel@domena.cz, podruhé pro adresy typu uživatel@server.domena.cz. MX záznamů pro každý počítač či doménu může být teoreticky neomezené množství, v praxi však stačí dva až tři... Do souboru /etc/sendmail.cf nesmíme zapomenout přidat další akceptovatelnou adresu našeho systému (tj. kromě již stávajícího záznamu Cwserver.domena.cz musíme též přidat záznam Cwdomena.cz). - pokračování příště - Zbyněk Pospíchal
|