androide

Comando ip Linux con esempi

Raspberry Pi cambiare IP (e linux)

Raspberry Pi cambiare IP (e linux)

Sommario:

Anonim

Il comando ip è un potente strumento per la configurazione di interfacce di rete che qualsiasi amministratore di sistema Linux dovrebbe conoscere. Può essere utilizzato per attivare o disattivare le interfacce, assegnare e rimuovere indirizzi e route per gestire la cache ARP e molto altro.

In questo tutorial, ti mostreremo come utilizzare il comando ip attraverso esempi pratici e spiegazioni dettagliate delle opzioni più comuni.

Come utilizzare il comando ip

L'utilità ip fa parte del pacchetto iproute2 installato su tutte le moderne distribuzioni Linux.

La sintassi per il comando ip è la seguente:

ip OBJECT COMMAND

OBJECT è il tipo di oggetto che si desidera gestire. Gli oggetti (o sottocomandi) utilizzati più frequentemente sono:

  • link ( l ) - Visualizza e modifica le interfacce di rete. address ( a ) - Visualizza e modifica gli indirizzi IP. route ( r ) - Visualizza e modifica la tabella di routing. neigh ( n ) - Visualizza e manipola oggetti vicini (tabella ARP).

L'oggetto può essere scritto in forma completa o abbreviata (breve). Per visualizzare un elenco di comandi e argomenti per ciascun tipo di oggetto, ip OBJECT help . ogni sottocomando

Quando si configurano le interfacce di rete, è necessario eseguire i comandi come root o utente con privilegi sudo. Altrimenti il ​​comando stamperà RTNETLINK answers: Operation not permitted

Le configurazioni impostate con il comando ip non sono persistenti. Dopo il riavvio del sistema, tutte le modifiche vengono perse. Per impostazioni permanenti, è necessario modificare i file di configurazione specifici della distro o aggiungere i comandi a uno script di avvio.

Visualizzazione e modifica degli indirizzi IP

Quando si opera con l'oggetto addr , i comandi assumono la seguente forma:

ip addr ADDRESS dev IFNAME

I COMANDI più utilizzati dell'oggetto addr sono: show , add e del .

Visualizza informazioni su tutti gli indirizzi IP

Per visualizzare un elenco di tutte le interfacce di rete e l'indirizzo IP associato digitare il comando seguente:

ip addr show

L'output sarà simile al seguente:

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

Otterrai lo stesso output se digiti ometti il ​​comando show e digita: ip addr .

Visualizza informazioni su una singola interfaccia di rete

Per ottenere informazioni su una specifica interfaccia di rete, utilizzare ip addr show dev seguito dal nome del dispositivo. Ad esempio, per eseguire una query su eth0 , digitare:

ip addr show dev eth0

Assegnare indirizzi IP a un'interfaccia

Per assegnare un indirizzo IP a un'interfaccia, utilizzare la sintassi seguente:

ip addr add ADDRESS dev IFNAME

Dove IFNAME è il nome dell'interfaccia e ADDRESS è l'indirizzo IP che si desidera assegnare all'interfaccia.

Per aggiungere l'indirizzo 192.168.121.45 con netmask 24 al dispositivo eth0 , digitare:

sudo ip address add 192.168.121.45/24 dev eth0

In caso di successo, il comando non mostrerà alcun output. Se l'interfaccia non esiste, otterrai Cannot find device "eth0" .

Assegna più indirizzi IP alla stessa interfaccia

Con ip , puoi assegnare più indirizzi alla stessa interfaccia. Per esempio:

sudo ip address add 192.168.121.241/24 dev eth0 sudo ip address add 192.168.121.45/24 dev eth0

Per confermare che gli IP sono assegnati digitare ip -4 addr show dev eth0 o ip -4 a show dev eth0 :

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

Rimuovi / Elimina un indirizzo IP dall'interfaccia

La sintassi per rimuovere un indirizzo IP da un'interfaccia è la seguente:

ip addr dev ADDRESS dev IFNAME

IFNAME è il nome dell'interfaccia e ADDRESS è l'indirizzo IP che si desidera rimuovere dall'interfaccia.

Per rimuovere l'indirizzo 192.168.121.45/24 dal dispositivo eth0 digitare:

sudo ip address del 192.168.121.45/24 dev eth0

Visualizzazione e modifica delle interfacce di rete

Per gestire e visualizzare lo stato delle interfacce di rete, utilizzare l'oggetto link .

I comandi più comunemente usati quando si lavora con gli oggetti link sono: show , set , add e del .

Visualizza informazioni sulle interfacce di rete

Per visualizzare un elenco di tutte le interfacce di rete, digitare il comando seguente:

ip link show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

A differenza di ip addr show , ip link show non stamperà informazioni sugli indirizzi IP associati al dispositivo.

Per ottenere informazioni su una specifica interfaccia di rete, utilizzare ip link show dev seguito dal nome del dispositivo. Ad esempio, per eseguire una query su eth0 digitare:

ip link show dev eth0

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

Modifica lo stato dell'interfaccia SU / GIÙ

Per attivare o disattivare le interfacce, utilizzare il ip link set dev seguito dal nome del dispositivo e dallo stato desiderato:

ip link set dev {DEVICE} up

Ad esempio, per portare l'interfaccia eth0 online, digitare:

ip link set eth0 up

E da portare se offline

ip link set eth0 down

Visualizzazione e modifica della tabella di routing

Per assegnare, rimuovere e visualizzare la tabella di routing del kernel utilizzare l'oggetto route . I comandi più comunemente usati quando si lavora con gli oggetti route sono: list , add e del .

Visualizza la tabella di routing

Per ottenere un elenco delle voci della route del kernel, utilizzare uno dei seguenti comandi:

ip route ip route list ip route list SELECTOR

Se usato senza un SELECTOR il comando elencherà tutte le voci della rotta nel kernel:

ip route list

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100

Per visualizzare solo il routing per una rete specifica, ad esempio 172.17.0.0/16 digitare:

ip r list 172.17.0.0/16

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

Aggiungi una nuova rotta

Per aggiungere una nuova voce alla tabella di routing, utilizzare il comando route add seguito dal nome della rete o del dispositivo.

Aggiungi un percorso a 192.168.121.0/24 tramite il gateway a 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

Aggiungi un percorso a 192.168.121.0/24 che può essere raggiunto sul dispositivo eth0.

ip route add 192.168.121.0/24 dev eth0

Per aggiungere un percorso predefinito, utilizzare la parola chiave default . Il comando seguente aggiungerà una route predefinita tramite il gateway locale 192.168.121.1 che è possibile raggiungere sul dispositivo eth0 .

ip route add default via 192.168.121.1 dev eth0

Elimina un percorso

Per eliminare una voce dalla tabella di routing, utilizzare il comando route add , La sintassi per eliminare una route è la stessa di quando si aggiunge.

Il seguente comando eliminerà la route predefinita:

ip route del default

Elimina un percorso per 192.168.121.0/24 tramite il gateway in 192.168.121.1

ip route add 192.168.121.0/24 via 192.168.121.1

Conclusione

Ormai dovresti avere una buona conoscenza di come usare il comando ip Linux. Per ulteriori informazioni sulle altre opzioni ip visitare la pagina man del comando ip o digitare man ip nel proprio terminale.

terminale ip