LFCA: Naučite osnovne savjete za rješavanje problema s mrežom – 12. dio


Kada se sistemi susreću sa problemima, kao što se ponekad dešavaju, morate znati kako da rešite problem i vratite ih u normalno i funkcionalno stanje. U ovom odjeljku fokusiramo se na osnovne vještine rješavanja problema s mrežom koje bi svaki administrator Linux sistema trebao imati.

Fundamentalno razumijevanje rješavanja problema na mreži

U većini slučajeva postoji veliki jaz između administratora mreže i administratora sistema. Sistemski administratori kojima nedostaje vidljivost mreže obično će okriviti mrežne administratore za prekide i zastoje, dok će administratori mreže nedovoljno poznavanje servera često prebaciti krivicu na sistemske administratore za kvar krajnjeg uređaja. Međutim, igra okrivljavanja ne pomaže u rješavanju problema, a u radnom okruženju to može suprotstaviti odnose između kolega.

Kao sistemski administrator, osnovno razumijevanje rješavanja problema s mrežom pomoći će bržem rješavanju problema i pomoći u promoviranju kohezivnog radnog okruženja. Iz tog razloga smo sastavili ovaj odjeljak kako bismo istakli neke od osnovnih savjeta za rješavanje problema s mrežom koji će vam dobro doći prilikom dijagnosticiranja problema povezanih s mrežom.

Rekapitulacija TCP/IP modela

U našoj prethodnoj temi LFCA serije, pogledali smo TCP/IP konceptualni model koji pokazuje prenos podataka u računaru i protokole koji se nalaze u svakom sloju.

Drugi jednako važan konceptualni model je OSI model (Međusobna povezanost otvorenih sistema) model. To je 7 slojeva TCP/IP okvira koji razbija mrežni sistem, a računarstvo funkcioniše kao svaki sloj.

U OSI modelu, ove funkcije su segmentirane u sljedeće slojeve počevši od dna. Fizički sloj, sloj veze podataka, mrežni sloj, transportni sloj, sloj sesije. Sloj prezentacije, i konačno sloj aplikacije na samom vrhu.

Nemoguće je govoriti o rješavanju problema s mrežom bez pozivanja na OSI model. Iz tog razloga, mi ćemo vas provesti kroz svaki sloj i saznati različite mrežne protokole koji se koriste i kako otkloniti greške povezane sa svakim slojem.

Sloj 1: Fizički sloj

Ovo je vjerovatno jedan od slojeva koji se najviše zanemaruju, ali je to jedan od najbitnijih slojeva potrebnih za bilo kakvu komunikaciju. Fizički sloj obuhvata fizičke PC mrežne komponente računara kao što su mrežne kartice, Ethernet kablovi, optička vlakna, itd. Većina problema počinje ovde i uglavnom su uzrokovani:

  • Isključen mrežni/eternet kabl
  • Oštećen mrežni/eternet kabl
  • Nedostaje ili je oštećena mrežna kartica

U ovom sloju pitanja koja mi padaju na pamet su:

    Da biste provjerili status vaših mrežnih sučelja, pokrenite naredbu ip:

    ip link show
    

    Iz gornjeg izlaza, imamo 2 interfejsa. Prvi interfejs – lo – je adresa povratne petlje i obično se ne koristi. Aktivno mrežno sučelje koje omogućava povezivanje s mrežom i internetom je sučelje enp0s3. Iz izlaza možemo vidjeti da je stanje interfejsa UPORENO.

    Ako mrežni interfejs ne radi, vidjet ćete izlaz stanje DOWN.

    Ako je to slučaj, možete pokrenuti sučelje pomoću naredbe:

    sudo ip link set enp0s3 up
    

    Alternativno, možete pokrenuti naredbu ifconfig prikazanu ispod.

    
    sudo ifconfig enp0s3 up
    ip link show
    

    Samo da biste potvrdili da je vaš računar odabrao IP adresu sa rutera ili DHCP servera, pokrenite naredbu ifconfig.

    ifconfig
    

    IPv4 adresa ima prefiks inet parametra kao što je prikazano. Na primjer, IP adresa za ovaj sistem je 192.168.2.104 sa podmrežom ili mrežnom maskom od 255.255.255.0.

    
    ifconfig
    

    Alternativno, možete pokrenuti naredbu ip adresa kako slijedi kako biste provjerili IP adresu vašeg sistema.

    
    ip address
    

    Da biste provjerili IP adresu zadanog gatewaya, pokrenite naredbu:

    
    ip route | grep default
    

    IP adresa podrazumevanog gateway-a, koji je u većini slučajeva DHCP server ili ruter, prikazana je kao što je prikazano ispod. U IP mreži, trebali biste biti u mogućnosti da pingujete zadani gateway.

    Da biste provjerili DNS servere koje koristite, pokrenite sljedeću naredbu na systemd sistemima.

    
    systemd-resolve --status
    

    Bolji način da provjerite DNS servere u upotrebi je da pokrenete prikazanu naredbu nmcli

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

    Kao što ste primijetili, ovdje se događa prilično veliki dio rješavanja problema s mrežom.

    Sloj 2: Sloj veze podataka

    U suštini, sloj veze podataka određuje format podataka na mreži. Ovdje se odvija komunikacija okvira podataka između hostova. Preovlađujući protokol u ovom sloju je ARP (Address Resolution Protocol).

    ARP je odgovoran za otkrivanje adresa sloja veze i vrši mapiranje IPv4 adresa na sloju 3 u MAC adrese. Obično, kada host kontaktira zadani gateway, velike su šanse da već ima IP adresu hosta, ali ne i MAC adrese.

    Protokol ARP premošćuje jaz između sloja 3 i sloja 2 tako što prevodi 32-bitne IPv4 adrese na sloju 3 u 48-bitne MAC adrese na sloju 2 i obrnuto.

    Kada se računar pridruži LAN mreži, ruter (podrazumevani gateway) mu dodeljuje IP adresu za identifikaciju. Kada drugi host pošalje paket podataka namijenjen PC-u na zadani gateway, ruter traži od ARP da pazi na MAC adresu koja ide uz IP adresu.

    Svaki sistem ima svoju ARP tabelu. Da biste provjerili svoju ARP tablicu, pokrenite naredbu:

    ip neighbor show
    

    Kao što možete primijetiti, MAC adresa rutera je popunjena. Ako postoji problem s rješavanjem, naredba ne vraća izlaz.

    Sloj 3: Mrežni/Internet sloj

    Ovo je sloj na kojem radite isključivo sa IPv4 adresama koje su poznate administratorima sistema. Pruža višestruke protokole kao što su ICMP i ARP koje smo pokrili i druge kao što je RIP (Protokol informacija o rutiranju ).

    Neki od uobičajenih problema uključuju pogrešnu konfiguraciju uređaja ili probleme sa mrežnim uređajima kao što su ruteri i prekidači. Dobro mjesto za početak rješavanja problema je provjeriti je li vaš sistem odabrao IP adresu na sljedeći način:

    ifconfig
    

    Također, možete koristiti komandu ping za provjeru internetske veze slanjem ICMP eho paketa na Googleov DNS. Oznaka -c označava broj paketa koji se šalju.

    ping 8.8.8.8 -c 4
    

    Izlaz pokazuje pozitivan odgovor od Google-ovog DNS-a sa nultim gubitkom paketa. Ako imate isprekidanu vezu, možete provjeriti u kojoj tački se paketi ispuštaju koristeći naredbu traceroute kako slijedi.

    traceroute google.com
    

    Zvjezdice označavaju tačku u kojoj se paketi ispuštaju ili gube.

    Komanda nslookup postavlja upit DNS-u da dobije IP adresu pridruženu domeni ili imenu hosta. Ovo se naziva prosljeđivanjem DNS-a.

    Na primjer.

    
    nslookup google.com
    

    Komanda otkriva IP adrese povezane sa domenom google.com.

    
    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
    

    Komanda dig je još jedna naredba koja se koristi za ispitivanje DNS servera povezanih s imenom domene. Na primjer, da biste upitali DNS servere imena, pokrenite:

    
    dig google.com
    

    Sloj 4: Transportni sloj

    Transportni sloj upravlja prijenosom podataka koristeći TCP i UDP protokole. Samo da rezimiramo, TCP je protokol orijentisan na vezu dok je UDP bez veze. Pokrenuta aplikacija sluša na utičnicama koje se sastoje od portova i IP adresa.

    Uobičajeni problemi koji se mogu pojaviti uključujući blokirane TCP portove koje aplikacije mogu zahtijevati. Ako imate web server i želite provjeriti njegovo pokrenuto stanje, koristite naredbu netstat ili ss da provjerite sluša li web usluga port 80

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

    Ponekad port može biti u upotrebi od strane pokrenute usluge u sistemu. Ako želite da druga usluga koristi taj port, možda ćete biti prisiljeni da je konfigurirate da koristi drugi port.

    Ako i dalje imate problema, provjerite firewall i provjerite je li port koji vas zanima blokiran.

    Većina rješavanja problema će se dogoditi na ova 4 sloja. Vrlo malo rješavanja problema se radi u slojevima sesije, prezentacije i aplikacije. To je zato što oni igraju manje aktivnu ulogu u funkcioniranju mreže. Međutim, hajde da brzo napravimo pregled onoga što se dešava u tim slojevima.

    Sloj 5: Sloj sesije

    Sloj sesije otvara komunikacione kanale koji se nazivaju sesije i osigurava da oni ostanu otvoreni tokom prenosa podataka. Također se zatvara kada se komunikacija završi.

    Sloj 6: Prezentacijski sloj

    Takođe poznat kao sloj sintakse, sloj prezentacije sintetiše podatke koje će koristiti sloj aplikacije. U njemu se navodi kako uređaji trebaju šifrirati, kodirati i komprimirati podatke s ciljem da se osigura da budu dobro primljeni na drugom kraju.

    Sloj 7: Sloj aplikacije

    Na kraju, imamo sloj aplikacije koji je najbliži krajnjim korisnicima i koji im omogućava interakciju sa aplikativnim softverom. Aplikacioni sloj je bogat protokolima kao što su HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP i NTP da spomenemo samo neke.

    Zaključak

    Prilikom rješavanja problema sa Linux sistemom, slojeviti pristup korištenjem OSI modela se preporučuje, počevši od donjeg sloja. Ovo vam daje uvid u ono što ide po zlu i pomaže vam da suzite problem.