Salut,
tl;dr: Il faut bridger !
En gros, sur ton host, tu vas créer une interface type bridge (via brctl addbr <nom du bridge>
de bridge-utils
), et y attacher toutes les interfaces que tu veux mettre en commun. Ça va donc inclure ton ethernet (ethX
, enpXsY
, …) et la/les interfaces créées par KVM, via brctl addif <bridge> <interface>
.
Ensuite, il faut assigner ton IP publique de l'hôte au bridge, et tu vas pouvoir assigner directement l'IP publique de ta VM sur l'interface eth
à l'intérieur de ta VM, le tout à coup de ip addr add dev <interface> <ip>
. Fais bien attention par contre à bien supprimer l'IP de ton interface eth
avant de l'assigner à ton bridge, via ip addr del dev ethX <ip>
. Si tu fais ça à distance, fais toi un script avant pour faire la "transition" d'IP entre l'interface et le bridge, pour éviter de perdre ta connexion SSH au serveur pendant l'opération
Si t'as besoin de plus d'infos sur la config à éditer, il me faudrait par contre plus d'infos sur ta machine, si tu utilises par exemple libvirt
, et ce que tu utilises pour la configuration de tes interfaces