24 Korisne "IP" komande za konfigurisanje mrežnih interfejsa
Ukratko: U ovom vodiču ćemo raspravljati o nekim praktičnim primjerima naredbe ip. Do kraja ovog vodiča, korisnici će moći efikasno obavljati zadatke umrežavanja u Linuxu iz interfejsa komandne linije.
Sistemski administratori često moraju obavljati zadatke umrežavanja na Linux serverima. Na tržištu su dostupni različiti grafički alati i alati iz komandne linije. Međutim, većina korisnika Linuxa radije koristi ip komandu zbog njene jednostavnosti i bogate funkcionalnosti.
ip komanda je novi uslužni program komandne linije za umrežavanje koji se koristi za dodeljivanje IP adrese mrežnom interfejsu ili za konfigurisanje/ažuriranje korisnih mrežnih varijabli na Linux sistemu.
To je dio iproute2 paketa i nudi nekoliko zadataka mrežne administracije kao što su podizanje ili spuštanje mrežnih interfejsa, dodeljivanje i uklanjanje IP adresa i ruta, upravljanje ARP keš memorijom i još mnogo toga.
ip komanda je mnogo slična staroj naredbi ifconfig, ali je znatno moćnija s više funkcija i mogućnosti koje su joj dodane.
Naredba ifconfig je zastarjela i zamijenjena ip komandom u svim modernim Linux distribucijama. Međutim, komanda ifconfig još uvijek radi i dostupna je za većinu Linux distribucija.
Napomena: Napravite sigurnosnu kopiju konfiguracijske datoteke prije bilo kakvih promjena.
1. Trajno konfigurirajte statičku IP adresu u Linuxu
Da biste trajno konfigurirali statičku IP adresu u Linuxu, morate ažurirati ili urediti datoteku mrežne konfiguracije kako biste sistemu dodijelili statičku IP adresu. Morate biti superkorisnik sa naredbom su (promjena korisnika) iz terminala ili komandne linije.
Postavite statičku IP adresu u RHEL sistemima
Otvorite i uredite mrežne konfiguracijske datoteke za (eth0 ili eth1) koristeći svoj omiljeni uređivač teksta. Na primjer, dodjeljivanje IP adrese eth0 sučelju na sljedeći način na distribucijama zasnovanim na RHEL-u.
vi /etc/sysconfig/network-scripts/ifcfg-eth0 [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
Postavite statičku IP adresu u Debian sistemima
Da konfigurirate stalnu statičku IP adresu, trebate modificirati konfiguracijsku datoteku mrežnog sučelja /etc/network/interfaces da napravite trajne promjene kao što je prikazano ispod za distribucije bazirane na Debianu.
sudo nano /etc/network/interfaces [On Debian, Ubuntu and Mint]
Zatim ponovo pokrenite mrežne usluge nakon što unesete sve detalje koristeći sljedeću naredbu.
sudo systemctl restart networking
2. Privremeno konfigurirajte statičku IP adresu u Linuxu
Za privremene mrežne konfiguracije, možete koristiti ip komandu za dodjelu IP adrese određenom interfejsu (eth2) u hodu.
ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2
Napomena: Nažalost, sve ove postavke će biti izgubljene nakon ponovnog pokretanja sistema.
3. Kako prikazati sva mrežna sučelja
U ip komandi, objekt link predstavlja mrežni interfejs. Možemo koristiti naredbu show s njom za prikaz svih mrežnih interfejsa.
Sada, prikažimo sva mrežna sučelja koristeći sljedeću naredbu:
ip link show
Gornji izlaz prikazuje detalje svih mrežnih interfejsa, kao što su naziv interfejsa, zastavice, status, adresa veze, adresa emitovanja, itd.
4. Kako provjeriti IP adresu određenog mrežnog sučelja
Da biste dobili informacije o dubini vašeg individualnog mrežnog interfejsa kao što su IP adresa i informacije o MAC adresi, koristite sljedeću naredbu kao što je prikazano ispod.
ip link show eth2
Do sada smo koristili objekt link koji prikazuje detaljne informacije o mrežnim sučeljima. Međutim, ne prikazuje IP adresu povezanu s mrežnim sučeljem. Da bismo prevazišli ovo ograničenje, možemo koristiti addr
objekat sa ip komandom.
Hajde da to shvatimo na primjeru.
ip addr show
Evo, možemo vidjeti da sada izlaz prikazuje IP adrese svih mrežnih sučelja zajedno sa ostalim detaljima.
Da biste prikazali IP adresu individualnog mrežnog interfejsa, samo treba da navedete ime mrežnog interfejsa kao argument komandi.
ip addr show eth2
5. Kako prikazati IP adresu u obojenom izlazu
ip komanda prikazuje detaljne informacije o mrežnim objektima. Međutim, ponekad moramo pogledati ograničene informacije. U takvim slučajevima možemo omogućiti ispis u boji. Ova opcija ističe važne detalje u različitim bojama.
Koristimo --color
opciju naredbe da prikažemo izlaz u različitim bojama:
ip --color addr show eth2
U gornjem izlazu možemo vidjeti da su naziv interfejsa, eternet adresa i stanje istaknuti različitim bojama.
6. Kako prikazati IP adresu u JSON formatu
U prethodnim primjerima vidjeli smo da ip komanda pokazuje značajne informacije. Međutim, nije lak zadatak raščlaniti sirovi izlaz i izdvojiti smislene informacije koristeći rudimentarne skripte. U takvim slučajevima, možemo uputiti ip komandu da generiše izlaz u JSON formatu.
Dakle, koristimo opciju -j
sa naredbom da prikažemo isti izlaz u JSON formatu:
ip -j link show eth2
Ova metoda je zgodna prilikom automatizacije jer je JSON široko prihvaćen format i postoji mnogo biblioteka/alata JSON parsera dostupnih u različitim programskim jezicima.
7. Kako učiniti JSON izlaz čitljivijim
U prethodnom primjeru, koristili smo opciju -j
za prikaz izlaza u JSON formatu. Ovaj zadani JSON format je kompaktan i efikasan u prostoru. Međutim, izlaz nije lako čitati zbog nedostatka uvlačenja.
Da bismo prevazišli ovo ograničenje, možemo koristiti opciju -p
koja čini izlaz čitljivijim uvlačenjem. Hajde da to shvatimo na primjeru u nastavku:
ip -j -p link show eth2
Ovdje možemo vidjeti da je isti izlaz mnogo čitljiviji u odnosu na prethodne primjere.
8. Kako ukloniti IP adresu sa mrežnog interfejsa
U prethodnom primjeru koristili smo podnaredbu add za dodjelu IP adrese. Na sličan način možemo koristiti podnaredbu del za uklanjanje određene IP adrese.
Sljedeća komanda će ukloniti dodijeljenu IP adresu iz datog interfejsa (eth2).
ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2
Sada provjerimo da li je IP adresa uklonjena:
ip -j -p addr show eth2
U gornjem izlazu, možemo vidjeti da sada eth2 mrežni interfejs ima samo jednu IP adresu.
9. Kako omogućiti mrežni interfejs
Oznaka “up” sa imenom interfejsa (eth2) omogućava mrežni interfejs. Na primjer, sljedeća komanda će aktivirati eth2 mrežni interfejs.
ip link set eth2 up
OR
sudo ip link set dev eth2 up
Sada provjerimo ažurirani status:
ip -j -p link show eth2 | grep operstate
10. Kako onemogućiti mrežni interfejs
Oznaka “down” sa imenom interfejsa (eth2) onemogućava mrežni interfejs. Na primjer, sljedeća komanda će deaktivirati eth2 mrežni interfejs.
ip link set eth2 down
OR
sudo ip link set eth2 down
Sada provjerimo status eth2 mrežnog sučelja:
ip -j -p link show eth2 | grep operstate
Gornji izlaz pokazuje izmijenjeno stanje mrežnog sučelja.
11. Kako isprazniti IP adrese mrežnog interfejsa
U prethodnom primjeru vidjeli smo kako koristiti podnaredbu del za uklanjanje IP adrese. Međutim, ponekad moramo ukloniti sve IP adrese određenog mrežnog sučelja. U takvim slučajevima možemo koristiti podnaredbu flush.
Prvo koristite podnaredbu flush da uklonite sve IP adrese eth2 mrežnog sučelja:
sudo ip addr flush eth2
Sada, hajde da provjerimo da li su sve IP adrese eth2 mrežnog sučelja uklonjene:
ip -j -p addr show eth2
U gornjem izlazu, polje addr_info prikazuje prazan JSON niz. Ovo ukazuje da ne postoji nijedna IP adresa povezana sa eth2 mrežnim interfejsom.
12. Kako da provjerim tabelu usmjeravanja
Tabela rutiranja pohranjuje potrebne informacije za prosljeđivanje mrežnog paketa na ispravno odredište. Možemo koristiti route objekat naredbe ip za prikaz pravila rutiranja.
Koristimo naredbu ispod da navedemo sva pravila tabele rutiranja:
ip route show
U gornjem izlazu, prva kolona predstavlja odredište, dok zadnja kolona predstavlja izvornu IP adresu.
13. Kako da dodam novu statičku rutu
Zašto trebate dodati statičke rute ili ručne rute, jer promet ne smije prolaziti kroz zadani gateway? Moramo dodati statične rute da prođemo promet od najboljeg načina da stignemo do odredišta.
sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2
Sada, provjerimo da li je unos uspješno dodan:
ip route show
15. Kako ukloniti statičku rutu
Podkomanda del uklanja određeni unos iz tabele usmjeravanja. Na primjer, donja naredba uklanja unos eth2 rute uređaja:
sudo ip route del 172.19.1.0/24
Sada provjerimo je li unos uspješno uklonjen:
ip route show
16. Kako da dodam stalne statičke rute
Sve gore navedene rute bit će izgubljene nakon ponovnog pokretanja sistema. Da dodate trajnu statičku rutu, uredite datoteku /etc/sysconfig/network-scripts/route-eth2 (Spremamo statičku rutu za (eth2). Podrazumevano, Datoteka route-eth2 neće biti tamo i treba je kreirati.
Postavite stalnu rutu u RHEL sistemima
vi /etc/sysconfig/network-scripts/route-eth2
i dodajte sljedeće redove i sačuvajte i izađite.
172.19.1.0/24 via 172.19.1.2 dev eth2
Postavite trajnu rutu u Debian sustavima
Otvorite datoteku /etc/network/interfaces i na kraju dodajte statičke rute postojanosti. IP adrese se mogu razlikovati u vašem okruženju.
sudo vi /etc/network/interfaces
auto eth2
iface eth2 inet static
address 172.19.50.2
netmask 255.255.255.0
gateway 172.19.50.100
#########{Static Route}###########
up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2
Zatim ponovo pokrenite mrežne usluge nakon što unesete sve detalje koristeći sljedeću naredbu.
sudo systemctl restart networking
17. Kako da dodam zadani gateway
U umrežavanju, podrazumevani gateway igra važnu ulogu. Koristi se kada tabela rutiranja ne sadrži nikakve informacije o odredištu.
Zadani gateway se može odrediti globalno ili za konfiguracijske datoteke specifične za interfejs. Prednost podrazumevanog gateway-a je u tome što imamo više od jedne NIC prisutno u sistemu. Možete dodati podrazumevani gateway u hodu kao što je prikazano ispod naredbe.
Prvo, dodajmo eth0 mrežni interfejs kao zadani gateway:
sudo ip route add default via 172.17.0.1
Sada, provjerimo zadanu postavku gatewaya pomoću sljedeće naredbe:
ip route show
Imajte na umu da smo ovu naredbu izvršili na test mašini. Budite oprezni dok koristite ovu naredbu u proizvodnom okruženju.
18. Kako ukloniti zadani gateway
Možemo koristiti sljedeću naredbu da uklonimo zadani gateway:
sudo ip route del default
Sada, hajde da navedemo tabelu usmjeravanja kako bismo potvrdili da je zadani gateway uklonjen:
ip route show
19. Kako prikazati ARP keš memoriju
ARP je skraćenica za Address Resolution Protocol, koji se koristi za pronalaženje MAC adrese povezane sa određenom IP adresom.
Možemo koristiti neigh objekat sa ip komandom za prikaz ARP keša:
ip neigh show
U gornjoj naredbi, neigh predstavlja susjedne objekte.
20. Kako dodati ARP unos
Da kreiramo novi ARP unos, možemo koristiti podnaredbu add sa objektom neigh.
sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2
Sada, hajde da navedemo ARP keš unose:
ip neigh show
U gornjem izlazu, možemo vidjeti novi unos za eth2 mrežni interfejs.
21. Kako ukloniti ARP unos
Kao i drugi mrežni objekti, možemo koristiti podnaredbu del da uklonimo ARP unos. Na primjer, donja naredba uklanja ARP unos mrežnog interfejsa eth2:
sudo ip neigh del 172.19.1.0 dev eth2
Sada, provjerimo da li je unos uklonjen navođenjem ARP keša:
ip neigh show
22. Kako isprazniti ARP unose
Možemo koristiti podnaredbu flush za uklanjanje više ARP unosa. Da biste ovo razumjeli, prvo dodajte nekoliko ARP unosa sa stanjem STALE:
sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale
sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale
sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale
Zatim provjerite da li su novi unosi uspješno dodani:
ip neigh show
Zatim, ispraznite sve unose koristeći donju naredbu:
sudo ip neigh flush all
Na kraju, provjerite da li su svi unosi uklonjeni:
ip neigh show
23. Kako postaviti MTU za mrežni interfejs
MTU je skraćenica za Maksimalna jedinica prijenosa, koja predstavlja najveću veličinu paketa koji se može prenijeti u jednoj transakciji. Možemo manipulirati veličinom MTU-a prema našim zahtjevima performansi.
Prvo, pronađimo MTU mrežnog interfejsa eth2:
ip -j -p link show eth2 | grep mtu
Zatim ažurirajte veličinu MTU mrežnog interfejsa eth2 na 3000:
sudo ip link set mtu 3000 dev eth2
Na kraju, provjerite da li je MTU uspješno ažuriran:
ip -j -p link show eth2 | grep mtu
24. Kako promijeniti mrežnu Mac adresu
ip komanda nam omogućava da promijenimo MAC adresu mrežnog interfejsa. Da bismo to postigli, možemo koristiti podnaredbu set sa objektom veze:
Prvo navedite trenutnu MAC adresu eth2 mrežnog interfejsa:
ip -j -p link show eth2 | grep address
Zatim promijenite MAC adresu mrežnog sučelja koristeći donju naredbu:
sudo ip link set dev eth2 address 02:42:ac:13:01:03
Na kraju, provjerite da li je MAC adresa promijenjena:
ip -j -p link show eth2 | grep address
Molimo pogledajte stranicu priručnika koja radi man ip iz terminala/komandne linije da saznate više o IP komandi.
man ip
Zaključak
U ovom članku smo raspravljali o nekim uobičajenim primjerima ip komande. Ove primjere možete koristiti u svakodnevnom životu za obavljanje mrežne administracije.
Znate li za još neki najbolji primjer naredbe ip u Linuxu? Javite nam svoje stavove u komentarima ispod.