Pomalé odezvy routeru - nepohodlné surfování

Ahoj, jsem amatér, tak prosím trošku ohledu :slight_smile: Ani nevím, zda se jedná o SW nebo HW problém, ale napíšu co nejvíc informací.
Mám problém s rychlostí načítání stránek ze všech zařízení připojených přes Turris 1.0. A to takovým způsobem, že napíšu adresu nebo kliknu na odkaz, stránka se začne načítat a několik vteřin (cca 3-10) se vůbec nic neděje, potom se stránka najednou začne rychle načítat. Na noteboocích, iPadu, různých smartphonech i na PC připojeném k Turrisu kabelem. Kvůli tomu se nedá na takovém internetu pracovat ani surfovat - pořád musím čekat. Jakmile se stránka už načte, například video se již načítá rychle, stáhování je OK.
Internet je od SychrovNet (Valašské Meziříčí) bezdrátový, mají nový vysílač a na střeše máme Ubiquiti PowerBeam ac, přímý výhled na vysílač. Bydlíme v nové zástavbě rodinných domů, kolem je pole, wifi je zde nezarušená, vidím max síť sousedů. Signál z routeru je všude výborný. Rychlost stahování je bezproblémová, ping myslím odpovídá bezdrátovému připojení na poměrně dlouhou vzdálenost. Posílám pingy a výsledky měření speedtest.net v Olomouci a Praze. Poskytovatel internetu se aktivně snažil řešit problém, byli tu už 2x s přístroji vše měřit a nemůžou najít chybu, nikdo ze sousedů, který má stejného poskytovatele problém nemá. Jediný nezičlánek je už jen Turris. Nemohu bohužel vyzkoušet jiný router, protože poskytovatel nějak (mac adresou?) napároval svůj HW s Turrisem, poznají, když ho odpojím a žádné jiné připojené zařízení než Turris po připojení nefunguje. V nastavení Turrisu jsem se nehrabal, pouze nastavil heslo a název sítě.
Nevíte prosím někdo, co s tím?
https://s24.postimg.org/ulecl740l/1.png
https://s24.postimg.org/ulecl740l/1.png
http://www.speedtest.net/my-result/5940991759
http://www.speedtest.net/my-result/5941001480
(Jako nový uživatel nemůžu dát odkazy na obrázky)

Podobnou zlobu někdy dělá

  • buď špatné nastavení služby DNS
  • nebo chybné použití protokolu IPv6.

Obojí se dá poměrně dobře rozkrýt pomocí zachytávání síťové komunikace Wiresharkem (Tsharkem, tcpdumpem…)
Pokusím se popsat některé scénáře.

DNS servery

PC úplně na začátku dostane od DHCP serveru (běžícího v Turrisu) přidělené různé údaje, mimo jiné i adresy DNS serverů. Ty bývají obvykle dvě pro dva servery. Při každém požadavku na překlad jména na adresu (např. zapsání URL nějaké stránky do adresního políčka webového prohlížeče na PC a stisku Enter) se pošle dotaz obsahující jméno webu. Dotaz směřuje na první DNS server. Ten z nějakého důvodu neodpoví. Klient (prohlížeč) čeká po nastavený timeout, obvykle 3, někdy až 10 sekund. Mezitím se dotaz opakuje. Pak se pošle tentýž dotaz na druhý DNS server. Budu předpokládat, že ten reaguje hned a v odpovědi na dotaz pošle IP adresu ekvivalentní jménu požadovaného webového serveru. Ale z pohledu uživatele už došlo k prodlevě.

DNS serverem odpovídajícím na dotazy počítačů v LAN může být i sám Turris. Běží v něm služba “prostředníka”, která DNS dotazy od klientů z LAN posílá ven do WAN (a naopak). Na PC tedy v některých případech vůbec není vidět v jeho síťovém nastavení adresa žádného externího DNS serveru od poskytovatele, je tam v políčku DNS uvedena IP adresa shodná s adresou výchozí brány, tj. je to vnitřní adresa Turrisu (jeho LAN strana).

Popsaná potíž s neodpovídajícím nebo zpožděným DNS serverem se může odehrávat mezi Turrisem a externími DNS servery. Počítač v LAN vůbec nemá tušení, proč mu Turris posílá odpovědi na DNS dotazy tak pozdě.

Jak otestovat?
Např. chci vyzkoušet jak probíhá překlad jména webu www.seznam.cz (ale i jakéhokoliv jiného). Otevřu na PC připojeném za Turrisem okno příkazového řádku a dám příkazy.

Ve Windows:

nslookup
> www.seznam.cz
> server  8.8.8.8
> www.seznam.cz
> exit

nebo jednodušeji

nslookup  www.seznam.cz
nslookup  -server 8.8.8.8  www.seznam.cz

V prvním příkladu se nejprve využije defaultně nastavený DNS server (to je druhý řádek),
ve třetím řádku se přepnu na jiný DNS server (Google DNS) a test zopakuji ve čtvrtém řádku. To celé provedu pro různá jména webových serverů, abych vyloučil vliv nakešování.Sleduji rychlost odezvy, za kterou přijde odpověď na jméno (v příkladu www.seznam.cz)

Podobně v Linuxu:

dig  www.seznam.cz
dig  @8.8.8.8  www.seznam.cz

Doporučuji rovnou

  1. spustit Wireshark na PC, na kterém se provádí test rychlosti otevírání webových stránek,
  2. zachytávat data,
  3. nastavit display filtr udp.port==53,
  4. otevírat prohlížečem různé weby a sledovat ve Wiresharku co se děje, kam se posílají DNS dotazy, kdo na ně odpovídá a jak rychle.

##IPv6
Všechny současné počítače, smartphony, tablety atd. umějí pracovat s protokolem IPv6 a mají ho ve výchozím stavu zapnutý souběžně se starým klasickým IPv4. Je li špatně nastavená síť (v tomto případě router), může se některým zařízením v LAN zdát, že síť podporuje IPv6, že komunikace IPv6 je aktivní a že tedy mají protokolem IPv6 posílat své požadavky. IPv6 má totiž vyšší prioritu při souběžném použití s IPv4. Ale jestli síť pro IPv6 není průchozí, žádné odezvy nepřijdou. Klient (např. webový prohlížeč v PC) několik sekund čeká a teprve se zpožděním se pokusí tutéž komunikaci provést pomocí IPv4. Ejhle, stránka se otevře. Ale před tím už uplynut timeout marných pokusů provedených pomocí IPv6.

Také toto se dobře diagnostikuje pomocí Wiresharku.

1 Like

Mám / měl jsem podobný problém s rychlostí překladu DNS jména na IP adresu, u mně v tom je jednoznačně DNSSEC, který můj poskytovatel nepodporuje (v dostatečném rozsahu, BIND < 9.9). Nakonec jsem došel k tomu, že pro klientská zařízení v síti nepoužívám jako DNS server Turrise, ale přímo DNS server poskytovatele (nastavení na zařízení LAN, 2. záložka tuším, je tam normálně uvedeno “6,<ip_adresa_turrise>”, změnil jsem na “6,<ip_adresa_dns_poskytovatele>”) a neprovádím forward DNS dotazů. Sice se tím připravuji o určitou část bezpečnosti, ale aspoň nemám naštvané členy rodiny, že jim net jede “pomalu”.

Jako kompromis jde používat alespoň vzdálený resolver který DNSSEC validuje, třeba 8.8.8.8, ať už přímo z klientů nebo s forwardingem přes Omnii (tedy lokální vrstvou cache navíc).

Je taky možné, že byl problém způsoben updatem. Resetoval jsem Turris a stala se z něj nefunkční mrtvola. Je to tom v této sekci velmi dlouhé vlákno, které jsem si před resetem nepřečetl :frowning:

Něco s updatem v tom i možná bude, ale po něm jsem již mj. provedl update systému z SD karty, asi 3x reset do továrního nastavení. Ono se to prvních pár minut chovalo korektně (to bylo divné), ale posléze se ty doby odezvy pokazily. Už jsem měl i tendenci zaměnit unbound za kresd (viz můj příspěvek na starém fóru Problém s DNSSEC při použití Turrisu jako DNS serveru. Jediné, co mi pomohlo, bylo výše popsané řešení. Zkoušel jsem i resolvery provozované nic.cz, ale stále se to nechovalo úplně ideálně, co se týká rychlosti.