Qual è il comportamento esatto del comando: cambio dell'indirizzo ip?


12

Ho avuto problemi con IPv6 e mi sono occupato delle vite. Ho scoperto che l' valid_lftattributo farà scomparire automagicamente un indirizzo v6, se usato correttamente. Per prolungare la vita di un indirizzo vorrei

ip addr change 1:2:3:4::1/112 dev eth0 valid_lft 86000

L'uso di ip addr changenon appare in nessuna man-page a cui ho accesso (Debian, Ubuntu e online ) e non nella documentazione ufficiale . L'ho trovato in un articolo che fa riferimento a un'e-mail del 2009 alla mailing list di ipv6-ops.

Da quello che potrei determinare giocando, suppongo che si possa sempre usare ip addr changeinvece di ip addr add, perché se non esiste un indirizzo, ipsi aggiungerà uno, proprio se ip addr addfosse usato.

È corretto, cioè, qualcuno può spiegare cosa ip addr changefa esattamente e in che cosa differisce ip addr add?

Risposte:


6

Quando non sei sicuro di ciò che fa qualcosa e la documentazione non dice, sei arrivato alle fonti, vale a dire la riga 1588 :

if (matches(*argv, "change") == 0 ||
    strcmp(*argv, "chg") == 0)
    return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);

Quindi cosa fa? Restituisce il risultato dell'esecuzione della ipaddr_modify()funzione definita nella riga 1379 con gli argomenti RTM_NEWADDRe NLM_F_REPLACE.

Da quello che potrei determinare giocando, suppongo che si possa sempre usare ip addr changeinvece di ip addr add, perché se non esiste un indirizzo, ipsi aggiungerà uno, proprio se ip addr addfosse usato.

È corretto, cioè, qualcuno può spiegare cosa ip addr changefa esattamente e in che cosa differisce ip addr add?

No, addcreerà o eseguirà gli argomenti forniti (se ve ne sono), mentre changecercherà l'argomento e lo sostituirà.

A proposito, replacesembra essere un compromesso tra adde changein quanto utilizza un miscuglio di argomenti.


E qual è l'effetto di quelle bandiere? Perché dalla riga di comando non mostrano davvero. Soprattutto come changefunziona addse l'indirizzo da cambiare non esiste ancora. Non pensavo che avrei dovuto scavare attraverso il sorgente del kernel (perché è lì che alla fine vengono passati i flag), per scoprire cosa fa uno degli strumenti da riga di comando più popolari per la gestione della rete. Non sono gli anni '90 ... :-) Ma grazie comunque!
Bananguin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.