24 Naudingos „IP“ komandos tinklo sąsajoms konfigūruoti


Trumpai: šiame vadove aptarsime keletą praktinių ip komandos pavyzdžių. Pasibaigus šiam vadovui, naudotojai galės efektyviai atlikti tinklo užduotis sistemoje „Linux“ naudodami komandinės eilutės sąsają.

Sistemos administratoriams dažnai reikia atlikti tinklo užduotis Linux serveriuose. Rinkoje yra įvairių grafinių ir komandinės eilutės įrankių. Tačiau dauguma „Linux“ naudotojų nori naudoti ip komandą dėl jos paprastumo ir gausių funkcijų.

IP komanda yra nauja tinklo komandų eilutės priemonė, naudojama priskirti IP adresą tinklo sąsajai arba konfigūruoti/atnaujinti naudingus tinklo kintamuosius Linux sistemoje.

Tai yra iproute2 paketo dalis ir siūlo keletą tinklo administravimo užduočių, pvz., tinklo sąsajų suaktyvinimą arba sumažinimą, IP adresų ir maršrutų priskyrimą ir pašalinimą, ARP talpyklos valdymą ir daug daugiau.

Komanda ip yra labai panaši į senąją ifconfig komandą, tačiau ji yra daug galingesnė, nes prie jos pridėta daugiau funkcijų ir galimybių.

Komanda ifconfig buvo pasenusi ir pakeista komanda ip visuose šiuolaikiniuose Linux platinimuose. Tačiau komanda ifconfig vis dar veikia ir pasiekiama daugumoje „Linux“ platinimų.

Pastaba: prieš atlikdami bet kokius pakeitimus pasidarykite konfigūracijos failo atsarginę kopiją.

1. Nuolat konfigūruokite statinį IP adresą sistemoje Linux

Norėdami visam laikui konfigūruoti statinį IP adresą sistemoje Linux, turite atnaujinti arba redaguoti tinklo konfigūracijos failą, kad sistemai priskirtumėte statinį IP adresą. Turite būti supervartotojas, turintis komandą su (perjungti vartotoją) iš terminalo arba komandų eilutės.

Nustatykite statinį IP adresą RHEL sistemose

Atidarykite ir redaguokite tinklo konfigūracijos failus (eth0 arba eth1) naudodami mėgstamą teksto rengyklę. Pavyzdžiui, IP adreso priskyrimas eth0 sąsajai, kaip nurodyta RHEL pagrįstuose paskirstymuose.

vi /etc/sysconfig/network-scripts/ifcfg-eth0     [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]

Nustatykite statinį IP adresą Debian Systems

Norėdami sukonfigūruoti nuolatinį statinį IP adresą, turite pakeisti tinklo sąsajos konfigūracijos failą /etc/network/interfaces, kad atliktumėte nuolatinius pakeitimus, kaip parodyta toliau Debian pagrindu veikiančiuose platinimuose.

sudo nano /etc/network/interfaces     [On Debian, Ubuntu and Mint]

Tada iš naujo paleiskite tinklo paslaugas, įvedę visą informaciją naudodami šią komandą.

sudo systemctl restart networking

2. Laikinai konfigūruokite statinį IP adresą sistemoje Linux

Laikinai tinklo konfigūracijai galite naudoti ip komandą, kad priskirtumėte IP adresą konkrečiai sąsajai (eth2).

ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2

Pastaba: deja, visi šie nustatymai bus prarasti paleidus sistemą iš naujo.

3. Kaip rodyti visas tinklo sąsajas

Komandoje ip nuorodos objektas nurodo tinklo sąsają. Galime naudoti komandą show, kad būtų rodomos visos tinklo sąsajos.

Dabar parodykime visas tinklo sąsajas naudodami šią komandą:

ip link show

Aukščiau pateiktame išvestyje rodoma informacija apie visas tinklo sąsajas, tokias kaip sąsajos pavadinimas, vėliavėlės, būsena, nuorodos adresas, transliacijos adresas ir kt.

4. Kaip patikrinti konkrečios tinklo sąsajos IP adresą

Norėdami gauti išsamią informaciją apie savo atskirą tinklo sąsają, pvz., IP adresą ir MAC adreso informaciją, naudokite toliau pateiktą komandą, kaip parodyta toliau.

ip link show eth2

Iki šiol mes naudojome nuorodos objektą, kuriame pateikiama išsami informacija apie tinklo sąsajas. Tačiau jame nerodomas su tinklo sąsaja susietas IP adresas. Norėdami įveikti šį apribojimą, galime naudoti objektą addr su komanda ip.

Supraskime tai pavyzdžiu.

ip addr show

Čia matome, kad dabar išvestis rodo visų tinklo sąsajų IP adresus kartu su kita informacija.

Norėdami parodyti atskiros tinklo sąsajos IP adresą, tiesiog kaip komandos argumentą turite pateikti tinklo sąsajos pavadinimą.

ip addr show eth2

5. Kaip rodyti IP adresą spalvotoje išvestyje

Komanda ip rodo išsamią informaciją apie tinklo objektus. Tačiau kartais reikia pažvelgti į ribotą informaciją. Tokiais atvejais galime įjungti spalvotą išvestį. Ši parinktis išryškina svarbias detales skirtingomis spalvomis.

Naudokime komandos parinktį --color, kad išvestis būtų rodoma skirtingomis spalvomis:

ip --color addr show eth2

Aukščiau pateiktame išvestyje matome, kad sąsajos pavadinimas, eterneto adresas ir būsena yra paryškinti skirtingomis spalvomis.

6. Kaip rodyti IP adresą JSON formatu

Ankstesniuose pavyzdžiuose matėme, kad ip komanda rodo reikšmingą informaciją. Tačiau nėra lengva užduotis išanalizuoti neapdorotą išvestį ir išgauti prasmingą informaciją naudojant pradinius scenarijus. Tokiais atvejais galime nurodyti ip komandai sugeneruoti išvestį JSON formatu.

Taigi, naudokite parinktį -j su komanda, kad būtų rodoma ta pati išvestis JSON formatu:

ip -j link show eth2

Šis metodas yra naudingas atliekant automatizavimą, nes JSON yra plačiai priimtas formatas ir yra daug JSON analizatorių bibliotekų/įrankių, pasiekiamų įvairiomis programavimo kalbomis.

7. Kaip padaryti JSON išvestį skaitomesnę

Ankstesniame pavyzdyje naudojome parinktį -j, norėdami pateikti išvestį JSON formatu. Šis numatytasis JSON formatas yra kompaktiškas ir taupo vietą. Tačiau išvestį nėra lengva perskaityti, nes trūksta įtraukos.

Norėdami įveikti šį apribojimą, galime naudoti parinktį -p, kuri padaro išvestį lengviau skaitoma ją įtraukus. Supraskime tai toliau pateiktu pavyzdžiu:

ip -j -p link show eth2

Čia matome, kad ta pati išvestis yra daug geriau skaitoma, palyginti su ankstesniais pavyzdžiais.

8. Kaip pašalinti IP adresą iš tinklo sąsajos

Ankstesniame pavyzdyje IP adresui priskirti naudojome papildomą komandą pridėti. Panašiai galime naudoti papildomą komandą del, kad pašalintume konkretų IP adresą.

Ši komanda pašalins priskirtą IP adresą iš nurodytos sąsajos (eth2).

ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2

Dabar patikrinkime, ar IP adresas buvo pašalintas:

ip -j -p addr show eth2

Aukščiau pateiktoje išvestyje matome, kad dabar eth2 tinklo sąsaja turi tik vieną IP adresą.

9. Kaip įjungti tinklo sąsają

Žyma „aukštyn“ su sąsajos pavadinimu (eth2) įgalina tinklo sąsają. Pavyzdžiui, ši komanda suaktyvins eth2 tinklo sąsają.

ip link set eth2 up
OR
sudo ip link set dev eth2 up

Dabar patikrinkime atnaujintą būseną:

ip -j -p link show eth2 | grep operstate

10. Kaip išjungti tinklo sąsają

Žymėjimas „žemyn“ su sąsajos pavadinimu (eth2) išjungia tinklo sąsają. Pavyzdžiui, ši komanda išjungs eth2 tinklo sąsają.

ip link set eth2 down
OR
sudo ip link set eth2 down

Dabar patikrinkime eth2 tinklo sąsajos būseną:

ip -j -p link show eth2 | grep operstate

Aukščiau pateikta išvestis rodo pakeistą tinklo sąsajos būseną.

11. Kaip išvalyti tinklo sąsajos IP adresus

Ankstesniame pavyzdyje matėme, kaip naudoti del antrinę komandą IP adresui pašalinti. Tačiau kartais turime pašalinti visus konkrečios tinklo sąsajos IP adresus. Tokiais atvejais galime naudoti papildomą komandą nuplauti.

Pirmiausia naudokite papildomą komandą flush, kad pašalintumėte visus eth2 tinklo sąsajos IP adresus:

sudo ip addr flush eth2

Dabar patikrinkime, ar visi eth2 tinklo sąsajos IP adresai buvo pašalinti:

ip -j -p addr show eth2

Anksčiau pateiktoje išvestyje addr_info lauke rodomas tuščias JSON masyvas. Tai rodo, kad nėra jokio IP adreso, susieto su eth2 tinklo sąsaja.

12. Kaip patikrinti maršruto parinkimo lentelę

Maršruto parinkimo lentelėje saugoma informacija, reikalinga tinklo paketui persiųsti į tinkamą paskirties vietą. Galime naudoti ip komandos objektą route, kad būtų rodomos maršruto taisyklės.

Naudokime toliau pateiktą komandą, kad pateiktume visas maršruto lentelės taisykles:

ip route show

Pirmiau pateiktoje išvestyje pirmasis stulpelis nurodo paskirties vietą, o paskutinis stulpelis nurodo šaltinio IP adresą.

13. Kaip pridėti naują statinį maršrutą

Kodėl reikia pridėti statinius arba rankinius maršrutus, nes srautas neturi vykti per numatytuosius šliuzus? Turime pridėti statinių maršrutų, kad būtų galima praleisti eismą iš geriausio būdo pasiekti tikslą.

sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2

Dabar patikrinkime, ar įrašas buvo sėkmingai pridėtas:

ip route show

15. Kaip pašalinti statinį maršrutą

Papildoma komanda del pašalina konkretų įrašą iš maršruto lentelės. Pavyzdžiui, toliau pateikta komanda pašalina eth2 įrenginio maršruto įrašą:

sudo ip route del 172.19.1.0/24

Dabar patikrinkime, ar įrašas sėkmingai pašalintas:

ip route show

16. Kaip pridėti nuolatinius statinius maršrutus

Paleidus sistemą iš naujo, visi aukščiau nurodyti maršrutai bus prarasti. Norėdami pridėti nuolatinį statinį maršrutą, redaguokite failą /etc/sysconfig/network-scripts/route-eth2 (saugome statinį maršrutą (eth2). Pagal numatytuosius nustatymus Failo route-eth2 ten nebus ir jį reikia sukurti.

Nustatykite nuolatinį maršrutą RHEL sistemose

vi /etc/sysconfig/network-scripts/route-eth2

ir pridėkite šias eilutes, išsaugokite ir išeikite.

172.19.1.0/24 via 172.19.1.2 dev eth2

Nustatykite nuolatinį maršrutą „Debian Systems“.

Atidarykite failą /etc/network/interfaces ir pabaigoje pridėkite pastovius statinius maršrutus. IP adresai gali skirtis jūsų aplinkoje.

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

Tada iš naujo paleiskite tinklo paslaugas, įvedę visą informaciją naudodami šią komandą.

sudo systemctl restart networking

17. Kaip pridėti numatytąjį šliuzą

Kuriant tinklą, numatytieji šliuzai atlieka svarbų vaidmenį. Jis naudojamas, kai maršruto parinkimo lentelėje nėra jokios informacijos apie paskirties vietą.

Numatytąjį šliuzą galima nurodyti visame pasaulyje arba konkrečios sąsajos konfigūracijos failams. Numatytųjų šliuzų pranašumas yra tas, kad sistemoje turime daugiau nei vieną NIC. Galite pridėti numatytąjį šliuzą, kaip parodyta žemiau komanda.

Pirmiausia pridėkime eth0 tinklo sąsają kaip numatytąjį šliuzą:

sudo ip route add default via 172.17.0.1

Dabar patikrinkime numatytąjį šliuzo nustatymą naudodami šią komandą:

ip route show

Atkreipkite dėmesį, kad šią komandą vykdėme bandomajame įrenginyje. Būkite atsargūs naudodami šią komandą gamybos aplinkoje.

18. Kaip pašalinti numatytąjį šliuzą

Norėdami pašalinti numatytąjį šliuzą, galime naudoti šią komandą:

sudo ip route del default

Dabar išvardykime maršruto parinkimo lentelę, kad patikrintume, ar numatytasis šliuzas buvo pašalintas:

ip route show

19. Kaip parodyti ARP talpyklą

ARP reiškia Adreso skyros protokolą, kuris naudojamas rasti MAC adresą, susietą su konkrečiu IP adresu.

Galime naudoti objektą neigh su komanda ip, kad būtų rodoma ARP talpykla:

ip neigh show

Aukščiau pateiktoje komandoje kaimynas reiškia kaimyninius objektus.

20. Kaip pridėti ARP įrašą

Norėdami sukurti naują ARP įrašą, galime naudoti papildomą komandą pridėti su objektu neigh.

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2

Dabar išvardykime ARP talpyklos įrašus:

ip neigh show

Aukščiau pateiktame išvestyje matome naują eth2 tinklo sąsajos įrašą.

21. Kaip pašalinti ARP įrašą

Kaip ir kiti tinklo objektai, ARP įrašui pašalinti galime naudoti papildomą komandą del. Pavyzdžiui, toliau pateikta komanda pašalina eth2 tinklo sąsajos ARP įrašą:

sudo ip neigh del 172.19.1.0 dev eth2

Dabar patikrinkime, ar įrašas buvo pašalintas, įtraukdami į ARP talpyklos sąrašą:

ip neigh show 

22. Kaip išvalyti ARP įrašus

Norėdami pašalinti kelis ARP įrašus, galime naudoti papildomą komandą flush. Norėdami tai suprasti, pirmiausia pridėkite kelis ARP įrašus su būsena 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

Tada patikrinkite, ar nauji įrašai buvo sėkmingai įtraukti:

ip neigh show

Tada išplaukite visus įrašus naudodami toliau pateiktą komandą:

sudo ip neigh flush all

Galiausiai patikrinkite, ar visi įrašai buvo pašalinti:

ip neigh show

23. Kaip nustatyti MTU tinklo sąsajai

MTU reiškia Maksimalų perdavimo vienetą, kuris reiškia didžiausią paketo dydį, kurį galima perduoti per vieną operaciją. Mes galime manipuliuoti MTU dydžiu pagal savo veiklos reikalavimus.

Pirmiausia suraskime eth2 tinklo sąsajos MTU:

ip -j -p link show eth2 | grep mtu

Tada atnaujinkite eth2 tinklo sąsajos MTU dydį iki 3000:

sudo ip link set mtu 3000 dev eth2

Galiausiai patikrinkite, ar MTU buvo sėkmingai atnaujintas:

ip -j -p link show eth2 | grep mtu

24. Kaip pakeisti tinklo „Mac“ adresą

Naudodami ip komandą galime pakeisti tinklo sąsajos MAC adresą. Norėdami tai pasiekti, galime naudoti rinkinio antrinę komandą su nuorodos objektu:

Pirmiausia nurodykite dabartinį eth2 tinklo sąsajos MAC adresą:

ip -j -p link show eth2 | grep address

Tada pakeiskite tinklo sąsajos MAC adresą naudodami toliau pateiktą komandą:

sudo ip link set dev eth2 address 02:42:ac:13:01:03

Galiausiai patikrinkite, ar MAC adresas buvo pakeistas:

ip -j -p link show eth2 | grep address

Norėdami sužinoti daugiau apie IP komandą, žr. vadovą, kaip atlikti man ip iš terminalo/komandų eilutės.

man ip
Išvada

Šiame straipsnyje aptarėme kelis įprastus ip komandos pavyzdžius. Šiuos pavyzdžius galima naudoti kasdieniame gyvenime tinklo administravimui atlikti.

Ar žinote kokį kitą geriausią ip komandos Linux sistemoje pavyzdį? Praneškite mums savo nuomonę toliau pateiktuose komentaruose.