Configurazione di Linux per l'utilizzo di un indirizzo IP privato secondario
Configurare Linux in modo che utilizzi un indirizzo IP privato secondario.
Comandi di base (non persistenti durante un reboot)
ip addr add <address>/<subnet_prefix_len> dev <phys_dev> label <phys_dev>:<addr_seq_num>
<address>
: l'indirizzo IP privato secondario.<subnet_prefix_len>
: la lunghezza del prefisso della subnet. Ad esempio, se la subnet è 192.168.20.0/24, la lunghezza del prefisso della subnet è 24.<phys_dev>
: l'interfaccia a cui aggiungere l'indirizzo (ad esempio, ens2f0).<addr_seq_num>
: il numero sequenziale nello stack di indirizzi del dispositivo (ad esempio, 0).
ip addr add 192.168.20.50/24 dev ens2f0 label ens2f0:0
Per eliminare l'indirizzo, è possibile utilizzare:
ip addr del 192.168.20.50/24 dev ens2f0:0
Inoltre, eliminare l'IP secondario dalla VNIC. È possibile eseguire questa operazione prima o dopo l'esecuzione del comando precedente per eliminare l'indirizzo dalla configurazione del sistema operativo.
Se è stato assegnato un IP secondario a una VNIC secondaria e si sta utilizzando l'instradamento basato su criteri per la VNIC secondaria, configurare le regole di instradamento per l'istanza in modo da cercare la stessa tabella di instradamento per l'indirizzo IP secondario utilizzando il comando ip rule add from <source address> lookup <table name>
.
File di configurazione (persistenti durante un reboot)
È possibile rendere la configurazione persistente mediante un reboot aggiungendo le informazioni a un file di configurazione.
Per Oracle Linux 7, creare un file ifcfg
denominato /etc/sysconfig/network-scripts/ifcfg-<phys_dev>:<addr_seq_num>
. Per continuare con l'esempio precedente, il nome del file sarà /etc/sysconfig/network-scripts/ifcfg-ens2f0:0
e il contenuto sarà:
DEVICE="ens2f0:0"
BOOTPROTO=static
IPADDR=192.168.0.50
NETMASK=255.255.255.0
ONBOOT=yes
Per Oracle Linux 8 o Oracle Linux 9, il metodo preferito è utilizzare nmcli per configurare l'interfaccia per NetworkManager.
Se Network Manager sovrascrive le connessioni dopo il reboot, la soluzione preferita è eseguire il comando ip addr add <address>/<subnet_prefix_len> dev <phys_dev> label <phys_dev>:<addr_seq_num>
in fase di boot. Questo può essere fatto con un cron job, o utilizzando /etc/rc.d/rc.local ecc. In alternativa, è possibile modificare i parametri della riga di comando del kernel in modo che il trascinamento non sovrascriva i profili di connessione NetworkManager.
Se è stato assegnato un IP secondario a una VNIC secondaria e si sta utilizzando l'instradamento basato su criteri per la VNIC secondaria, configurare le regole di instradamento per l'istanza in modo da cercare la stessa tabella di instradamento per l'indirizzo IP secondario utilizzando il comando ip rule add from <source address> lookup <table name>
.
Creare o modificare una configurazione netplan memorizzata in /etc/netplan/<filename>.yaml
. Per continuare con l'esempio precedente, il nome del file sarà /etc/netplan/50-cloud-init.yaml
e verrà modificato in modo da disabilitare DHCP (per tutti gli indirizzi) e sostituirlo con una configurazione manuale come mostrato:
network:
ethernets:
ens3:
dhcp4: no
addresses: [192.168.64.223/24, 192.168.64.75/24]
gateway4: 192.168.64.1
nameservers:
addresses: [169.254.169.254]
match:
macaddress: 02:00:17:0e:66:7b
set-name: ens3
version: 2
In questo esempio, 192.168.64.223 è l'indirizzo IP primario assegnato alla VNIC e 192.168.64.75 è l'indirizzo IP secondario. macaddress
fa riferimento alla VNIC, che è possibile trovare nella console o utilizzando oci-utils
. Esempi più complessi di configurazione del piano di rete sono disponibili nelle pagine di riferimento del piano di rete. Per un esempio a monte, vedere Collegamento di VLAN alle interfacce di rete.
Se è stato assegnato un IP secondario a una VNIC secondaria e si sta utilizzando l'instradamento basato su criteri per la VNIC secondaria, configurare le regole di instradamento per l'istanza in modo da cercare la stessa tabella di instradamento per l'indirizzo IP secondario utilizzando il comando ip rule add from <source address> lookup <table name>
.