Võrgu põhitööriistad
Selles peatükis vaatame väikest võrgu baasi, mis aitab kiiresti aru saada, kas probleem on käsus, failis või võrgus.
Loogika
Võrguprobleemi puhul tasub küsimus jagada väikesteks osadeks:
- kas nimi või host üldse vastab
- kas HTTP-teenus vastab
- millised võrguliidesed masinas on
- kas mõni port üldse kuulab
Need küsimused ei lahenda kõiki võrguvigu, aga annavad väga kiiresti esimese pildi.
Kiirspikker
pingkontrollib, kas host vastab ICMP-lecurl -Iküsib veebiserverilt ainult päisedip anäitab Linuxis võrguliideseidifconfigon levinud alternatiiv macOS-is ja BSD-sss -ltnnäitab Linuxis kuulavaid TCP-portelsof -iTCP -sTCP:LISTEN -n -Pon macOS-is kasulik kuulavate portide vaade
Käivita need käsud
Linuxis:
ping -c 4 example.com
curl -I https://example.com/
ip a
ss -ltn
macOS-is:
ping -c 4 example.com
curl -I https://example.com/
ifconfig
lsof -iTCP -sTCP:LISTEN -n -P
ping
ping on kiire kontrollküsimus:
“Kas see nimi või host üldse vastab?”
Näide:
ping -c 4 example.com
Oluline märkus:
- kõik hostid ei vasta
ping-ile - kui
pingei vasta, ei tähenda see alati, et veeb või teenus oleks maas
Seetõttu ei tasu ping-i võtta viimase tõena, vaid esimese vihjena.
curl -I
Kui sind huvitab veebiteenuse eluolu, siis curl -I on tihti kasulikum kui ping.
Näide:
curl -I https://example.com/
See näitab:
- kas HTTP või HTTPS vastab
- mis olekukood tuleb
- kas server teeb ümbersuunamise
Kui curl -I töötab, aga ping mitte, siis on teenus sageli ikkagi täiesti elus.
ip a ja ifconfig
Need käsud aitavad vaadata:
- millised liidesed masinas on
- kas mõnel liidesel on aadress
- kas masin paistab olevat üldse võrku ühendatud
Linuxis on tavalisem:
ip a
macOS-is ja mõnes vanemas süsteemis:
ifconfig
Siin ei pea algaja esialgu kõike mõistma. Esimene kasulik küsimus on lihtsalt:
- kas näen mõnd aktiivset liidest
- kas seal on IP-aadress
ss -ltn ja kuulavad pordid
Kui probleem on selles, et “teenus ei vasta”, siis järgmine küsimus on:
“Kas see teenus üldse kuulab pordi peal?”
Linuxis:
ss -ltn
macOS-is praktiline vaste:
lsof -iTCP -sTCP:LISTEN -n -P
See aitab näha, kas mõni protsess kuulab näiteks porte nagu:
22SSH jaoks80HTTP jaoks443HTTPS jaoks- mõni rakenduse enda port
Väike kontrolljärjekord
Kui võrgus midagi ei tööta, siis liigu näiteks nii:
- proovi
curl -I, kas teenus vastab - proovi
ping, kas nimi elab - vaata
ip avõiifconfig, kas masinal on üldse mõistlik liides - vaata
ss -ltnvõi alternatiiviga, kas kohalik teenus kuulab
See aitab eristada:
- nimeprobleemi
- ühenduseprobleemi
- kohaliku teenuseprobleemi
Minitest
- Tee
curl -Ipäring aadressilehttps://example.com/. - Vaata, milline käsk näitab sinu süsteemis võrguliideseid.
- Vaata, kas sinu masinas on mõni kuulav TCP-port.
- Pane ühe lausega kirja, miks
pingei anna alati täielikku vastust võrgu toimimise kohta.