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.