ifconfig vs ip: mis erinevus ja võrgukonfiguratsiooni võrdlemine


Linuxi-põhistel distributsioonidel on esiletõstetud käskude komplekt, mis võimaldab käsurea kaudu hõlpsalt ja võimsalt võrguühendust seadistada. Need käsukomplektid on saadaval net-tools paketist, mis on seal olnud pikka aega peaaegu kõigis distributsioonides, ja sisaldab selliseid käske: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Need käsud on peaaegu piisavad võrgu seadistamiseks viisil, mida kõik algajad või asjatundlikud Linuxi kasutajad soovivad, kuid Linuxi kerneli edusammude tõttu viimastel aastatel ja selle pakettkäsukomplekti hooldamatuse tõttu muutuvad nad igaveseks ja võimsamaks on tekkimas alternatiiv, millel on võimalus kõik need käsud asendada.

See alternatiiv on olnud ka juba mõnda aega ja on palju võimsam kui ükski neist käskudest. Ülejäänud jaotised tooksid selle alternatiivi esile ja võrdleksid seda net-tools paketi käsuga, st ifconfig.

ip - ifconfigi asendus

ifconfig on seal olnud pikka aega ja paljud kasutavad seda siiani võrguliideste seadistamiseks, kuvamiseks ja juhtimiseks, kuid Linuxi distributsioonides on nüüd olemas uus alternatiiv, mis on palju võimsam kui see. See alternatiiv on käsk ip paketilt iproute2util.

Kuigi see käsk võib esmapilgul tunduda veidi keeruline, kuid see on funktsionaalsusest palju laiem kui ifconfig. See on funktsionaalselt organiseeritud kahele Networking Stacki kihile, st Layer 2 (Link Layer), Layer 3 (IP Layer) ja teeb kõigi ülalnimetatud käskude tööd net-tools paketist.

Kui ifconfig kuvab või modifitseerib enamasti süsteemi liideseid, on see käsk võimeline tegema järgmisi ülesandeid:

  1. liidese omaduste kuvamine või muutmine.
  2. ARP-vahemälu kirjete lisamine ja eemaldamine, luues hostile uue staatilise ARP-kirje.
  3. Kõigi liidestega seotud MAC-aadresside kuvamine.
  4. Tuuma marsruutimistabelite kuvamine ja muutmine.

Üks peamistest esiletõstmistest, mis eraldab seda iidsest analoogist ifconfig, on see, et viimane kasutab võrgu seadistamiseks ioctl-i, mis on vähem hinnatud viis suhtlemiseks kerneliga, samas kui esimene kasutab võrguühenduse sokli mehhanismi sama, mis on palju paindlikum järeltulija ioctl-st tuuma ja kasutajaruumi vaheliseks suhtluseks rtnetlinki abil (mis lisab võrgukeskkonna manipuleerimise võimaluse).

Nüüd saame hakata esile tõstma ifconfigi funktsioone ja seda, kuidas need ip-käsuga tõhusalt asendatakse.

ip vs ifconfig käsud

Järgmises jaotises tuuakse välja mõned ifconfig-käsud ja nende asendamine ip-käskude abil:

Siin on ip ja ifconfig üks eristav omadus see, et kui ifconfig näitab ainult lubatud liideseid, siis ip näitab kõiki liideseid, olenemata sellest, kas need on lubatud või keelatud.

$ ifconfig
$ ip a

Allpool olev käsk määrab liidesele eth0 IP-aadressi 192.168.80.174.

# ifconfig eth0 add 192.168.80.174

Süntaks liidese lisamiseks/eemaldamiseks ifconfig käsu abil:

# ifconfig eth0 add 192.168.80.174
# ifconfig eth0 del 192.168.80.174
# ip a add 192.168.80.174 dev eth0

Süntaks liidese lisamiseks/eemaldamiseks ip-käsu abil:

# ip a add 192.168.80.174 dev eth0
# ip a del 192.168.80.174 dev eth0

Allpool olev käsk määrab liidese eth0 riistvara aadressi käsus määratud väärtusele. Seda saab kontrollida, kontrollides käsu ifconfig väljundis väärtust HWaddr .

Siin süntaks MAC-aadressi lisamiseks ifconfig käsu abil:

# ifconfig eth0 hw ether 00:0c:29:33:4e:aa

Siin süntaks MAC-aadressi lisamiseks ip-käsu abil:

# ip link set dev eth0 address 00:0c:29:33:4e:aa

Lisaks IP-aadressi või riistvara aadressi määramisele on muud liidesele rakendatavad konfiguratsioonid järgmised:

  1. MTU (maksimaalne ülekandeühik)
  2. Multisaadete lipp
  3. Edastusjärjekorra pikkus
  4. Märkamatu režiim
  5. lubage või keelake kogu multisaaterežiim

# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
# ifconfig eth0 multicast
# ip link set dev eth0 multicast on
# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on

Allpool olevad käsud lubavad või keelavad konkreetse võrguliidese.

Allpool olev käsk keelab liidese eth0 ja seda kontrollitakse ifconfigi väljundiga, mis näitab vaikimisi ainult neid liideseid, mis on üleval.

# ifconfig eth0 down

Liidese uuesti lubamiseks asendage see lihtsalt ülespoole.

# ifconfig eth0 up

Allpool olev ip-käsk on ifconfig jaoks konkreetse liidese keelamiseks alternatiiv. Seda saab kontrollida käsu ip a väljundiga, mis näitab vaikimisi kõiki liideseid üles või alla, kuid tõstab esile nende oleku koos kirjeldusega.

# ip link set eth0 down

Liidese uuesti lubamiseks asendage see lihtsalt ülespoole.

# ip link set eth0 up

Allpool toodud käsud lubavad või keelavad ARP-protokolli konkreetses võrguliideses.

Käsk võimaldab ARP-protokolli kasutada koos liidesega eth0. Selle valiku keelamiseks asendage arp lihtsalt koodiga -arp .

# ifconfig eth0 arp

See käsk on ip-alternatiiv ARP-i lubamiseks liidese eth0 jaoks. Keelamiseks asendage see lihtsalt väljalülitamisega.

# ip link set dev eth0 arp on

Järeldus

Seega oleme esile tõstnud ifconfig käsu funktsioonid ja selle, kuidas neid saab teha ip käsuga. Praegu pakuvad Linuxi distributsioonid kasutajale mõlemat käsku, et ta saaks kasutada vastavalt oma mugavusele. Milline käsk on teie arvates mugav, mida eelistaksite kasutada? Mainige seda oma kommentaarides.

Kui soovite nende kahe käsu kohta lisateavet saada, peaksite tutvuma meie eelmiste artiklitega, kus on üksikasjalikumalt toodud mõned praktilised näited ifconfigist ja ip-st.