LFCA: Lærðu grunnvandaleit á netkerfi – 12. hluti


Þegar kerfi lenda í vandræðum, eins og þau munu stundum gera, þarftu að þekkja þig í kringum vandamálið og koma þeim aftur í eðlilegt og virkt ástand. Í þessum hluta leggjum við áherslu á grundvallaratriði við bilanaleit á netkerfi sem allir Linux kerfisstjórar ættu að hafa.

Grundvallarskilningur á bilanaleit á neti

Í flestum tilfellum er mikið bil á milli netkerfisstjóra og kerfisstjóra. Stjórnendur sem skortir netsýnileika munu venjulega kenna netstjórnendum um truflanir og niður í miðbæ á meðan netkerfisstjórar munu ófullnægjandi netþjónaþekkingu mun oft bera sök á stjórnendum fyrir bilun í endapunktatæki. Hins vegar hjálpar kennaleikurinn ekki við að leysa vandamál og í vinnuumhverfi getur þetta komið í veg fyrir samskipti samstarfsmanna.

Sem kerfisstjóri mun það að hafa grundvallarskilning á bilanaleit netkerfisins hjálpa til við að leysa vandamál hraðar og stuðla að samheldnu vinnuumhverfi. Það er af þessari ástæðu sem við höfum sett saman þennan hluta til að varpa ljósi á nokkrar af helstu bilanaleitarráðum um netkerfi sem munu koma að góðum notum við greiningu á nettengdum vandamálum.

Í fyrra efni okkar um TCP/IP hugmyndalíkanið sem sýnir sendingu gagna í tölvu og samskiptareglur sem finnast í hverju lagi.

Annað jafn mikilvægt hugmyndalíkan er OSI líkanið (Open Systems Interconnection) líkanið. Þetta er 7 laga TCP/IP ramma sem brýtur niður netkerfi og tölva virkar eins og hvert lag.

Í OSI líkaninu eru þessar aðgerðir skipt niður í eftirfarandi lög sem byrja frá botninum. Líkamlegt lag, gagnatenglalag, netlag, flutningslag, lotulag. Kynningarlag, og loks umsóknarlag efst.

Það er ómögulegt að tala um bilanaleit á neti án þess að vísa til OSI líkansins. Af þessum sökum munum við leiða þig í gegnum hvert lag og finna út hinar ýmsu netsamskiptareglur sem notaðar eru og hvernig á að leysa bilanir sem tengjast hverju lagi.

Þetta er líklega eitt af þeim lögum sem gleymast, en samt er það eitt mikilvægasta lagið sem þarf til að öll samskipti geti átt sér stað. Líkamlega lagið nær yfir efnislega tölvukerfishluta tölvu eins og netkort, Ethernet snúrur, ljósleiðara osfrv. Flest vandamál byrja hér og stafa að mestu af:

  • Tengdur net-/ethernetsnúra
  • Skemmdur net-/ethernetsnúra
  • Vantar eða skemmd netkort

Í þessu lagi eru spurningarnar sem koma upp í hugann:

  • „Er netsnúran í sambandi?“
  • „Er líkamlega nettengingin í gangi?“
  • “Ertu með IP tölu?”
  • “Geturðu pingað sjálfgefna IP-gáttina þína?”
  • “Geturðu pingað DNS-þjóninn þinn?”

Til að athuga stöðu netviðmótanna skaltu keyra ip skipunina:

$ ip link show

Frá úttakinu hér að ofan höfum við 2 tengi. Fyrsta viðmótið – lo – er afturveffangið og er venjulega ekki notað. Virka netviðmótið sem veitir tengingu við netið og internetið er enp0s3 viðmótið. Við getum séð af úttakinu að ástand viðmótsins er UPP.

Ef netviðmót er niðri, muntu sjá ástand DOWN framleiðsla.

Ef það er raunin geturðu komið viðmótinu upp með því að nota skipunina:

$ sudo ip link set enp0s3 up

Að öðrum kosti geturðu keyrt ifconfig skipunina sem sýnd er hér að neðan.

$ sudo ifconfig enp0s3 up
$ ip link show

Bara til að staðfesta að tölvan þín hafi valið IP tölu frá beininum eða DHCP þjóninum skaltu keyra ifconfig skipunina.

$ ifconfig

Forskeyti IPv4 vistfangsins er inet færibreytan eins og sýnt er. Til dæmis er IP-tala þessa kerfis 192.168.2.104 með undirneti eða netmaska 255.255.255.0.

$ ifconfig

Að öðrum kosti geturðu keyrt ip tölu skipunina sem hér segir til að athuga IP tölu kerfisins þíns.

$ ip address

Til að athuga IP tölu sjálfgefna gáttar skaltu keyra skipunina:

$ ip route | grep default

IP-tala sjálfgefna gáttarinnar, sem í flestum tilfellum er DHCP þjónninn eða beininn, er tilgreint eins og sýnt er hér að neðan. Í IP-neti ættirðu að geta pingað sjálfgefna gáttinni.

Til að athuga DNS netþjónana sem þú notar skaltu keyra eftirfarandi skipun á systemd kerfum.

$ systemd-resolve --status

Betri leið til að athuga DNS netþjóna sem eru í notkun er að keyra nmcli skipunina sem sýnd er

$ ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS

Eins og þú hefur tekið eftir þá á sér stað mikill hluti af bilanaleit á netinu hér.

Í meginatriðum ákvarðar gagnatenglalagið gagnasniðið á netinu. Þetta er þar sem samskipti gagnaramma milli hýsa eiga sér stað. Ríkjandi siðareglur í þessu lagi er ARP (Address Resolution Protocol).

ARP er ábyrgt fyrir því að uppgötva tengilaga vistföng og framkvæmir kortlagningu á IPv4 vistföngum á lag 3 yfir á MAC vistföng. Venjulega, þegar gestgjafi hefur samband við sjálfgefna gáttina, eru líkurnar á því að hann hafi þegar IP-tölu gestgjafans, en ekki MAC vistföngin.

ARP samskiptareglur brúa bilið á milli lag 3 og lag 2 með því að þýða 32 bita IPv4 vistföng á lag 3 yfir í 48 bita MAC vistföng á lag 2 og öfugt.

Þegar tölva tengist LAN neti, úthlutar beininn (sjálfgefin gátt) henni IP tölu til auðkenningar. Þegar annar gestgjafi sendir gagnapakka sem ætlaður er til tölvunnar í sjálfgefna gáttina, biður beininn ARP um að leita að MAC vistfanginu sem fylgir IP tölunni.

Hvert kerfi hefur sína eigin ARP töflu. Til að athuga ARP töfluna þína skaltu keyra skipunina:

$ ip neighbor show

Eins og þú sérð er MAC vistfang beinisins fyllt út. Ef það er upplausnarvandamál skilar skipunin engu úttaki.

Þetta er lagið sem þú vinnur eingöngu með IPv4 vistföng sem kerfisstjórar þekkja. Það býður upp á margar samskiptareglur eins og ICMP og ARP sem við höfum fjallað um og aðrar eins og RIP (Routing Information Protocol).

Sum algengustu vandamálanna eru rangar stillingar tækja eða vandamál með nettæki eins og beina og rofa. Góður staður til að hefja bilanaleit er að athuga hvort kerfið þitt hafi valið IP-tölu sem hér segir:

$ ifconfig

Einnig geturðu notað ping skipunina til að athuga nettengingu með því að senda ICMP bergmálspakka á DNS Google. -c fáninn gefur til kynna fjölda pakka sem verið er að senda.

$ ping 8.8.8.8 -c 4

Úttakið sýnir jákvætt svar frá DNS Google með núll pakkatapi. Ef þú ert með hlé á tengingu geturðu athugað hvaða stað pakkarnir eru slepptir með því að nota traceroute skipunina sem hér segir.

$ traceroute google.com

Stjörnurnar gefa til kynna á hvaða stað pakka er sleppt eða glatað.

nslookup skipunin spyr DNS til að fá IP tölu sem tengist léni eða hýsingarheiti. Þetta er vísað til sem Forward DNS leit.

Til dæmis.

$ nslookup google.com

Skipunin sýnir IP tölurnar sem tengjast google.com léninu.

Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	google.com
Address: 142.250.192.14
Name:	google.com
Address: 2404:6800:4009:828::200e

Dig skipunin er enn ein skipunin sem notuð er til að spyrjast fyrir um DNS netþjóna sem tengjast lén. Til dæmis, til að spyrjast fyrir um DNS nafnaþjóna keyra:

$ dig google.com

Flutningslagið sér um gagnaflutning með TCP og UDP samskiptareglum. Bara til að rifja það upp, TCP er tengingarmiðuð siðareglur á meðan UDP er tengingarlaust. Hlustaðu á forrit í gangi á innstungum sem samanstanda af höfnum og IP-tölum.

Algeng vandamál sem geta komið upp, þar á meðal lokaðar TCP-tengi sem kunna að vera krafist af forritum. Ef þú ert með vefþjón og vilt staðfesta stöðu hans í gangi skaltu nota ss skipunina til að athuga hvort vefþjónustan sé að hlusta á port 80

$ sudo netstat -pnltu | grep 80
OR
$ ss -pnltu | grep 80

Stundum gæti höfn verið í notkun af starfandi þjónustu í kerfinu. Ef þú vilt að önnur þjónusta noti þá höfn gætirðu neyðst til að stilla hana þannig að hún noti aðra höfn.

Ef þú ert enn í vandræðum skaltu athuga eldvegginn og ganga úr skugga um hvort höfnin sem þú hefur áhuga á sé læst.

Flest bilanaleitin mun gerast á þessum 4 lögum. Mjög lítil bilanaleit er gerð í lotu-, kynningar- og forritalögum. Þetta er vegna þess að þeir gegna minna virku hlutverki í starfsemi nets. Hins vegar skulum við fljótt hafa yfirsýn yfir hvað gerist í þessum lögum.

Setulagið opnar samskiptaleiðir sem vísað er til sem lotur og tryggir að þær haldist opnar meðan á gagnaflutningi stendur. Það lokar líka þegar samskiptum er slitið.

Kynningarlagið, einnig þekkt sem setningafræðilagið, myndar gögn til að nota af forritalagið. Það lýsir því hvernig tæki ættu að dulkóða, umrita og þjappa gögnum með það að markmiði að tryggja að þeim sé vel tekið á hinum endanum.

Að lokum höfum við forritalagið sem er næst endanlegum notendum og gerir þeim kleift að hafa samskipti við forritahugbúnaðinn. Forritalagið er ríkt af samskiptareglum eins og HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP og NTP svo eitthvað sé nefnt.

Þegar verið er að leysa Linux kerfi er mjög mælt með lagskiptu nálguninni sem notar OSI líkanið, frá neðsta lagi. Þetta gefur þér innsýn í hvað er að fara úrskeiðis og hjálpar þér að þrengja að vandamálinu.