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.