Jak na Internet server ? (4)

U₧ znßme, jak funguje DNS a co je to routing. Tyhle znalosti pro nßs nynφ budou nutnΘ k tomu, abychom pochopili, jak funguje poÜta na Internetu. V tomto cyklu Φlßnk∙ budu vychßzet z implementace v BSD Unixu pop°. v Linuxu...

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:

Zßznamy MX u registru domΘny definujφ poΦφtaΦ, kam se mß sm∞°ovat poÜta pro celou domΘnu. ╚φslo p°ed jmΘnem poΦφtaΦe znamenß prioritu sm∞°ovßnφ poÜty na dan² poΦφtaΦ, p°iΦem₧ Φφm je hodnota tohoto Φφsla ni₧Üφ, tφm je priorita sm∞rovßnφ poÜty na dan² server vyÜÜφ, priorita 0 znamenß koncov² systΘm. Pokud nenφ poΦφtaΦ server.domena.cz ve chvφli, kdy je mail odeslßn, dostupn² (nap°. kv∙li profylaxi systΘmu, poruÜe atd.), sm∞ruje se poÜta na poΦφtaΦ server.druha_domena.cz, odkud je po znovuzprovozn∞nφ nedostupnΘho poΦφtaΦe sprßvn∞ doruΦena na server.domena.cz. NßÜ server m∙₧e poskytovat tutΘ₧ slu₧bu poΦφtaΦi server.druha_domena.cz.

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


HorkΘ novinky | internet4U homepage