ifconfig vs ip: kāda ir atšķirība un tīkla konfigurācijas salīdzināšana


Linux balstītajos izplatījumos ir parādīts komandu kopums, kas nodrošina iespēju ērti un efektīvi konfigurēt tīklošanu, izmantojot komandrindu. Šie komandu komplekti ir pieejami no net-tools pakotnes, kas ilgu laiku ir bijusi gandrīz visos izplatījumos, un tajā ietilpst tādas komandas kā: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp.

Šīs komandas ir gandrīz pietiekamas, lai konfigurētu tīklu tādā veidā, kādu to vēlētos kāds iesācējs vai eksperts, kuru vēlas Linux lietotājs, taču, pateicoties Linux kodola attīstībai pēdējos gados un šī iepakotā komandu kopuma neuzturamībai, tās tiek novecojušas un jaudīgākas. parādās alternatīva, kurai ir iespēja aizstāt visas šīs komandas.

Šī alternatīva ir bijusi arī diezgan ilgu laiku un ir daudz spēcīgāka nekā jebkura no šīm komandām. Pārējās sadaļas izceļ šo alternatīvu un salīdzina to ar kādu no komandām no net-tools pakotnes, t.i., ifconfig.

ip - ifconfig aizstājējs

ifconfig ir bijis tur ilgu laiku un joprojām tiek izmantots, lai konfigurētu, parādītu un kontrolētu tīkla saskarnes, taču Linux izplatījumos tagad pastāv jauna alternatīva, kas ir daudz jaudīgāka nekā tā. Šī alternatīva ir ip komanda no pakotnes iproute2util.

Lai gan šī komanda pirmajā vietā var šķist mazliet sarežģīta, taču tā funkcionalitāte ir daudz plašāka nekā ifconfig. Tas ir funkcionāli sakārtots divos tīkla kaudzes slāņos, ti, 2. slānī (saites slānī), 3. slānī (IP slānī) un veic visu iepriekš minēto komandu darbību no tīkla rīku pakotnes.

Kaut arī ifconfig lielākoties parāda vai modificē sistēmas saskarnes, šī komanda spēj veikt šādus uzdevumus:

  1. saskarnes rekvizītu parādīšana vai modificēšana.
  2. ARP kešatmiņas ierakstu pievienošana, noņemšana, vienlaikus izveidojot jaunu statisko ARP ierakstu resursdatoram.
  3. MAC adrešu parādīšana, kas saistītas ar visām saskarnēm.
  4. Kodola maršrutēšanas tabulu parādīšana un modificēšana.

Viens no galvenajiem aspektiem, kas to atdala no senā kolēģa ifconfig, ir tas, ka tīkla konfigurācijai pēdējais izmanto ioctl, kas ir mazāk novērtēts mijiedarbības veids ar kodolu, savukārt pirmais izmanto netlink ligzdas mehānismu, kas ir daudz elastīgāks pēctecis no ioctl savstarpējai saziņai starp kodolu un lietotāja telpu, izmantojot rtnetlink (kas papildina tīkla vides manipulācijas iespējas).

Tagad mēs varam sākt izcelt ifconfig funkcijas un to, kā tos efektīvi aizstāt ar ip komandu.

ip vs ifconfig komandas

Šajā sadaļā ir uzsvērtas dažas ifconfig komandas un to aizstāšana, izmantojot ip komandas:

Šeit viena atšķirīga iezīme starp ip un ifconfig ir tā, ka, ja ifconfig parāda tikai iespējotās saskarnes, ip parāda visas saskarnes neatkarīgi no tā, vai tās ir iespējotas vai atspējotas.

$ ifconfig
$ ip a

Zemāk esošā komanda piešķir IP adresi 192.168.80.174 interfeisam eth0 .

# ifconfig eth0 add 192.168.80.174

Sintakse interfeisa pievienošanai/noņemšanai, izmantojot komandu ifconfig:

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

Sintakse interfeisa pievienošanai/noņemšanai, izmantojot ip komandu:

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

Zemāk esošajā komandā saskarnes eth0 aparatūras adrese tiek iestatīta uz komandā norādīto vērtību. To var pārbaudīt, pārbaudot vērtību HWaddr ifconfig komandas izvadē.

Šeit sintakse MAC adreses pievienošanai, izmantojot komandu ifconfig:

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

Šeit sintakse MAC adreses pievienošanai, izmantojot ip komandu:

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

Papildus IP adreses vai aparatūras adreses iestatīšanai citas konfigurācijas, kuras var izmantot interfeisam, ir:

  1. MTU (maksimālā pārsūtīšanas vienība)
  2. Multicast karogs
  3. Pārraides rindas garums
  4. Izcils režīms
  5. iespējojiet vai atspējojiet visu multiraides režīmu

# 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

Tālāk norādītās komandas iespējo vai atspējo noteiktu tīkla saskarni.

Zemāk esošā komanda atspējo saskarni eth0 , un to pārbauda ar ifconfig izeju, kas pēc noklusējuma parāda tikai augšpusē esošās saskarnes.

# ifconfig eth0 down

Lai atkārtoti iespējotu saskarni, vienkārši nomainiet uz leju uz augšu.

# ifconfig eth0 up

Zemāk esošā ip komanda ir alternatīva, lai ifconfig atspējotu noteiktu saskarni. To var pārbaudīt, izvadot komandu ip a , kas pēc noklusējuma parāda visas saskarnes augšup vai lejup, bet izceļ to statusu kopā ar aprakstu.

# ip link set eth0 down

Lai atkārtoti iespējotu saskarni, vienkārši nomainiet uz leju ar augšu.

# ip link set eth0 up

Tālāk norādītās komandas ļauj vai atspējo ARP protokolu noteiktā tīkla saskarnē.

Komanda ļauj ARP protokolu izmantot ar interfeisu eth0. Lai atspējotu šo opciju, vienkārši aizstājiet arp ar -arp .

# ifconfig eth0 arp

Šī komanda ir ip alternatīva, lai iespējotu ARP interfeisam eth0. Lai atspējotu, vienkārši aizstājiet ieslēgtu ar izslēgtu.

# ip link set dev eth0 arp on

Secinājums

Tādējādi mēs esam uzsvēruši ifconfig komandas funkcijas un to, kā tās var izdarīt, izmantojot ip komandu. Pašlaik Linux izplatīšana nodrošina lietotājam abas komandas, lai viņš varētu izmantot atbilstoši savām ērtībām. Tātad, kura komanda jums ir ērta, kuru vēlaties izmantot? Vai pieminēt to savos komentāros.

Ja vēlaties uzzināt vairāk par šīm divām komandām, jums vajadzētu iepazīties ar mūsu iepriekšējiem rakstiem, kuros detalizētāk parādīti daži praktiski ifconfig un ip komandu piemēri.