Questo è un vecchio thread, ma qui va.
Si dà il caso che esegua un certo numero di macchine virtuali OpenBSD su un ESXi 6.0 in esecuzione presso SoYouStart, una società figlia di OVH. L'impostazione della rete è la stessa di OVH e penso che, sebbene strano, il suo scopo principale sia eliminare il più possibile il traffico ARP limitando artificialmente i domini di trasmissione e senza la necessità di utilizzare le VLAN, ad esempio.
Nel mio caso, ho richiesto indirizzi IP aggiuntivi a OVH e provengono da un range completamente diverso. Per la discussione qui, supponiamo che queste siano le mie impostazioni:
- il mio indirizzo IP principale (utilizzato dall'host ESXi):213.0.113.78/32
- l'intervallo di indirizzi IP extra per i guest VM:192.0.2.64/30
- il gateway predefinito per TUTTO quanto sopra:213.0.113.254
- nota:tutti gli host devono utilizzare una netmask host (255.255.255.255) a causa del modo in cui è configurata la rete OVH
Per configurare il routing sull'host OpenBSD, questo è ciò che devo fare:
ifconfig vmx0 inet 192.0.2.64 255.255.255.255
route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
route add -inet default 213.0.113.254
Per fare tutto questo all'inizio, ignoro il /etc/mygate
file e inserire quanto segue nel /etc/hostname.vmx0
:
inet 192.0.2.64 255.255.255.255
!sleep 2
!route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
!route add -inet default 213.0.113.254
Noterai il sleep
comando - per qualche motivo questo è richiesto su OpenBSD 5.9 ma non lo era prima. Senza il sleep
, il primo dei to route
i comandi non verranno eseguiti e quindi il tuo routing non sarà configurato correttamente.
Funziona usando il seguente trucco:
- configuriamo l'indirizzo IP sull'interfaccia
- con il primo
route
comando traduciamo l'indirizzo IP del gateway (213.0.113.254) in un indirizzo di collegamento (indirizzo MAC); questo viene fatto dal-llinfo
opzione; - nello stesso
route
comando, utilizzando il comando-link
opzione, installiamo l'indirizzo del collegamento alla tabella di instradamento e utilizzando il-iface vmx0
diciamo al kernel tramite quale interfaccia di rete è raggiungibile quell'indirizzo di collegamento; il-static
switch lo contrassegna come una voce inserita manualmente nella tabella di routing - il secondo
route
il comando ora può avere successo, poiché il percorso verso il gateway predefinito è ora noto
Una cosa che ho riscontrato nella configurazione sopra, per la quale non ho ancora una soluzione, è che uno dei quattro host OpenBSD, configurato esattamente nello stesso modo, esegue la stessa identica versione del sistema operativo e la stessa identica build del kernel, e anche in esecuzione sullo stesso host VMware, ogni 24 ore circa, sembra "perdere" quel percorso magico dalla sua tabella di routing...