linux-mrezne-komande

5 Linux komandi za rešavanje mrežnih problema

7 октобра, 2020

Linux ima priličan broj alata koji se pokreću iz komandne linije, a koji pomažu sistem administratorima prilikom upravljanja, konfigurisanja i rešavanja mrežnih problema.

S obzirom da se većina sistem administratora manje više svakodnevno susreće sa takvim izazovima, dobro je znati koji su to alati koji mogu pomoći i na koji način se mogu koristiti.

IP

IP komanda je prilično svestrana i često se koristi u Linux-u za razne zadatke. Od prikaza mrežnih parametara, ruta, ARP tabela i sličnog. Prilično je koristan alat kako prilikom konfigurisanja mrežnih parametara, tako i kod detekcije mrežnih problema.

U najjednostavnijoj formi ove komande dovoljno je da pokrenete samo IP i da dobijete neki mrežni objekat kao što je adresa, link ili ruta kojim zatim možete upravljati. Uz to možete koristiti i podkomandu kako biste izvršili neku akciju.

Evo osnovne sintakse:

ip <OBJECT> [COMMAND]

Na primer, da biste videli status linka za sve mrežne uređaje, kucajte ip link show:

$ ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000

link/ether 52:54:00:b5:c7:2b brd ff:ff:ff:ff:ff:ff

Možete videti celu listi IP komandi pokretanjem komande IP help.

Iako je ovo veoma korisna alatka, ipak ima i svoja ograničenja. Zbog svoje prirode više je namenjena detekciji i rešavanju problema na mreži, nego kao alat za konfigurisanje mrežnih parametara.

Za tu namenu pre možete koristiti alata za konfiguraciju mreže pod nazivom nmcli.

NMCLI

Netwok Manager je aplikacija za konfigurisanje mreže koja dolazi sa mnogim Linux distribucijama, uključujući RHEL i Fedoru. Njegov zadatak je da obezbedi interfejs višeg nivoa, da bi konfigurisanje mreže bilo lakše i da bi to bio što više automatizovan proces.

Network Manager i nmcli se dobro dopunjuju koja vam omogućava da proverite i konfigurišete mnoge mrežne opcije. Osnovna sintaksa za nmcli je:

nmcli <OBJECT> [COMMAND] [ARGUMENTS]

Nije moguće obuhvatiti sve varijante primene nmcli komande u jednom tekstu, pa ćemo zato pokazati samo neke primere kako nmcli možete koristiti za neke uobičajene zadatke.

Provera statusa mrežnih uređaja:

$ nmcli device status

DEVICE  TYPE      STATE      CONNECTION

enp1s0  ethernet  connected  enp1s0

enp7s0  ethernet  disconnected  —

lo      loopback  unmanaged  —

Prikaži sve mrežne profile:

$ nmcli con show

NAME    UUID                                  TYPE      DEVICE

enp1s0  1bb35a4a-ad02-4cad-978a-4a97ea9527cb  ethernet  enp1s0

Nmcli takođe dozvoljava interaktivni rad sa profilima. Ovaj interfejs ima opcije help i auto-completion, preko Tab tastera, odakle su vam na raspolaganju mnoge dodatne opcije. Aktivirajte editor korišćenjem komande nmcli connection edit

CONNECTION-NAME:

$ sudo nmcli connection edit enp7s0

===| nmcli interactive connection editor |===

Editing existing ‘802-3-ethernet’ connection: ‘enp7s0’

Type ‘help’ or ‘?’ for available commands.

Type ‘print’ to show all the connection properties.

Type ‘describe [<setting>.<prop>]’ for detailed property description.

Dalje možete koristiti Tab da biste dobili listu raspoloživih opcija za detaljniju konfiguraciju.

Network Manager i nmcli su kompletno rešenje za konfiguraciju mreže, ali su prilično kompleksni pa nije uvek na početku lako raditi sa njima. Počnite od jednostavnijih komandi, pa postepeno prelazite na one složenije.

Za više primera i informacija o načinu na koji možete koristiti nmcli, pogledajte ovu stranicu sa primerima.

NSLOOKUP

Ovaj alat je veoma koristan prilikom razrešavanja imena kod DNS-a.  Komanda je dostupna u okviru bind-utils paketa kod RHEL8 i Fedora sistema. Instalirajte sa dnf.

$ sudo dnf install -y bind-utils

Da biste brzo proverili razrešenje imena za neki konkretan host koristite nslookup sa nazivom hosta kao argumentom. Komanda koristi podrazumevanu DNS konfiguraciju za razrešenje imena:

$ nslookup redhat.com

Server:        192.168.122.1

Address:    192.168.122.1#53

Non-authoritative answer:

Name:    redhat.com

Address: 209.132.183.105

Nslookup je koristan kao alat za rešavanje mrežnih problema koji imaju veze sa razrešavanjem imena kod DNS-a.

Naredni alat se najčešće korisiti kod rešavanja soketa kod LAN konekcija.

SS

Još jedna uobičajena situacija kod rešavanja mrežnih problema jeste kada treba odrediti da li je uspostavljena konekcija, odnosno da li je određeni servis dostupan na serveru.

SS komanda (skaraćeno od Socket Statistics) je koristan alat za prikazivanje informacija vezanih za sokete. U stvari, to je modetna zamena za netstat komandu koja obezbeđuje sličnu funkcionalnost, ali ima i nekoliko dodatnih.

Ukoliko želite da vidite konekcije uspostavljene po TCP, UDP i UNIX soketima, koristite samo ss komandu:

$ ss

Netid    State     Recv-Q    Send-Q                                               Local Address:Port              Peer Address:Port

u_str    ESTAB     0         0                                                                * 25812                        * 25811

u_str    ESTAB     0         0                                      /run/systemd/journal/stdout 23604                        * 23603

… TRUNCATED OUTPUT

u_str    ESTAB     0         0                                                                * 22566                        * 22171

icmp6    UNCONN    0         0                                                                *:ipv6-icmp                    *:*

icmp6    UNCONN    0         0                                                                *:ipv6-icmp                    *:*

tcp      ESTAB     0         0                                                  192.168.122.169:ssh              192.168.122.1:45626

S obzirom da ovakva komanda na većim i opterećenijim sistemima mođe da prikaže prilično veliki broj konekcija, ss obezbeđuje i filter kao opciju za lakšu selekciju prikaza i onoga što želite da vidite u njemu.

Recimo, možete da prikažete samo informacije o soketima koristeći komande kao –t (za TCP), -u (za UDP) i –x (za UNIX).

Takođe postoji mogućnost filtriranja i po IP adresi:

$ ss dst 192.168.122.1

Netid         State         Recv-Q          Send-Q                     Local Address:Port                    Peer Address:Port

tcp           ESTAB         0                   0                               192.168.122.169:ssh                    192.168.122.1:45626

TRACEPATH

Tracepath je alat koji se prevashodno koristi za prikazivanje putanje mrežne konkecije između lokalnog hosta i udaljenog hosta., pri čemu identifikuje sve rutere na toj putanji.

Zato je vrlo zgodan alat u slučaju kada je potrebno ustanoviti tačku problema na putanji između dva hosta. Zapravo je u pitanju zamena za traceroute komandu, nudeći sličnu funkcionalnost.

Glavnma razlika je u tome što tracepath koristi random UDP portove umesto ICMP protokola za praćenje, zbog čega mu nisu potrebne neke posebne privilegije za pokretanje.

Evo primera gde pratimo putanju između dva hosta:

$ tracepath -n sat65server

1?: [LOCALHOST]                      pmtu 1500

1:  192.168.122.1                                         0.415ms

1:  192.168.122.1                                         0.299ms

2:  192.168.10.10                                         0.904ms

3:  192.168.88.1                                          1.127ms

4:  192.168.0.95                                          2.020ms

Resume: pmtu 1500

Ukoliko tracepath ne može da se konektuje na neki ruter, izbaciće poruku no reply. Po podrazumevanom podešavanju on proba da se konektuje 30 puto, što je moguće promeniti dodavanjem opcije –m.

Iako je ovo veoma koristan alat, mnogi ruteri na Internetu iz sigurnosnih razloga ga blokiraju, pa je iz tog razloga tracepath postao manje zastupljen u dijagnostikovanju problema na Internetu, a popularniji za isti zadatak u LAN okruženju.

Koje alate vi koristite za dijagnostikovanje mrežnih problema u Linux-u? Podelite u komentarima sa drugim čitaocima svoja iskustva, jer možda vaše znanje i iskustvo pomognu nekome da reši svoj problem.

Slični postovi:

Šta su novine u Linux Kernelu
Kako uraditi enkripciju fajlova u Linux-u
Tražimo DevOps & Software inženjera

Bez komentara

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *