DNS-virhe vai MTU-ongelma? Mihin pyyntö todella pysähtyy
Nimi, jota ei koskaan ratkaista, epäonnistuu ennen mitään yhteyttä; MTU-jumi alkaa kättelyn jälkeen. Selvitä ensin vaihe, vaihda sitten yhtä kerrosta ja testaa uudelleen.
Kaksi virhettä tuottaa käyttäjältä saman lauseen: sivusto ei toimi. Ne tapahtuvat eri kerroksissa, ja ero ratkaisee, mitä muutat. Nimen ratkaisun virhe pysähtyy ennen kuin yhteyttä on olemassa. Paketin koon virhe tapahtuu sen jälkeen kun nimi on ratkaistu ja kun kättely on valmis, siksi sivu alkaa latautua ja jää sitten jumiin. Löydä vaihe ennen kuin löydät asetuksen.
Kaksi virhettä eri kerroksissa
Ratkaisu muuttaa nimen osoitteeksi, eikä mikään muu yhteydessä voi alkaa ennen kuin se onnistuu. Polun MTU-ongelmat syntyvät myöhemmin, kun jokin linkin rajaa suurempi paketti pudotetaan eikä lähettäjälle koskaan kerrota. Toinen on haku; toinen on toimitusvirhe, joka näkyy vain tietyn koon yläpuolella.
Oireet eroavat tavalla, jonka voit havaita ilman työkaluja. DNS-virhe on välitön ja pysyvä: selain sanoo, ettei palvelinta löydy. MTU-virhe on osittainen: sivu alkaa, osa resursseista saapuu ja suuri vastaus tai lataus jää jumiin.
Jos oireesi on osittainen, lopeta DNS:n katsominen.
Vaihe 1: ratkaistaanko nimi ylipäätään
Käytä alustan hakutyökaluja täsmälleen sillä isäntänimellä, jota sovellus käyttää. Toimiston yksityinen nimi voi vaatia sisäisen ratkaisijan, ja selaimen oma suojattu DNS voi käyttäytyä eri tavoin kuin käyttöjärjestelmän ratkaisija, joten ne kaksi voivat olla eri mieltä samasta nimestä.
Kysy ratkaisijalta, jota käyttöjärjestelmä käyttäisi, ja vertaa sitten:
dig +short vpn.example.com
dig +short vpn.example.com @10.0.0.53
Jos ratkaisu epäonnistuu, ongelma on siinä käytännössä ja sen tavoitettavuudessa. Älä lähetä yksityisiä nimiä mielivaltaisille julkisille ratkaisijoille pelkän vertailun saamiseksi, koska vertailu itse vuotaa ne nimet, jotka halusit pitää sisäisinä.
Vaihe 2: mihin siirto pysähtyy
Jos nimi ratkeaa ja yhteys alkaa, kirjaa mihin toiminto pysähtyy. Sivu, joka piirtyy ja jää sitten jumiin yhteen resurssiin, lataus, joka kuolee tasaiseen kohtaan, tai suuri lataus, joka ei koskaan valmistu, kun pienet pyynnöt toimivat, ovat kaikki koon muotoisia oireita. Vastaus, joka ei ala lainkaan, on eri muotoinen.
Pidä päätepiste ja sovelluksen kohde kiinteinä vertaillessasi, muuten mittaat kahta muuttujaa kerralla. Muitakin syitä on tässä vaiheessa mahdollista: palveluvirheet, häviö, suodattimen käyttäytyminen ja tunnelin uudelleenyhdistämiset tuottavat kaikki jumeja.
Yksi toistettava jumi on arvokkaampi kuin kymmenen anekdoottista.
Miksi MTU haittaa vasta kättelyn jälkeen
TCP-kättely käyttää pieniä paketteja, joten se onnistuu polulla, joka ei kanna täysikokoista segmenttiä. Virhe näkyy, kun lähettäjä lähettää suuren paketin pirstomiskiellon bitillä, linkki pudottaa sen, eikä ICMP-viesti, joka olisi ilmoittanut rajan, saavu koskaan, koska suodatin söi sen. Lähettäjä yrittää sitten samaa kokoa uudelleen ja siirto jumittuu.
Siksi oire riippuu koosta ja on toistettava eikä satunnainen. Se selittää myös, miksi isännän pingaaminen ei todista mitään, koska pieni ICMP-kaiku voi kulkea polun läpi, joka ei kanna täysikokoista hyötykuormaa. Mittaa koko polun molemmista päistä, jos voit. Raja, joka näkyy vain yhteen suuntaan, on reitityksen epäsymmetria eikä tunnelin MTU.
Mittaa koko suoraan sen sijaan, että päättelet sen:
ping -M do -s 1472 203.0.113.20
tracepath 203.0.113.20
Vaihda yhtä kerrosta ja todista se
Nimille vaihda ratkaisijan käytäntöä ja aja sama haku uudelleen. Koolle käytä MTU-menettelyä tallennettujen alkuperäisten arvojen ja valmiin peruutuksen kanssa, koska MSS:n rajoittaminen tuntematta tunnelin todellista MTU:ta vaihtaa yhden jumin toiseen.
Sivu, joka latautuu kerran usean asetuksen muuttamisen jälkeen, ei yksilöi korjausta. Muuta yhtä asiaa, aja sama testi uudelleen ja pidä tulos ensimmäisen kirjatun epäonnistuneen vaiheen vieressä.
Juuri se kirjaus estää DNS:ää, paketin kokoa ja todennusta muuttumasta kasaksi pysyviä kiertoteitä, joita kukaan ei osaa selittää. Raakaan IP:hen perustuva testaus on hyvä esimerkki oikotiestä, joka muuttaa TLS-identiteettiä, eikä varmenteen vahvistuksen poistaminen käytöstä vertailun onnistumiseksi ole diagnoosi.