25.4  Internetové linky vytáčené na žádost

Při použití internetové linky vytáčené na žádost (viz kapitola 6.2  Připojení jednou vytáčenou linkou — vytáčení na žádost) je třeba mít na paměti určité specifické vlastnosti tohoto typu připojení. Při nesprávné konfiguraci sítě a firewallu může docházet k tomu, že linka zůstává zavěšena i přesto, že v lokální síti vznikají požadavky na přístup do Internetu, nebo naopak dochází ke zdánlivě bezdůvodnému vytáčení linky.

Informace v této kapitole by měly pomoci k pochopení principu a vlastností funkce vytáčení linky na žádost a předejít tak uvedeným problémům.

Kdy a jak vytáčení na žádost funguje?

Prvním předpokladem vytáčení na žádost je, aby tato funkce byla zapnuta na příslušné lince (trvale nebo ve zvoleném časovém období — viz kapitola 6.2  Připojení jednou vytáčenou linkou — vytáčení na žádost).

Druhou podmínkou je neexistence výchozí brány v operačním systému (tzn. na žádném síťovém adaptéru nesmí být definována výchozí brána). Tato podmínka se samozřejmě nevztahuje na vytáčenou linku, která má být pro přístup do Internetu použita — ta bude konfigurována dle informací od příslušného poskytovatele internetového připojení.

Jestliže WinRoute přijme z lokální sítě paket, porovnává cílovou IP adresu se záznamy v systémové směrovací tabulce. Pokud se jedná o paket jdoucí do Internetu a linka je zavěšena, pak pro něj žádný odpovídající záznam nenalezne, protože ve směrovací tabulce neexistuje výchozí cesta. Za normálních okolností by byl paket zahozen a odesílateli vrácena řídicí zpráva, že cíl je nedostupný. Pokud je však zapnuta funkce vytáčení na žádost, WinRoute paket pozdrží ve vyrovnávací paměti a vytočí příslušnou linku. Tím dojde ve směrovací tabulce k vytvoření výchozí cesty, kudy je pak paket odeslán.

Aby nedocházelo k nežádoucímu vytáčení linky, je vytočení linky povoleno pouze pro určité typy paketů. Linku mohou vytočit pouze UDP pakety nebo TCP pakety s příznakem SYN (navazování spojení). Vytáčení na žádost je zakázáno pro služby sítě Microsoft Networks (sdílení souborů a tiskáren atd.).

Od tohoto okamžiku výchozí cesta již existuje, a další pakety jdoucí do Internetu budou směrovány přes příslušnou linku (viz první případ). Linka pak může být zavěšena ručně nebo automaticky po nastavené době nečinnosti (příp. v důsledku chyby apod.). Dojde-li k zavěšení linky, odstraní se také výchozí cesta ze směrovací tabulky. Případný další paket do Internetu je opět podnětem pro vytočení linky.

Poznámka:

  1. Pro správnou funkci vytáčení na žádost nesmí být nastavena výchozí brána na žádném síťovém adaptéru. Pokud by byla na některém rozhraní výchozí brána nastavena, pakety do Internetu by byly směrovány přes toto rozhraní (bez ohledu na to, kam je skutečně připojeno) a WinRoute by neměl žádný důvod vytáčet linku.

  2. Pro vytáčení na žádost může být ve WinRoute nastavena vždy pouze jedna linka. WinRoute neumožňuje automatický výběr linky, která má být vytočena.

  3. Linka může být také vytáčena na základě statické cesty ve směrovací tabulce (viz kapitola 18.1  Směrovací tabulka). Je-li definována statická cesta přes vytáčenou linku, pak paket směrovaný touto cestou způsobí vytočení linky, jestliže je právě zavěšena. V tomto případě se ale přes tuto linku nevytváří výchozí cesta — nastavení Použít výchozí bránu na vzdálené síti (Use default gateway on remote network) v definici telefonického připojení je ignorováno.

  4. V závislosti na faktorech, které ovlivňují celkovou dobu od přijetí podnětu do chvíle, kdy je linka vytočena (např. rychlost linky, doba potřebná pro vytočení atd.) může dojít k tomu, že klient vyhodnotí cílový server jako nedostupný (vyprší maximální doba pro přijetí odezvy) dříve, než je úspěšně navázáno spojení. WinRoute však požadavek na vytočení linky vždy dokončí. V takových případech stačí požadavek zopakovat (např. pomocí tlačítka Obnovit ve WWW prohlížeči).

Technická specifika a omezení

Vytáčení linky na žádost má určité specifické vlastnosti a principiální omezení. Ta je třeba mít na paměti zejména při návrhu a konfiguraci sítě, která má být připojena pomocí WinRoute a vytáčené linky do Internetu.

  1. Vytáčení na žádost nefunguje přímo z počítače, na němž je WinRoute nainstalován. Technicky jej totiž realizuje nízkoúrovňový ovladač WinRoute, který pakety zachytává a dokáže rozhodnout, zda má být linka vytočena. Pokud je linka zavěšena a z lokálního počítače je vyslán paket do Internetu, pak je tento paket zahozen operačním systémem dříve, než jej může ovladač WinRoute zachytit.

  2. Ve většině případů je při komunikaci klienta z lokální sítě se serverem v Internetu server odkazován DNS jménem. Proto zpravidla prvním paketem, který klient při komunikaci vyšle, je DNS dotaz pro zjištění IP adresy cílového serveru.

    Předpokládejme, že DNS server běží přímo na počítači s WinRoute (velmi častý případ) a linka do Internetu je zavěšena. Dotaz klienta na tento DNS server je komunikace v rámci lokální sítě a není tedy podnětem pro vytočení linky. Jestliže však DNS server nemá příslušný záznam ve své vyrovnávací paměti, musí dotaz předat jinému DNS serveru v Internetu. Nyní se jedná o paket vyslaný do Internetu aplikací, která běží přímo na počítači s WinRoute. Tento paket nelze zachytit a proto také nezpůsobí vytočení linky. V důsledku uvedených okolností nemůže být DNS dotaz vyřízen a v komunikaci nelze pokračovat.

    Pro tyto případy umožňuje DNS forwarder ve WinRoute automatické vytočení linky, jestliže není schopen DNS dotaz sám vyřídit. Tato funkce je svázána s vytáčením na žádost.

    Poznámka: Bude-li DNS server umístěn na jiném počítači v lokální síti nebo pokud budou klienti v lokální síti používat DNS server v Internetu, pak toto omezení neplatí a vytáčení na žádost bude fungovat normálně — v případě DNS serveru v Internetu způsobí vytočení linky přímo DNS dotaz klienta a v případě lokálního DNS serveru dotaz vyslaný tímto serverem do Internetu (počítač, na němž tento DNS server běží, musí mít nastavenu výchozí bránu na adresu počítače s WinRoute).

  3. Z předchozího bodu vyplývá, že pokud má DNS server běžet přímo na počítači s WinRoute, musí to být DNS forwarder, který dokáže v případě potřeby vytočit linku.

    Je-li v lokální síti doména založená na Active Directory (doménový server s operačním systémem Windows Server 2000/2003/2008), musí být použit Microsoft DNS server, protože komunikace s Active Directory probíhá pomocí speciálních typů DNS dotazů. Microsoft DNS server však automatické vytáčení linky nepodporuje, a nemůže být ani nasazen na tomtéž počítači společně s DNS forwarderem, protože by došlo ke kolizi portů.

    Z výše uvedeného vyplývá, že pokud má být připojení do Internetu realizováno vytáčenou linkou, nemůže být WinRoute nasazen na tentýž počítač, kde běží Windows ServerActive Directory a Microsoft DNS.

  4. Je-li použit DNS forwarder, pak může za určitých okolností WinRoute vytáčet i na základě požadavku přímo z počítače, na němž je nainstalován.

    • Cílový server musí být zadán DNS jménem, aby aplikace generovala DNS dotaz.

    • V operačním systému musí být nastaven primární DNS „sám na sebe“ (tzn. na IP adresu některého interního rozhraní). V operačních systémech Windows to provedeme tak, že ve vlastnostech TCP/IP na rozhraních připojených do lokání sítě nastavíme jako primární DNS server stejnou IP adresu, jaká je přiřazena příslušnému rozhraní.

  5. Proxy server ve WinRoute (viz kapitola 8.4  Proxy server) dokáže vytáčet linku přímo. Uživateli se po dobu vytáčení linky zobrazí speciální stránka informující o průběhu vytáčení (stránka je v pravidelných intervalech obnovována). Po úspěšném vytočení linky dojde k automatickému přesměrování na požadovanou WWW stránku.

Nežádoucí vytáčení linky — použití pravidel pro vytáčení na žádost

Vytáčení na žádost může mít v určitých případech nepříjemný postranní efekt — nechtěné vytáčení linky, zdánlivě bez zjevné příčiny. V naprosté většině případů je to způsobeno DNS dotazy, které DNS forwarder nedokáže zodpovědět, a proto vytočí linku, aby je mohl přeposlat na jiný DNS server. Typické jsou zejména následující situace:

  • Počítač určitého uživatele generuje komunikaci, o níž uživatel neví. To může být např. aktivní objekt na lokálně uložené HTML stránce či automatická aktualizace některého z instalovaných programů, ale také virus či trojský kůň.

  • DNS forwarder vytáčí na základě dotazů na jména lokálních počítačů. V tomto případě je třeba řádně nastavit DNS pro lokální doménu (k tomuto účelu postačí systémový soubor hosts na počítači, kde je WinRoute nainstalován — viz kapitola 8.1  DNS forwarder).

Poznámka: Nežádoucí komunikaci způsobující vytáčení linky je možné ve WinRoute blokovat komunikačními pravidly (viz kapitola 7.3  Definice vlastních komunikačních pravidel). Primární snahou by ale vždy mělo být odstranit její příčinu (tj. např. provést antivirovou kontrolu příslušné stanice apod.).

Pro zamezení nežádoucího vytáčení linky na základě DNS dotazů umožňuje WinRoute definovat pravidla, které určují, zda se pro daná DNS jména smí vytočit linka či nikoliv. Tato pravidla lze nastavit po stisknutí tlačítka Upřesnění v sekci Konfigurace → Rozhraní (v režimu Jedna internetová linka — vytáčení na žádost).

Pravidla pro vytáčení na žádost na základě DNS dotazů

Obrázek 25.7. Pravidla pro vytáčení na žádost na základě DNS dotazů


DNS jméno v pravidle může být zadáno úplné, nebo jeho začátek či konec doplněn znakem hvězdička (*). Hvězdička nahrazuje libovolný počet znaků.

Pravidla tvoří uspořádaný seznam, který je vždy procházen shora dolů (pořadí pravidel lze upravit tlačítky se šipkami na pravé straně okna). Při nalezení prvního pravidla, kterému dotazované DNS jméno vyhovuje, se vyhodnocování ukončí a provede se příslušná akce. Pro všechna DNS jména, pro něž nebude v seznamu nalezeno žádné vyhovující pravidlo, bude DNS forwarder v případě potřeby automaticky vytáčet.

Akce pro DNS jméno může být Vytočit nebo Ignorovat, tj. nevytáčet při dotazu na toto DNS jméno. Akci Vytočit lze použít pro vytváření složitějších kombinací pravidel — např. pro jedno jméno v dané doméně má být vytáčení povoleno, ale pro všechna ostatní jména v této doméně zakázáno (viz příklad na obrázku 25.7  Pravidla pro vytáčení na žádost na základě DNS dotazů).

Vytáčení pro lokální DNS jména

Lokální DNS jména jsou jména počítačů v dané doméně (tzn. jména, která neobsahují doménu).

Příklad:

Lokální doména má název firma.cz. Počítač má název pc1. Jeho úplné doménové jméno je pc1.firma.cz, zatímco lokální jméno v této doméně je pc1.

Lokální jména jsou zpravidla uložena v databázi lokálního DNS serveru (v tomto případě v souboru hosts na počítači s WinRoute, který DNS forwarder využívá). DNS forwarder ve výchozím nastavení na tato jména nevytáčí, protože pokud není lokální jméno nalezeno v lokální DNS databázi, považuje se za neexistující.

V případě, kdy je primární server lokální domény umístěn mimo lokální síť, je třeba, aby DNS forwarder vytáčel linku i při dotazech na tato jména. Toto zajistíme zapnutím volby Povolit vytáčení pro lokální DNS jména (v horní části okna Vytáčení na žádost). Ve všech ostatních případech doporučujeme ponechat tuto volbu vypnutou (opět může nastat nežádoucí efekt vytáčení linky zdánlivě bez příčiny).