Kun järjestelmissä ilmenee ongelmia, kuten joskus tapahtuu, sinun on tiedettävä tapa kiertää ongelma ja palauttaa ne takaisin normaaliin ja toimivaan tilaan. Tässä osassa keskitymme perustavanlaatuisiin verkon vianmääritystaitoihin, joita kaikilla Linux -järjestelmänvalvojilla pitäisi olla.
Useimmissa tapauksissa verkon ylläpitäjien ja järjestelmänvalvojien välillä on suuri ero. Sysadminit, joilla ei ole verkon näkyvyyttä, syyllistyvät yleensä siihen verkonvalvojat katkoksia varten ja seisokit, kun verkon ylläpitäjät eivät riitä palvelintietoon, kääntävät usein järjestelmänvalvojien syyn päätelaitevikaan. Syyllisyyspeli ei kuitenkaan auta ratkaisemaan ongelmia, ja työympäristössä tämä voi estää kollegoiden välisiä suhteita.
Järjestelmänvalvojana perustiedot verkon vianmäärityksestä auttavat ratkaisemaan ongelmat nopeammin ja edistämään yhtenäistä työympäristöä. Tästä syystä olemme koonneet tämän osan korostamaan joitakin niistä perusvinkkejä verkon vianmääritykseen siitä on hyötyä, kun diagnosoidaan verkkoon liittyviä ongelmia.
Edellisessä aiheessamme LFCA -sarja, katsoimme TCP/IP -käsitteellinen malli joka näyttää tietojen siirron tietokoneessa ja jokaisessa kerroksessa olevat protokollat.
Toinen yhtä tärkeä käsitteellinen malli on OSI -malli (Avoimien järjestelmien yhteenliittäminen) malli. Se on 7 -kerroksinen TCP/IP -kehys, joka hajottaa verkkojärjestelmän ja laskutoimitukset kuten kaikki kerrokset.
vuonna OSI malli, nämä toiminnot on jaettu seuraaviin kerroksiin alhaalta alkaen. Fyysinen kerros, datalinkkikerros, verkkokerros, kuljetuskerros, istuntokerros. Esityskerros ja lopuksi Sovelluskerros ylhäällä.
On mahdotonta puhua verkon vianmäärityksestä viittaamatta OSI -malliin. Tästä syystä käymme läpi jokaisen kerroksen ja selvitämme käytetyt eri verkkoprotokollat sekä kunkin kerroksen vikojen vianmäärityksen.
Tämä on luultavasti yksi unohdetuimmista kerroksista, mutta se on kuitenkin yksi tärkeimmistä kerroksista, joita tarvitaan kaikenlaisen viestinnän toteuttamiseen. Fyysinen kerros sisältää tietokoneen fyysiset PC -verkko -osat, kuten verkkokortit, Ethernet -kaapelit, optiset kuidut jne. Suurin osa ongelmista alkaa tästä ja johtuu useimmiten:
Tässä kerroksessa tulevat mieleen seuraavat kysymykset:
Tarkista verkkoliittymiesi tila suorittamalla ip -komento:
$ ip -linkin esitys.
Yllä olevasta tuotoksesta meillä on 2 rajapintaa. Ensimmäinen käyttöliittymä - lo
- on loopback -osoite, eikä sitä yleensä käytetä. Aktiivinen verkkoliitäntä, joka tarjoaa yhteyden verkkoon ja Internetiin, on enp0s3
käyttöliittymä. Tuloksesta näemme, että rajapinnan tila on YLÖS.
Jos verkkoliitäntä on poissa käytöstä, näet tilaa ALAS lähtö.
Jos näin on, voit avata käyttöliittymän komennolla:
$ sudo ip -linkki asettaa enp0s3.
Vaihtoehtoisesti voit suorittaa ifconfig -komento nähtävissä alapuolella.
$ sudo ifconfig enp0s3 ylös. $ ip -linkin esitys.
Vahvista vain, että tietokoneesi on valinnut IP -osoitteen reitittimeltä tai DHCP -palvelimelta, suorita ifconfig -komento.
$ ifconfig.
IPv4 inet -parametri antaa etuliitteen osoitteen mukaisesti. Esimerkiksi tämän järjestelmän IP -osoite on 192.168.2.104 aliverkon tai verkkomaskin kanssa 255.255.255.0.
$ ifconfig.
Vaihtoehtoisesti voit suorittaa IP-osoite Tarkista järjestelmän IP -osoite komennolla seuraavasti.
$ ip -osoite.
Voit tarkistaa oletusyhdyskäytävän IP -osoitteen suorittamalla komennon:
$ ip -reitti | grep oletus.
Oletusyhdyskäytävän IP -osoite, joka on useimmissa tapauksissa DHCP -palvelin tai -reititin, on esitetty alla. IP -verkossa sinun pitäisi pystyä pingaamaan oletusyhdyskäytävää.
Tarkista käyttämäsi DNS -palvelimet suorittamalla seuraava komento systemd -järjestelmissä.
$ systemd-solution --status.
Parempi tapa tarkistaa käytössä olevat DNS -palvelimet on suorittaa nmcli -komento näytetään
$ (nmcli dev list || nmcli dev show) 2>/dev/null | grep DNS.
Kuten olet huomannut, täällä tapahtuu valtava osa verkon vianmääritystä.
Pohjimmiltaan datalinkkikerros määrittää verkon datamuodon. Tässä tapahtuu datakehysten kommunikointi isäntien välillä. Tämän kerroksen hallitseva protokolla on ARP ( Osoiteratkaisuprotokolla).
ARP vastaa linkkikerroksen osoitteiden löytämisestä ja kartoittaa kerroksen 3 IPv4-osoitteet MAC-osoitteisiin. Yleensä, kun isäntä ottaa yhteyttä oletusyhdyskäytävään, on todennäköistä, että sillä on jo isännän IP -osoite, mutta ei MAC -osoitteita.
ARP protokolla siltaa kerroksen 3 ja kerroksen 2 välisen raon kääntämällä kerroksen 3 32-bittiset IPv4-osoitteet kerroksen 2 48-bittisiin MAC-osoitteisiin ja päinvastoin.
Kun tietokone liittyy lähiverkkoon, reititin ( oletusyhdyskäytävä ) antaa sille IP -osoitteen tunnistamista varten. Kun toinen isäntä lähettää tietokoneelle tarkoitetun datapaketin oletusyhdyskäytävälle, reititin pyytää ARP etsiä IP -osoitteen mukana tuleva MAC -osoite.
Jokaisella järjestelmällä on oma ARP pöytä. Tarkista ARP -taulukko suorittamalla komento:
$ ip naapurinäytös.
Kuten huomaat, reitittimen MAC -osoite on täytetty. Jos on ongelma, komento ei palauta lähtöä.
Tämä on kerros, jonka kanssa työskentelet yksinomaan IPv4 osoitteet, jotka ovat järjestelmänvalvojille tuttuja. Se tarjoaa useita protokollia, kuten ICMP ja ARP joita olemme käsitelleet ja muita, kuten LEPÄÄ RAUHASSA (reititysinformaatioprotokolla).
Joitakin yleisiä ongelmia ovat laitteen virheelliset määritykset tai verkkolaitteiden, kuten reitittimien ja kytkinten, ongelmat. Hyvä paikka aloittaa vianmääritys on tarkistaa, onko järjestelmäsi valinnut IP -osoitteen seuraavasti:
$ ifconfig.
Voit myös käyttää ping -komento Internet -yhteyden tarkistamiseksi lähettämällä ICMP kaikupaketti Googlen DNS: ään. -c
lippu ilmaisee lähetettävien pakettien määrän.
$ ping 8.8.8.8 -c 4.
Tulos näyttää positiivisen vastauksen Googlen DNS: ltä ilman pakettihäviötä. Jos yhteys on katkonainen, voit tarkistaa, mistä kohdasta paketit pudotetaan käyttämällä traceroute -komento seuraavasti.
$ traceroute google.com.
Tähdet osoittavat kohdan, jossa paketit pudotetaan tai häviää.
nslookup -komento hakee DNS: ltä saadakseen toimialueeseen tai isäntänimeen liittyvän IP -osoitteen. Tätä kutsutaan edelleenlähetys -DNS -hauksi.
Esimerkiksi.
$ nslookup google.com.
Komento paljastaa google.com -verkkotunnukseen liittyvät IP -osoitteet.
Palvelin: 127.0.0.53. Osoite: 127.0.0.53#53 Ei-arvovaltainen vastaus: Nimi: google.com. Osoite: 142.250.192.14. Nimi: google.com. Osoite: 2404: 6800: 4009: 828:: 200e.
kaivaa komento on vielä yksi komento, jota käytetään verkkotunnukseen liittyvien DNS -palvelimien kyselyyn. Voit esimerkiksi kysyä suoritettavia DNS -nimipalvelimia:
$ dig google.com.
Siirtokerros käsittelee tiedonsiirtoa käyttäen TCP ja UDP protokollia. Vain yhteenvetona, TCP on yhteyskeskeinen protokolla, kun taas UDP on yhteydetön. Käynnissä oleva sovelluksen kuuntelu pistorasioissa, jotka koostuvat porteista ja IP -osoitteista.
Yleisiä ongelmia, joita voi esiintyä, mukaan lukien estetyt TCP -portit, joita sovellukset voivat vaatia. Jos sinulla on verkkopalvelin ja haluat tarkistaa sen käyttötilan, käytä netstat tai ss komento tarkistaaksesi, kuunteleeko verkkopalvelu porttia 80
$ sudo netstat -pnltu | grep 80. TAI. $ ss -pnltu | grep 80.
Joskus järjestelmän käynnissä oleva palvelu voi käyttää porttia. Jos haluat toisen palvelun käyttävän kyseistä porttia, saatat joutua määrittämään sen käyttämään toista porttia.
Jos sinulla on edelleen ongelmia, tarkista palomuuri ja tarkista, onko sinua kiinnostava portti estetty.
Suurin osa vianmäärityksestä tapahtuu näiden neljän kerroksen välillä. Istunnossa, esityksessä ja sovelluskerroksissa tehdään hyvin vähän vianetsintää. Tämä johtuu siitä, että niillä on vähemmän aktiivinen rooli verkon toiminnassa. Saamme kuitenkin nopeasti yleiskatsauksen siitä, mitä näissä kerroksissa tapahtuu.
Istuntokerros avaa istunnoiksi kutsutut viestintäkanavat ja varmistaa, että ne pysyvät avoimina tiedonsiirron aikana. Se sulkeutuu myös silloin, kun viestintä on lopetettu.
Esityskerros, joka tunnetaan myös syntaksikerroksena, syntetisoi sovelluskerroksen käyttämät tiedot. Siinä kerrotaan, miten laitteiden tulisi salata, koodaa ja pakata tiedot, jotta ne voidaan vastaanottaa toisessa päässä.
Lopuksi meillä on sovelluskerros, joka on lähimpänä loppukäyttäjiä ja jonka avulla he voivat olla vuorovaikutuksessa sovellusohjelmiston kanssa. Sovelluskerroksessa on runsaasti protokollia, kuten HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP ja NTP.
Linux -järjestelmän vianmäärityksessä suositellaan OSI -mallia käyttävää kerrostettua lähestymistapaa alimmasta kerroksesta alkaen. Tämä antaa sinulle käsityksen siitä, mikä on vialla, ja auttaa sinua kaventumaan ongelmaan.