J'ai récemment installé mon premier serveur Ubuntu et je lutte avec netplan.
Comme j'ai besoin d'un Windows pour exécuter un service qui n'est pas disponible sur Linux, j'essaie de configurer KVM.
Le serveur a plusieurs ips statiques utilisés pour différents services ou conteneurs dockers exécutant des services. Mon configuration de netplan se présente ainsi:
network:
version: 2
renderer: networkd
ethernets:
enp30s0:
dhcp4: no
addresses: [xxx.xxx.xxx.100/24, xxx.xxx.xxx.102/24, xxx.xxx.xxx.105/24, ...]
gateway4: xxx.xxx.xxx.1
nameservers:
addresses: [xxx.xxx.xxx.1]
Il me semble maintenant que j'ai besoin de créer un pont réseau pour le rendre disponible pour la machine invitée, mais je n'ai pas pu trouver de solution pour le faire pour une seule adresse.
Y a-t-il un moyen d'y parvenir ou est-ce que je commets une erreur conceptuelle ici?
Toute aide serait très appréciée! Je vous remercie.
Les paramètres d'Ubuntu 18.04 dépendent toujours de Network Manager, et wifi/3G n'est pas encore pris en charge par networkd. L'exemple suivant utilise Network Manager pour toutes les interfaces.
/etc/netplan/01-netcfg.yaml
---
network:
version: 2
# if specified globally, can only realistically have that value,
# as networkd cannot render wifi/3G.
renderer: NetworkManager
ethernets:
enp42s0:
gateway4: 192.168.1.1
dhcp4: false
# Specify static address, and netmask.
addresses: [192.168.1.10/24, '2001:1::10/64']
bridges:
br0:
dhcp4: false
interfaces: [enp42s0]
Étapes pour ajouter un pont à libvirt.
Créez un fichier /tmp/br0.xml
<network>
<name>br0</name>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
Maintenant, libvirt ajoute le nouveau réseau et lancez-le automatiquement.
virsh net-define /tmp/br0.xml
virsh net-start br0
virsh net-autostart br0
Le fichier br0.xml sera dans/etc/libvirt/qemu/networks. Le fichier réseau par défaut NAT sera également présent. Vérifiez que br0 a été ajouté avec succès.
virsh net-list --all
Name State Autostart Persistent
----------------------------------------------------------
br0 active yes yes
default active yes yes
Tous les nouveaux ajouts d'interface réseau auront une option de pont br0.
Des exemples sur netplan.io comme pontage avec Libvirt devraient être la voie à suivre. Vous auriez configuré un pont dans l'hôte lié à l'interface externe - dans votre cas, enp30s0. Ensuite, dites à libvirt d'utiliser ce pont et votre invité obtiendra des périphériques à ce sujet.
Vous devrez ensuite soit configurer libvirt/dnsmasq dans l'hôte pour fournir des adresses IP aux invités de la plage souhaitée, soit configurer vos invités de manière statique dans l'invité aux adresses que vous souhaitez qu'ils utilisent.
Quelque chose comme
network:
version: 2
renderer: networkd
bridges:
br0:
dhcp4: no
addresses: [xxx.xxx.xxx.100/24, xxx.xxx.xxx.102/24, xxx.xxx.xxx.105/24, ...]
gateway4: xxx.xxx.xxx.1
interfaces:
- enp30s0
Et dans l'invité
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: xxx.xxx.xxx.106/24
gateway4: xxx.xxx.xxx.1
Et pour que libvirt network utilise le pont tel que fourni par le système:
<network>
<name>br0</name>
<bridge name='br0'/>
<forward mode="bridge"/>
</network>
Beaucoup de détails dépendent de vos besoins, mais cela devrait indiquer la voie à suivre. Je suis sûr que les gens apprécieront lorsque vous le mettrez en marche si vous pouvez mettre à jour votre message avec la configuration effective finale qui vous a permis de travailler.