24 Hyödyllisiä "IP"-komentoja verkkoliitäntöjen määrittämiseen
Lyhyesti: Tässä oppaassa käsitellään käytännön esimerkkejä ip-komennosta. Tämän oppaan loppuun mennessä käyttäjät voivat suorittaa verkkotehtäviä tehokkaasti Linuxissa komentorivin käyttöliittymästä.
Järjestelmänvalvojien on usein suoritettava verkkotehtäviä Linux-palvelimilla. Markkinoilla on useita graafisia ja komentorivityökaluja. Useimmat Linux-käyttäjät käyttävät kuitenkin mieluummin ip-komentoa sen yksinkertaisuuden ja monipuolisten toimintojen vuoksi.
ip-komento on uusi verkon komentorivityökalu, jota käytetään IP-osoitteen määrittämiseen verkkoliittymälle tai hyödyllisten verkkomuuttujien määrittämiseen/päivittämiseen Linux-järjestelmässä.
Se on osa iproute2-pakettia ja tarjoaa useita verkonhallintatehtäviä, kuten verkkorajapintojen avaamisen tai alaspäin, IP-osoitteiden ja reittien määrittämisen ja poistamisen, ARP-välimuistin hallinnan ja paljon muuta.
ip-komento on paljon samanlainen kuin vanha ifconfig-komento, mutta se on huomattavasti tehokkaampi, ja siihen on lisätty enemmän toimintoja ja ominaisuuksia.
Ifconfig-komento on vanhentunut ja korvattu ip-komennolla kaikissa nykyaikaisissa Linux-jakeluissa. ifconfig-komento on kuitenkin edelleen toimiva ja saatavilla useimmille Linux-jakeluille.
Huomaa: Ota määritystiedostosta varmuuskopio ennen muutosten tekemistä.
1. Määritä pysyvästi staattinen IP-osoite Linuxissa
Jos haluat määrittää pysyvästi staattisen IP-osoitteen Linuxissa, sinun on päivitettävä tai muokattava verkon määritystiedosto määrittääksesi järjestelmälle staattisen IP-osoitteen. Sinun on oltava pääkäyttäjä, jolla on su (switch user)-komento päätteestä tai komentokehotteesta.
Aseta staattinen IP-osoite RHEL Systemsissä
Avaa ja muokkaa verkkoasetustiedostoja (eth0 tai eth1) suosikkitekstieditorillasi. Esimerkiksi IP-osoitteen määrittäminen eth0-rajapinnalle seuraavasti RHEL-pohjaisissa jakeluissa.
vi /etc/sysconfig/network-scripts/ifcfg-eth0 [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
Aseta staattinen IP-osoite Debian Systemsissä
Pysyvän staattisen IP-osoitteen määrittämistä varten sinun on muutettava verkkoliitännän määritystiedostoa /etc/network/interfaces, jotta voit tehdä pysyviä muutoksia Debian-pohjaisille jakeluille alla kuvatulla tavalla.
sudo nano /etc/network/interfaces [On Debian, Ubuntu and Mint]
Käynnistä seuraavaksi verkkopalvelut uudelleen syötettyäsi kaikki tiedot seuraavalla komennolla.
sudo systemctl restart networking
2. Määritä väliaikaisesti staattinen IP-osoite Linuxissa
Tilapäisiä verkkomäärityksiä varten voit käyttää ip-komentoa määrittääksesi IP-osoitteen tietylle rajapinnalle (eth2) lennossa.
ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2
Huomaa: Valitettavasti kaikki nämä asetukset menetetään järjestelmän uudelleenkäynnistyksen jälkeen.
3. Kaikkien verkkoliitäntöjen näyttäminen
ip-komennossa linkkiobjekti edustaa verkkoliitäntää. Voimme käyttää show-komentoa sen kanssa kaikkien verkkoliitäntöjen näyttämiseen.
Nyt näytetään kaikki verkkoliitännät seuraavalla komennolla:
ip link show
Yllä oleva tulos näyttää tiedot kaikista verkkoliitännöistä, kuten liitännän nimi, liput, tila, linkin osoite, lähetysosoite jne.
4. Tietyn verkkoliitännän IP-osoitteen tarkistaminen
Saat yksityiskohtaiset tiedot yksittäisestä verkkoliitännästä, kuten IP-osoite ja MAC-osoite, käyttämällä seuraavaa komentoa alla kuvatulla tavalla.
ip link show eth2
Toistaiseksi olemme käyttäneet linkkiobjektia, joka näyttää yksityiskohtaista tietoa verkkoliitännöistä. Se ei kuitenkaan näytä verkkoliitäntään liittyvää IP-osoitetta. Tämän rajoituksen voittamiseksi voimme käyttää addr
-objektia ip-komennon kanssa.
Ymmärretään tämä esimerkin avulla.
ip addr show
Tässä voimme nähdä, että nyt tulos näyttää kaikkien verkkoliitäntöjen IP-osoitteet muiden yksityiskohtien kanssa.
Jos haluat näyttää yksittäisen verkkoliitännän IP-osoitteen, sinun tarvitsee vain antaa verkkoliitännän nimi komennon argumenttina.
ip addr show eth2
5. IP-osoitteen näyttäminen värillisissä lähdöissä
ip-komento näyttää yksityiskohtaisia tietoja verkkoobjekteista. Joskus meidän on kuitenkin tarkasteltava rajoitettua tietoa. Tällaisissa tapauksissa voimme ottaa käyttöön värillisen tulosteen. Tämä vaihtoehto korostaa tärkeitä yksityiskohtia eri väreillä.
Käytetään komennon --color
-vaihtoehtoa tulosteen näyttämiseen eri väreissä:
ip --color addr show eth2
Yllä olevassa tulosteessa voimme nähdä, että käyttöliittymän nimi, Ethernet-osoite ja tila on korostettu eri väreillä.
6. IP-osoitteen näyttäminen JSON-muodossa
Aiemmissa esimerkeissä näimme, että ip-komento näyttää merkityksellistä tietoa. Raakatulosteen jäsentäminen ja merkityksellisen tiedon poimiminen alkeellisten komentosarjojen avulla ei kuitenkaan ole helppoa. Tällaisissa tapauksissa voimme ohjata ip-komentoa luomaan tulosteen JSON-muodossa.
Joten, käytetään -j
-vaihtoehtoa komennon kanssa näyttämään sama tulos JSON-muodossa:
ip -j link show eth2
Tämä menetelmä on hyödyllinen automatisoitaessa, koska JSON on laajalti hyväksytty muoto ja useita JSON-jäsennyskirjastoja/-työkaluja on saatavilla useilla ohjelmointikielillä.
7. Kuinka tehdä JSON-tuloste luettavammaksi
Edellisessä esimerkissä käytimme vaihtoehtoa -j
näyttääksesi tulosteen JSON-muodossa. Tämä oletusarvoinen JSON-muoto on kompakti ja tilaa säästävä. Tulostetta ei kuitenkaan ole helppo lukea sisennyksen puutteen vuoksi.
Tämän rajoituksen voittamiseksi voimme käyttää -p
-vaihtoehtoa, joka tekee tulosteesta luettavamman sisentämällä sen. Ymmärretään tämä alla olevan esimerkin avulla:
ip -j -p link show eth2
Tässä voimme nähdä, että sama tulos on paljon luettavampi verrattuna aikaisempiin esimerkkeihin.
8. IP-osoitteen poistaminen verkkoliitännästä
Edellisessä esimerkissä käytimme add-alikomentoa IP-osoitteen määrittämiseen. Samalla tavalla voimme käyttää del-alikomentoa tietyn IP-osoitteen poistamiseen.
Seuraava komento poistaa määritetyn IP-osoitteen annetusta käyttöliittymästä (eth2).
ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2
Nyt tarkistetaan, että IP-osoite on poistettu:
ip -j -p addr show eth2
Yllä olevassa tulosteessa voimme nähdä, että nyt eth2-verkkoliitännällä on vain yksi IP-osoite.
9. Verkkoliittymän ottaminen käyttöön
Lippu "ylös" ja käyttöliittymänimi (eth2) mahdollistaa verkkoliitännän. Esimerkiksi seuraava komento aktivoi eth2-verkkoliitännän.
ip link set eth2 up
OR
sudo ip link set dev eth2 up
Tarkastetaan nyt päivitetty tila:
ip -j -p link show eth2 | grep operstate
10. Verkkoliittymän poistaminen käytöstä
"alas" -lippu ja käyttöliittymänimi (eth2) poistaa verkkoliitännän käytöstä. Esimerkiksi seuraava komento deaktivoi eth2-verkkoliitännän.
ip link set eth2 down
OR
sudo ip link set eth2 down
Tarkastetaan nyt eth2-verkkoliitännän tila:
ip -j -p link show eth2 | grep operstate
Yllä oleva tulos näyttää verkkoliitännän muokatun tilan.
11. Verkkoliitännän IP-osoitteiden tyhjentäminen
Edellisessä esimerkissä näimme, kuinka del-alikomentoa käytetään IP-osoitteen poistamiseen. Joskus meidän on kuitenkin poistettava kaikki tietyn verkkoliitännän IP-osoitteet. Tällaisissa tapauksissa voimme käyttää huuhtele-alikomentoa.
Poista ensin kaikki eth2-verkkoliitännän IP-osoitteet flush-alikomennolla:
sudo ip addr flush eth2
Tarkastetaan nyt, että kaikki eth2-verkkoliitännän IP-osoitteet on poistettu:
ip -j -p addr show eth2
Yllä olevassa tulosteessa addr_info-kenttä näyttää tyhjän JSON-taulukon. Tämä tarkoittaa, että eth2-verkkoliitäntään ei ole liitetty IP-osoitetta.
12. Kuinka tarkistan reititystaulukon
Reititystaulukko tallentaa tarvittavat tiedot verkkopaketin välittämiseksi oikeaan kohteeseen. Voimme käyttää ip-komennon route-objektia näyttämään reitityssäännöt.
Käytetään alla olevaa komentoa listataksesi kaikki reititystaulukon säännöt:
ip route show
Yllä olevassa lähdössä ensimmäinen sarake edustaa kohdetta, kun taas viimeinen sarake edustaa lähteen IP-osoitetta.
13. Kuinka lisään uuden staattisen reitin
Miksi pitää lisätä staattisia tai manuaalisia reittejä, koska liikenne ei saa kulkea oletusyhdyskäytävän kautta? Meidän on lisättävä staattisia reittejä ohittaaksemme liikenteen parhaasta tavasta päästä määränpäähän.
sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2
Tarkistetaan nyt, että merkinnän lisääminen onnistui:
ip route show
15. Staattisen reitin poistaminen
del-alikomento poistaa tietyn merkinnän reititystaulukosta. Esimerkiksi alla oleva komento poistaa eth2-laitereitin merkinnän:
sudo ip route del 172.19.1.0/24
Tarkistetaan nyt, että merkintä on poistettu onnistuneesti:
ip route show
16. Kuinka voin lisätä pysyviä staattisia reittejä
Kaikki yllä olevat reitit menetetään järjestelmän uudelleenkäynnistyksen jälkeen. Voit lisätä pysyvän staattisen reitin muokkaamalla tiedostoa /etc/sysconfig/network-scripts/route-eth2 (Tallennamme staattisen reitin kohteelle (eth2). Oletusarvoisesti route-eth2-tiedosto ei ole siellä, ja se on luotava.
Aseta pysyvä reitti RHEL Systemsissä
vi /etc/sysconfig/network-scripts/route-eth2
ja lisää seuraavat rivit ja tallenna ja poistu.
172.19.1.0/24 via 172.19.1.2 dev eth2
Aseta pysyvä reitti Debian Systemsissä
Avaa tiedosto /etc/network/interfaces ja lisää lopuksi pysyvyyden staattiset reitit. IP-osoitteet voivat vaihdella ympäristössäsi.
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
Käynnistä seuraavaksi verkkopalvelut uudelleen syötettyäsi kaikki tiedot seuraavalla komennolla.
sudo systemctl restart networking
17. Kuinka lisään oletusyhdyskäytävän
Verkottumisessa oletusyhdyskäytävällä on tärkeä rooli. Sitä käytetään, kun reititystaulukko ei sisällä mitään tietoa määränpäästä.
Oletusyhdyskäytävä voidaan määrittää maailmanlaajuisesti tai liitäntäkohtaisille konfiguraatiotiedostoille. Oletusyhdyskäytävän etuna on, että järjestelmässä on useampi kuin yksi verkkokortti. Voit lisätä oletusyhdyskäytävän lennossa komennon alla kuvatulla tavalla.
Lisätään ensin eth0-verkkoliitäntä oletusyhdyskäytäväksi:
sudo ip route add default via 172.17.0.1
Tarkastetaan nyt oletusyhdyskäytävän asetus seuraavalla komennolla:
ip route show
Huomaa, että olemme suorittaneet tämän komennon testikoneella. Ole varovainen käyttäessäsi tätä komentoa tuotantoympäristössä.
18. Oletusyhdyskäytävän poistaminen
Voimme käyttää seuraavaa komentoa oletusyhdyskäytävän poistamiseen:
sudo ip route del default
Listataan nyt reititystaulukko varmistaaksesi, että oletusyhdyskäytävä on poistettu:
ip route show
19. ARP-välimuistin näyttäminen
ARP on lyhenne sanoista Address Resolution Protocol, jota käytetään etsimään tiettyyn IP-osoitteeseen liittyvä MAC-osoite.
Voimme käyttää neigh-objektia ip-komennon kanssa näyttämään ARP-välimuistin:
ip neigh show
Yllä olevassa komennossa naapuri edustaa naapuriobjekteja.
20. ARP-merkinnän lisääminen
Uuden ARP-merkinnän luomiseksi voimme käyttää add-alikomentoa neigh-objektin kanssa.
sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2
Listataan nyt ARP-välimuistin merkinnät:
ip neigh show
Yllä olevassa tulosteessa näemme uuden merkinnän eth2-verkkoliittymälle.
21. ARP-merkinnän poistaminen
Kuten muutkin verkkoobjektit, voimme käyttää del-alikomentoa ARP-merkinnän poistamiseen. Esimerkiksi alla oleva komento poistaa eth2-verkkoliitännän ARP-merkinnän:
sudo ip neigh del 172.19.1.0 dev eth2
Tarkistetaan nyt, että merkintä on poistettu luettelemalla ARP-välimuisti:
ip neigh show
22. ARP-merkintöjen tyhjentäminen
Voimme käyttää flush-alikomentoa useiden ARP-merkintöjen poistamiseen. Ymmärtääksesi tämän, lisää ensin muutama ARP-merkintä STALE-tilassa:
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
Varmista seuraavaksi, että uudet merkinnät on lisätty onnistuneesti:
ip neigh show
Huuhtele sitten kaikki merkinnät alla olevalla komennolla:
sudo ip neigh flush all
Varmista lopuksi, että kaikki merkinnät on poistettu:
ip neigh show
23. MTU:n asettaminen verkkoliittymälle
MTU tulee sanoista Maximum Transmission Unit, joka edustaa suurinta pakettikokoa, joka voidaan lähettää yhdessä tapahtumassa. Voimme manipuloida MTU-kokoa suorituskykyvaatimustemme mukaisesti.
Etsitään ensin eth2-verkkoliitännän MTU:
ip -j -p link show eth2 | grep mtu
Päivitä seuraavaksi eth2-verkkoliitännän MTU-kooksi 3000:
sudo ip link set mtu 3000 dev eth2
Varmista lopuksi, että MTU on päivitetty onnistuneesti:
ip -j -p link show eth2 | grep mtu
24. Verkko-Mac-osoitteen muuttaminen
ip-komennolla voimme muuttaa verkkoliitännän MAC-osoitetta. Tämän saavuttamiseksi voimme käyttää set-alikomentoa linkkiobjektin kanssa:
Listaa ensin eth2-verkkoliitännän nykyinen MAC-osoite:
ip -j -p link show eth2 | grep address
Muuta seuraavaksi verkkoliitännän MAC-osoite alla olevalla komennolla:
sudo ip link set dev eth2 address 02:42:ac:13:01:03
Varmista lopuksi, että MAC-osoite on muutettu:
ip -j -p link show eth2 | grep address
Katso lisätietoja IP-komennosta käsikirjasivulta, jossa tehdään man ip pääte-/komentokehotteessa.
man ip
Johtopäätös
Tässä artikkelissa käsittelimme joitain yleisiä esimerkkejä ip-komennosta. Näitä esimerkkejä voidaan käyttää jokapäiväisessä elämässä verkonhallinnan suorittamiseen.
Tiedätkö muita parhaita esimerkkejä ip-komennosta Linuxissa? Kerro meille mielipiteesi alla olevissa kommenteissa.