web-dev-qa-db-fra.com

Pont Netplan pour KVM sur Ubuntu Server 18.04 avec ips statiques

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.

3
fredo.r

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.

2
rickfoosusa

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.

0
Christian Ehrhardt