Wanneer systemen problemen tegenkomen, zoals soms zal gebeuren, moet je weten hoe je met het probleem om moet gaan en ze terug kunt brengen naar een normale en functionele staat. In dit gedeelte richten we ons op fundamentele netwerkprobleemoplossingsvaardigheden die elke Linux-systeembeheerder zou moeten hebben.
Fundamenteel begrip van netwerkprobleemoplossing
In de meeste gevallen is er een groot verschil tussen netwerkbeheerders en systeembeheerders. Systeembeheerders die geen zicht hebben op het netwerk, zullen meestal de netwerkbeheerders de schuld geven van uitval en downtime, terwijl netwerkbeheerders met onvoldoende serverkennis vaak de systeembeheerders de schuld geven van het falen van eindapparaten. Het spel van de schuld helpt echter niet bij het oplossen van problemen en in een werkomgeving kan dit de relaties tussen collega’s onder druk zetten.
Als systeembeheerder kan het hebben van een fundamenteel begrip van netwerkprobleemoplossing helpen om problemen sneller op te lossen en een samenhangende werkomgeving te bevorderen. Het is om deze reden dat we dit gedeelte hebben samengesteld om enkele van de basisnetwerkprobleemoplossingstips te benadrukken die van pas zullen komen bij het diagnosticeren van problemen gerelateerd aan het netwerk.
A Recap of the TCP / IP Model
In ons vorige onderwerp van de LFCA-serie hebben we gekeken naar het TCP/IP conceptuele model dat de overdracht van gegevens in een computer laat zien en de protocollen die in elke laag worden gevonden.

Een ander even belangrijk conceptueel model is het OSI-model (Open Systems Interconnection) model. Het is een 7-laags TCP/IP-framework dat een netwerksysteem en computeringfuncties verdeelt over elke laag.
In het OSI-model zijn deze functies onderverdeeld in de volgende lagen, te beginnen van onderaf: Fysieke laag, Datalinklaag, Netwerklaag, Transportlaag, Sessielaag, Presentatielaag, & tot slot de Applicatielaag helemaal bovenaan.

Het is onmogelijk om het netwerkproblemen te bespreken zonder te verwijzen naar het OSI-model. Om deze reden zullen we u door elke laag begeleiden en de verschillende netwerkprotocollen bekijken die worden gebruikt en hoe u storingen kunt oplossen die verband houden met elke laag.
Laag 1: Fysieke laag
Dit is waarschijnlijk een van de meest over het hoofd geziene lagen, maar het is een van de meest essentiële lagen die nodig zijn voor elke communicatie. De Fysieke laag omvat de fysieke PC-netwerkcomponenten zoals netwerkkaarten, Ethernetkabels, optische vezels, etc. De meeste problemen beginnen hier en worden meestal veroorzaakt door:
- Gebruik niet aangesloten network/ethernetkabel
- Gecodeerde network/ethernetkabel
- ontbrekend of beschadigd netwerkkaart
Op dit niveau zijn de meest voorkomende vragen:
- “Is de networkkabel ingeplugd?”
- “Is de fysieke networkverbinding actief?”
- “Heeft u een IP-adres?”
- “Kan u uw standaard gateway IP pingen?”
- “Kan u uw DNS-server pingen?”
Om de status van uw netwerkinterfaces te controleren, voert u de opdracht ip uit:
$ ip link show

Uit de bovenstaande uitvoer blijkt dat we 2 interfaces hebben. Het eerste interface – lo
– is de loopback-adres en wordt normaal gesproken niet gebruikt. Het actieve netwerkinterface dat verbinding biedt met het netwerk en internet is het interface enp0s3
. U kunt uit de uitvoer zien dat de status van het interface is UP (actief).
Als een netwerkinterface niet actief is, zult u de uitvoer state DOWN (status niet actief) zien.

Als dit het geval is, kunt u het interface activeren met de volgende opdracht:
$ sudo ip link set enp0s3 up

U kunt ook de volgende ifconfig-opdracht uitvoeren.
$ sudo ifconfig enp0s3 up $ ip link show

Als een verificatie dat uw PC een IP-adres heeft gekregen van de router of DHCP-server, moet u het ifconfig-commando uitvoeren.
$ ifconfig

Het IPv4-adres wordt gemarkeerd met het parameter ‘inet’ zoals hieronder te zien is. Bijvoorbeeld, het IP-adres voor dit systeem is 192.168.2.104 met een subnet of netmasker van 255.255.255.0.
$ ifconfig

U kunt ook het ip address-commando volgen om het IP-adres van uw systeem te controleren.
$ ip address
Om het IP-adres van de standaard gateway te controleren, moet u het volgende commando uitvoeren:
$ ip route | grep default
Het IP-adres van de standaard gateway, meestal de DHCP-server of router, wordt aangegeven zoals hieronder te zien. In een IP-netwerk moet u de standaard gateway kunnen pingen.

Om de DNS-servers die u gebruikt te controleren, moet u het volgende commando op systemd-systemen uitvoeren.
$ systemd-resolve --status

A better way to check the DNS servers in use is to run the nmcli command shown
$ ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS

Zoals u heeft gemarkeerd, gebeurt er een groot gedeelte van het netwerkprobleemoplossing hier.
Laag 2: Data Link Layer
In essentie bepaalt de data link layer de dataformaten op het netwerk. Dit is waar de communicatie van dataframes tussen hosts plaatsvindt. Het meest voorkomende protocol in deze laag is het ARP ( Address Resolution Protocol).
ARP is verantwoordelijk voor het ontdekken van linklaagadressen en voert de mapping uit van IPv4-adressen op laag 3 naar MAC-adressen. Meestal, als een host de standaard gateway contacteert, zijn er kansen dat de host al het IP-adres van de host heeft, maar niet de MAC-adressen.
Het ARP-protocol overbrugt de kloof tussen laag 3 en laag 2 door de 32-bits IPv4-adressen op laag 3 te vertalen naar 48-bits MAC-adressen op laag 2 en vice versa.
Wanneer een pc zich aansluit bij een LAN-netwerk, wijst de router (standaardgateway) het een IP-adres toe ter identificatie. Wanneer een andere host een datapakket verzendt dat bestemd is voor de pc naar de standaardgateway, vraagt de router ARP om het bijbehorende MAC-adres bij het IP-adres te vinden.
Elk systeem heeft zijn eigen ARP-tabel. Om uw ARP-tabel te controleren, voert u het volgende commando uit:
$ ip neighbor show

Zoals u kunt zien, is het MAC-adres van de router ingevuld. Als er een oplossingsprobleem is, retourneert het commando geen uitvoer.
Laag 3: Netwerk / Internetlaag
Dit is de laag waarop u exclusief werkt met IPv4-adressen die bekend zijn bij systeembeheerders. Het biedt meerdere protocollen zoals ICMP en ARP, waarover we hebben gesproken, en andere zoals RIP (Routing Information Protocol).
Enkele van de veelvoorkomende problemen zijn apparaatmisconfiguratie of problemen met netwerkapparaten zoals routers en switches. Een goede plek om te beginnen met het oplossen van problemen is controleren of uw systeem een IP-adres heeft gekozen, zoals volgt:
$ ifconfig

Ook kunt u de ping-opdracht gebruiken om de internetconnectiviteit te controleren door een ICMP-echo-pakket naar de DNS van Google te sturen. De -c
-vlag geeft het aantal verzonden pakketten aan.
$ ping 8.8.8.8 -c 4

De uitvoer toont een positief antwoord van de DNS van Google zonder pakketverlies. Als u een intermitterende verbinding heeft, kunt u controleren op welk punt de pakketten worden verworpen met behulp van de traceroute-opdracht als volgt.
$ traceroute google.com

De asterisken geven aan op welk punt pakketten worden verworpen of verloren gaan.
De nslookup-opdracht vraagt de DNS om het IP-adres op te halen dat is gekoppeld aan een domeinnaam of hostnaam. Dit wordt ook wel een Voorwaartse DNS-opzoeking genoemd.
Bijvoorbeeld.
$ nslookup google.com
De opdracht onthult de IP-adressen die zijn gekoppeld aan het domein 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
De dig-opdracht is nog een opdracht die wordt gebruikt voor het bevragen van DNS-servers die zijn gekoppeld aan een domeinnaam. Bijvoorbeeld, om de DNS-nameservers te bevragen voert u het volgende uit:
$ dig google.com
Laag 4: Transportlaag
De transportlaag hanteert gegevensoverdracht met behulp van TCP en UDP protocollen. Ter herinnering, TCP is een verbindingsgericht protocol terwijl UDP verbindingloos is. Draaiende applicaties luisteren naar sockets die bestaan uit poorten en IP-adressen.
Veelvoorkomende problemen die kunnen optreden zijn onder andere geblokkeerde TCP-poorten die mogelijk nodig zijn voor applicaties. Als je een webserver hebt en je wilt de bedrijfsstatus ervan verifiëren, gebruik dan de netstat of ss commando om te controleren of de webservice luistert naar poort 80
$ sudo netstat -pnltu | grep 80 OR $ ss -pnltu | grep 80

Soms kan een poort in gebruik zijn door een actieve service in het systeem. Als je wilt dat een andere service die poort gebruikt, kan het nodig zijn om deze te configureren om een andere poort te gebruiken.
Als je nog steeds problemen ondervindt, controleer dan de firewall en verifieer of de poort waarin je geïnteresseerd bent, is geblokkeerd.
Het merendeel van de probleemoplossing zal plaatsvinden over deze 4 lagen. Er wordt heel weinig probleemoplossing gedaan in de sessie-, presentatie- en applicatielagen. Dit komt omdat ze een minder actieve rol spelen in het functioneren van een netwerk. Laten we echter snel een overzicht geven van wat er gebeurt in die lagen.
Laag 5: Sessielaag
De sessielaag opent communicatiekanalen die sessies worden genoemd en zorgt ervoor dat ze open blijven tijdens de gegevensoverdracht. Het sluit ze ook zodra de communicatie is beëindigd.
Laag 6: Presentatielaag
Ook wel bekend als de syntaxislaag, de presentatielaag synthetiseert gegevens die worden gebruikt door de toepassingslaag. Het geeft aan hoe apparaten gegevens moeten versleutelen, coderen en comprimeren met als doel ervoor te zorgen dat deze goed worden ontvangen aan de andere kant.
Laag 7: Toepassingslaag
Tenslotte hebben we de toepassingslaag, die het dichtst bij de eindgebruikers ligt en hen in staat stelt om te interageren met de toepassingssoftware. De toepassingslaag is rijk aan protocollen zoals HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP en NTP om er maar een paar te noemen.
Conclusie
Als u een Linux-systeem wilt oplossen, wordt de gelaagde benadering met behulp van het OSI-model ten zeerste aanbevolen, te beginnen bij de onderste laag. Dit geeft u inzicht in wat er misgaat en helpt u om het probleem te beperken.
Source:
https://www.tecmint.com/basic-network-troubleshooting-tips/