Hvem sin feil er det når Internett Dies? Feilsøking Networks med Linux

Når du mister internettforbindelsen er feil av din ISP? Eller er det et problem på din side av forbindelsen? Her er hvordan du finner ut ved hjelp av standard Linux-nettverk verktøy, og unngå pinlige teknisk støtte samtaler som avsluttes med " Ja, kjære kunde, du brøt det din egen selv "

ISPer. Hvorfor vi hater dem

Jeg har gamle, trege 640 /128k ADSL. Hvis jeg bodde på østsiden av min telco stedet for vestsiden ville jeg ha høyhastighets fiber. Sånn er livet, og det er bedre enn oppringt.

Men min ISP krever autentisering via nettleseren. Dette slår inn når jeg gjør noe som krever min router for å be om en ny DHCP lease. Selvfølgelig er det ingen nettleser på ruteren min, så jeg må gjøre dette på en av PC-ene på LAN. Ofte ganger ut og godkjenner ikke, eller er jeg teste en rekke forskjellige ting og må starte det mye, og da blir det en stor plage. Dette. Er. Dum. De kontrollerer ledningene, så hva er vitsen? Jeg får ikke tilgang til DSL fra et annet sted. Jeg nevner dette ikke bare fordi det føles godt å rant, men det kan være noe du har å forholde seg til også.

Som en god Scout, være forberedt

Når du ikke kan tilgang til Internett kan du ikke installere programvare (med mindre du har din egen lokale repository), så du bør ha disse kommandoene som er tilgjengelige på datamaskinene:

ping

ifconfig

grave

GNU skjermen

Du kan også holde en oppstartbar redning Linux hendig, slik som min favoritt SystemRescue CD /USB. SystemRescue har alt du trenger for system og nettverksadministrasjon. En kul alternativ er å ha en netbook eller bærbar PC utstyrt som en super-duper nettverksadministrasjon maskin, med to Ethernet-grensesnitt, Wi-Fi, og all nettverksprogramvare du kan finne. Har din Internett-konto login, passord og konfigurasjon registrert et sted hendig.

Du bør også holde en liste over ping-stand IP-adresser, og starter med din ISP og det navnet servere du bruker. Deretter legge til noen flere tilfeldige nettsider, slik at du har en anstendig størrelse testing bassenget. Bruke pool.ntp.org og icann.org gir deg et godt utvalg. Noen server admins blokk ping (ICMP echo request), som er tåpelig, så det er derfor du trenger en gruppe med påvist ping-stand adresser for testing.

Det er godt å ha et par ekstra Ethernet-kabler, fordi det er raskt og enkelt å bytte kabler, men å investere i en fancy kabel tester er gøy. Hold et ekstra hub eller enkle, ikke-fancy bryteren rundt for rask testing også. Hvis du har din egen router ha uansett grensesnittkabel du trenger for å kommunisere direkte med det, enten det er seriell eller USB. Ikke stol på Ethernet fordi feilkonfigurasjoner vil låse deg ut.

Be Kind

Vær snill og ikke bombardere områder med ping og andre spørsmål. ping vil kjøre for alltid hvis du ikke stoppe det, så begrenser det med -c alternativ; for eksempel ping C4 [host] kjører fire ganger og deretter stopper.

Finne IP-adresser

Hvordan finner du IP-adressene til alle disse områdene? Enkel peasey med gode gamle ping:

 $ ping C4 pool.ntp.orgPING pool.ntp.org (64.16.214.60) 56 (84) bytes av data.64 bytes fra nox.prolixium.com (64,16 .214.60): icmp_req = 1 ttl = 51 tid = 125 ms 

Jeg liker pool.ntp.org fordi den bruker en stor pool av adresser – pinge den igjen og du vil få forskjellige resultater. Du kan se alle av dem med dig kommandoen:

 grave pool.ntp.org 

Som standard grave ser for A-poster, så dette er det samme som å grave pool.ntp.org A.

Enkelt PC

Den enkleste scenariet er en enkelt datamaskin som er koblet direkte til en Internett-gateway: DSL, kabel, fiber, wi-fi, eller til og med oppringt. (Ja, mine venner, omtrent halvparten av Internett-brukere i USA er fortsatt på dialup.) Min favoritt feilsøking protokollen er nær Far: start med PCen, og deretter gå videre opp i kjeden derfra. La oss kjøre gjennom noen grunnleggende kontroller

Først ping localhost.

 $ ping localhostPING localhost (127.0.0.1) 56 (84) bytes av data.64 bytes fra localhost (127.0.0.1): icmp_req = 1 ttl = 64 tid = 0,044 ms 

Hvis du ikke ser denne, men i stedet får en ping: unknown host localhost melding, prøv loopback adresse:

 $ ping 127.0.0.1 

Hvis det mislykkes så er det et problem med nettverkskortet; det er dødt eller ikke satt inn riktig. Hvis det går, deretter kjøre ifconfig for å se om du har en rutbare adresse tildelt, da dette tekstutdraget viser:

 $ /sbin /ifconfigeth0 inet addr: 173.222.222.111 Bcast: 173.222.222.255 Mask: 255.255.255.0 < p> Det er en skikkelig (falske) rutes IP-adresse, slik som ser all right. Hvis du ser en adresse i 169.254.0.0/16 rekkevidde da grensesnittet ikke har blitt tildelt en rutbare adresse, og har blitt tildelt en IPv4-adresse for lokalt. (Se IP-adresse for en IPv4 oppfriskning.) Så det er ikke få en DHCP lease, eller statisk konfigurasjon er feil 

Hvis adressen din er bra da pinge neste lenke &mdash.; hvis du har en DSL /kabel /etc. modem med sin egen IP-adresse, ping det og se statusen lysdioder, hvis det har noen, for nettverksaktivitet. . Hvis det mislykkes, sjekk strøm- og nettverkstilkoblinger, og power-syklus det

Hvis det lykkes, eller du har en " dum " modem uten IP-adresse, pinge din ISP. Først ping av sin vertsnavn, som ping unlimitedbandwidth.noreally.net. Hvis det mislykkes med en " ukjent vert " feil, så pinge deres IP-adresse. Hvis det lykkes så er det en DNS problem. Du kan ha tilkobling uten DNS, noe som betyr at du kan Web-surf kun via IP-adresser.

Hvis du kjører en lokal caching omformer, så du kan prøve å spyle cache for å se om det endrer noe. De fleste distroer ikke aktivere en standard, så hvis du har en det er fordi du setter den der. Bruke den fantastiske og mektige grave kommando for å se hva omformeren, enten det er din egen eller din ISP-tallet, peker på, som dette:

 $ grave @ 22.33.44.55 linux.com; < < > > DIG 9.7.3 < < > > @ 22.33.44.55 linux.com; (1 server funnet);; globale alternativer: + cmd;; Fikk svar:;; - > > HEADER < < - opcode: SPØRRE, status: noerror, id: 40503;; flagg: qr rd ra; SPØRRE: 1, Svar: 1, AUTHORITY: 2, EKSTRA: 2;; SPØRSMÅL DEL:; linux.com. I EN;; SVAR DEL: linux.com. 3600 I ET 140.211.167.55;; AUTORITET DEL: linux.com. 13788 IN NS ns1.linux-foundation.net.linux.com. 13788 IN NS ns2.linux-foundation.net.;; TILLEGGS Seksjon: ns1.linux-foundation.net. 34753 IN A 140.211.169.10ns2.linux-foundation.net. 34753 IN A 140.211.169.11;; Query tid: 103 msek;; SERVER: 22.33.44.55 # 53 (22.33.44.55);; NÅR: Fre 6 mai 12:26:35 2 011;; MSG SIZE MOTTATT: 131 

Gjør dette ved å bruke forskjellige DNS-servere som Google Public DNS, eller OpenDNS, eller hvem du vil, og sammenligne resultatene. Hvis dette fungerer, hvis din ISP resolver returnerer forskjellige resultater, så det er eller et ganske godt tegn på at din ISP DNS-servere har et problem. Før du plukke opp telefonen for å høflig be om at de fikse det, gjøre en ting: be om en ny DHCP lease. Forutsatt at du har en dynamisk konto, selvfølgelig. Du kan starte på nytt, eller du kan finne ut hvilke DHCP-klienten din distro bruker og manuelt fornye leieavtalen som dette, navngi riktige Ethernet-grensesnitt:

# dhclient eth0

Andre Linux DHCP-klienter er DHCPCD og pumpe. Hvis dette ikke endrer noe så sjansene er gode for at din ISP er feil.

Hvis du har en konto som gir deg en statisk IP-adresse, så sjekk konfigurasjonene, og sjekk for å se om tjenesteleverandøren endret noe uten å fortelle deg. For eksempel min ISP endret navn servere uten å varsle kunder. Det var moro.

Du har en ruter

Tenk deg at du har en ruter mellom din PC og Internett-gateway. Før du gjør noe til ruteren, sørg for at du kan snakke direkte til det via seriell eller USB-kabel. Med en seriell tilkobling bruke GNU-skjermen fordi det er mye enklere enn Minicom. Alt du trenger å vite er riktig linjehastighet, og deretter kjøre det slik:

 $ skjerm /dev /ttyS0 38400 

Dette er din Plan B hvis ruteren konfigurasjonen blir søl
.

Når du har kontrollert at din PC er ikke kilden til problemet, pinge ruteren. Hvis det lykkes, deretter logge inn på din router og kjøre de samme ping-tester som ovenfor – pinge din ISP og andre nettsteder av vertsnavn og IP-adresse, og prøve å bruke grave med forskjellige resolvers om nødvendig. Hvis dette ikke fungerer, sjekke ruterkonfigurasjoner, og sjekk om din ISP endret noe uten å fortelle deg.

Hvis konfigurasjonene ser all right, og koble en bærbar PC eller PC direkte til din DSL /kabel /etc . modem. Konfigurere den for uansett type konto du har (statisk eller dynamisk) og se hva som skjer. Hvis du kobler hell så problemet er enten i ruteren eller svitsjen. Anmeldelser