5 Linux komandi za rešavanje mrežnih problema
Linux ima priličan broj alata koji se pokreću iz komandne linije, a koji pomažu sistem administratorima prilikom upravljanja, konfigurisanja, ali i za rešavanje 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 rešavanje 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.
Bez komentara