Comanda Linux ip explicată cu exemple

Introducere Dacă ați lucrat cu sistemele de operare Linux / UNIX, atunci probabil că ați folosit comanda ifconfig foarte frecvent. În cazul în care sunteți nou în sistemele de operare Linux, este încă ...

Publicat la data de 10.09.2018

Actualizat la data de 22.02.2019

Scris de NAV Communications

6 minute rămase

Introducere

Dacă ați lucrat cu sistemele de operare Linux / UNIX, atunci probabil că ați folosit comanda ifconfig foarte frecvent. În cazul în care sunteți nou în sistemele de operare Linux, este încă probabil că ați folosit sau cel puțin ați auzit de comanda ifconfig la un moment dat în experiența utilizării Linux. Comanda ifconfig este și a fost folosită în primul rând pentru a vizualiza interfetele de rețea de pe sistemul dvs. și informațiile de rețea corespunzătoare acestora. De asemenea, comanda ifconfig a fost folosită pentru a modifica proprietățile interfețelor de rețea, adică pentru a schimba adresele IP care le-au fost atribuite, pentru a atribui mai multe adrese IP etc. În acest articol nu vom acoperi comanda ifconfig, ci ne vom concentra mai mult asupra comenzii care o înlocuiește pe aceasta și se regăsește pe aproape toate distribuțiile moderne de Linux. Comanda la care ne referim aici este comanda ip. Comanda ip a depreciat comanda ifconfig în măsura în care aceasta nu este instalată implicit în distribuțiile RHEL 7 / Centos 7.

Să aruncăm o privire la câteva exemple pentru a ne familiariza cu comanda ip

Exemplul 1: Afișarea informațiilor despre rețea pentru toate interfețele de rețea
Pentru a vizualiza informațiile despre adresa IP pentru toate interfețele de rețea, folosim comanda „ip address show”.

[root@linux ~]# ip address show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.188.133/24 brd 192.168.188.255 scope global dynamic ens33
valid_lft 1772sec preferred_lft 1772sec
inet6 fe80::acd8:bd6b:965b:ad38/64 scope link
valid_lft forever preferred_lft forever
3: ens37: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.188.146/24 brd 192.168.188.255 scope global dynamic ens37
valid_lft 1731sec preferred_lft 1731sec
inet6 fe80::28d6:c38:a0e0:66be/64 scope link
valid_lft forever preferred_lft forever
[root@linuxnix ~]#

Puteți utiliza, de asemenea, versiunea prescurtată prescurtată „ip a s” care va afișa aceleași informații.

Exemplul 2: Afișați informații despre rețea pentru o anumită interfață
Pentru a face acest lucru, trebuie să furnizăm numele interfeței de rețea dorite cu comanda de afișare a adresei IP.
În exemplul de mai jos, obținem informații pentru interfața rețelei ens33.

[root@linux ~]# ip address show ens33
2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.188.133/24 brd 192.168.188.255 scope global dynamic ens33
valid_lft 1671sec preferred_lft 1671sec
inet6 fe80::acd8:bd6b:965b:ad38/64 scope link
valid_lft forever preferred_lft forever

Exemplul 3: Activarea / dezactivarea unei interfețe de rețea
Pentru a aduce o interfață de rețea up sau down, folosim comanda ip cu seturile de subcomenzi. Exemplul de mai jos, activează și dezactivează interfața ens37 pe sistemul nostru.

Pentru opri interfața, tastăm ip down

[root@linux ~]# ip link set ens37 down

Să verificăm dacă interfața este oprită cu comanda de afișare a adresei IP.

[root@linux ~]# ip address show ens37
3: ens37: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
[root@linuxnix ~]#

Pentru a aduce porni interfața, introduceți comanda ip up.

[root@linux ~]# sudo ip link set ens37 up

Acum, dacă verificăm din nou starea interfeței, vom observa că este acum ridicată.

[root@linux ~]# ip address show ens37
3: ens37: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.188.146/24 brd 192.168.188.255 scope global dynamic ens37
valid_lft 1798sec preferred_lft 1798sec
inet6 fe80::28d6:c38:a0e0:66be/64 scope link
valid_lft forever preferred_lft forever

Exemplul 4: Atribuirea unei adrese IP pe una din interfețe
Pentru a atribui o adresă IP unei interfețe, folosim subcomanda de adresă IP, urmată de adresa IP, împreună cu prefixul de rețea și interfața la care trebuie să fie alocată adresa. Mai jos este un exemplu.

[root@linux ~]# ip addr add 192.168.188.146/24 dev ens37
[root@linuxnix ~]# ip add show ens37
3: ens37: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.188.146/24 scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80::28d6:c38:a0e0:66be/64 scope link
valid_lft forever preferred_lft forever

Exemplul 5: Ștergerea unei adrese IP de la o interfață
Pentru a șterge o adresă IP atribuită unei interfețe, folosim subcomanda de ștergere a adresei IP urmat de adresa IP împreună cu prefixul de rețea și interfața de la care trebuie să fie șters adresa. Mai jos este un exemplu.

[root@linux ~]# ip addr del 192.168.188.146/24 dev ens37

Exemplu 6: Adăugarea o adresă IP logică
Pentru a adăuga o adresă IP logică la o interfață, folosim aproape aceeași comandă ca și în cazul atribuirii unei adrese IP la o interfeța, dar aici adăugăm și cuvântul cheie de etichetă urmat de numele interfeței logice. Iată un exemplu:

[root@linux ~]# ip addr add 192.168.188.150/24 dev ens37 label ens37:1

Pentru a verifica atribuirea adresei, verificați afișarea ip-ului pentru interfață.

[root@linux ~]# ip addr show ens37:1
3: ens37: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.188.146/24 scope global ens37
valid_lft forever preferred_lft forever
inet 192.168.188.150/24 scope global secondary ens37:1
valid_lft forever preferred_lft forever
inet6 fe80::28d6:c38:a0e0:66be/64 scope link
valid_lft forever preferred_lft forever

După cum puteți observa, adresa IP a fost atribuită cu succes interfeței logice.

Exemplul 7: Verificați statisticile interfeței de rețea
Cu comanda ip putem vizualiza și statisticile de rețea cum ar fi octeții și pachetele transferate, erori sau pachete abandonate etc pentru toate interfețele de rețea. Pentru a vizualiza statisticile de rețea, utilizați comanda ip -s.

[root@linux ~]# ip -s link
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
383908 1535 0 0 0 0
TX: bytes packets errors dropped carrier collsns
383908 1535 0 0 0 0
2: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:f6:1d:81 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
160034 2128 0 0 0 0
TX: bytes packets errors dropped carrier collsns
70690 644 0 0 0 0
3: ens37: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:f6:1d:8b brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
89100 1254 0 0 0 0
TX: bytes packets errors dropped carrier collsns
16468 175 0 0 0 0

Exemplul 8: Afișați tabela de rutare a kernelului
Pentru a afișa tabela de rutare a kernel-ului, tastați comanda ip route show.

[root@linux ~]# ip route show
default via 192.168.188.2 dev ens33 proto static metric 100
192.168.188.0/24 dev ens37 proto kernel scope link src 192.168.188.146
192.168.188.0/24 dev ens33 proto kernel scope link src 192.168.188.133 metric 100
[root@linuxnix ~]#

Exemplul 9: Adăugați un traseu static
Pentru a adăuga o rutare statică la tabela de rutare a kernelului, folosim comanda ip add route. Mai jos este un exemplu de adăugare a unui traseu static pe interfața de rețea ens37.

[root@linux ~]# ip route add 192.168.188.134 via 192.168.188.1 dev ens37

Să executăm comanda de afișare a rutei ip pentru a verifica dacă ruta a fost adăugată.

[root@linux ~]# ip route show
default via 192.168.188.2 dev ens33 proto static metric 100
default via 192.168.188.2 dev ens37 proto static metric 101
192.168.188.0/24 dev ens37 proto kernel scope link src 192.168.188.146
192.168.188.0/24 dev ens33 proto kernel scope link src 192.168.188.133 metric 100
192.168.188.0/24 dev ens37 proto kernel scope link src 192.168.188.146 metric 101
192.168.188.134 via 192.168.188.1 dev ens37

Traseul adăugat de comanda ip nu va persista pe parcursul repornirilor. Pentru a face înregistrarea permanentă, trebuie să o adăugăm în fișierul / etc / sysconfig / scripts / route-name . Deci, pentru a face intrarea de rutare permanentă, trebuie să adăugăm următoarea linie în fișierul / etc / sysconfig / script-urile / route-ens37.

192.168.188.134 via 192.168.188.1 dev ens37

De asemenea, am putea adăuga o rută implicită folosind comandă ip add route. Sintaxa ar fi după cum urmează:

ip route add default via

Exemplul 10: Ștergerea unui traseu static
Pentru a șterge un traseu static, folosim comanda ip route del, urmată de adresa pentru traseul care trebuie eliminat. Pentru a demonstra, să ștergem ruta pe care am adăugat-o în exemplul anterior.

[root@linux ~]# ip route del 192.168.188.134

Exemplul 11: Vizualizați cache-ul arp
Pentru a vedea intrările în memoria cache ARP adică adresele MAC ale dispozitivelor conectate în LAN, am tasta următoarea comandă.

[root@linux ~]# ip neigh
192.168.188.1 dev ens33 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.188.254 dev ens33 lladdr 00:50:56:fă:4f:07 STALE
192.168.188.2 dev ens33 lladdr 00:50:56:fd:b2:1a STALE

Exemplul 12: Vizualizarea ajutorului
Pentru a vizualiza opțiunile disponibile pentru utilizare cu tipul de comandă ip ip -help.

[root@linux ~]# ip –help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | macsec | tcp_metrics | token }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] }

Pentru a vedea informațiile mai detaliate, puteți accesa pagina man pentru comanda ip tastând ‘man ip’

Concluzie

Această încheie explorarea comenzii linux ip. Sperăm că ați găsit exemplele ilustrate în acest articol utile.

0

Articole relevante

11 Oct2024

Ce este DNS-ul secundar?

Citește mai departe
17 Sep2024

Ce este SSH? O privire asupra securității în rețele

Citește mai departe
13 May2024

Ce este DirectAdmin și cum funcționează

Citește mai departe
19 Mar2024

Ce este un Server Web și cum funcționează

Citește mai departe
14 Mar2024

Avantaje Colocare: Cum beneficiază afacerile de această strategie

Citește mai departe
17 Aug2023

Windows Server: Infrastructura și Utilizările Sale

Citește mai departe

Comentarii