Obbiettivo
Lascia che Ethernet abbia la precedenza sul wireless quando è collegato il cavo Ethernet
Metodo
Dopo aver fatto una buona parte di Google e leggere sono arrivato al punto in cui credo che ciò che dovrei fare è qualcosa sulla falsariga di
nmcli connection modify [id-of-ethernet-interface] ipv4.route-metric 200
nmcli connection modify [id-of-ethernet-interface] ipv6.route-metric 200
dove 200 ha un valore inferiore rispetto alla metrica wireless, per fare in modo che la rete Ethernet abbia la precedenza sulla rete wireless.
risultati
Ciò che mi lascia perplesso sono i rapporti che ricevo route -n
dopo che ho eseguito i comandi sopra e riavviato (per buona misura), e il fatto che questo non sembra equivalere a raggiungere il mio obiettivo
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 123.456.89.1 0.0.0.0 UG 600 0 0 wlp1s0
0.0.0.0 123.456.89.1 0.0.0.0 UG 20200 0 0 enp0s31f6
123.456.89.0 0.0.0.0 255.255.255.192 U 200 0 0 enp0s31f6
123.456.89.0 0.0.0.0 255.255.255.192 U 600 0 0 wlp1s0
654.321.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s31f6
I numeri si sommano per quanto riguarda l'esecuzione del mio comando, ma per le righe che dicono
0.0.0.0 123.456.89.1 0.0.0.0 UG 20200 0 0 enp0s31f6
654.321.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s31f6
La prima riga ha 20 prefissati prima del valore 200 che ho impostato. Questo continua ad essere applicato in modo coerente in base a ciò che eseguo; Se cambio il valore della metrica nmcli
per dire 500, route -n
riporterò 20500. Perché succede? Di sicuro non sembra giusto, dal momento che ho affermato che volevo 200 o 500, non 20200 e 20500.
La seconda riga ha un valore metrico di cui non ho idea da dove provenga e non riesco a influenzarlo affatto. Se qualcuno può far luce su questo, sono grato.
Non sembra che questi comandi finiscano in qualcosa di tangibile, oltre a influenzare le metriche; Non posso dire che Ethernet stia avendo la precedenza, quindi presumo che non lo sia.
Altri risultati
Quello che ho trovato curioso, e sembra funzionare in una certa misura, è l'uso di $ sudo ifmetric enp0s31f6 200
. Questo fa due o tre cose;
- Influisce sulla metrica dell'interfaccia (
route -n
riporta tutte le righe con Ifaceenp0s31f6
per avere il valore 200) - Influisce sull'interfaccia utente di Ubuntu (nell'angolo in alto a destra vedrò un passaggio visivo tra la commutazione di icone Ethernet e wireless, a seconda dei valori metrici forniti nel
ifmetric
comando) - A volte mi dà un
NETLINK: Error: File exists
errore. Le esecuzioni successive dello stesso comando possono o potrebbero non risultare in questo errore
Alcune informazioni di sistema
- EliteBook 850 G5
- Ubuntu 18.04
- Installazione di Ubuntu fatta consentendo all'installatore di utilizzare l'intero disco, abilitare la crittografia, i download di terze parti abilitati per i driver, ecc.
Aggiornamento n. 1
$ nmcli c show
NAME UUID TYPE DEVICE
Wired connection 2 [n/a] ethernet enp0s31f6
WiFi1 [n/a] wifi wlp1s0
$ route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 [n/a] 0.0.0.0 UG 600 0 0 wlp1s0
0.0.0.0 [n/a] 0.0.0.0 UG 20200 0 0 enp0s31f6
[n/a] 0.0.0.0 255.255.255.192 U 200 0 0 enp0s31f6
[n/a] 0.0.0.0 255.255.255.192 U 600 0 0 wlp1s0
[n/a] 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s31f6
nmcli c show
ugualeroute -n
all'output di?