web-dev-qa-db-fra.com

Comment puis-je ajouter une route "sur le lien", directement connectée à l'interface même si les adresses IP ne sont pas les mêmes?

Nous travaillons sur un Linux Ubuntu 17.10 et nous devrions utiliser Netplan pour la configuration du réseau. Nous avons un fichier /run/systemd/network/*.network qui correspond à nos besoins, mais nous voulons le "traduire" dans un fichier de configuration Netplan.

[Match]
Name=ens18

[Network]
Address=<guestIP>/32
Gateway=62.210.0.1
DHCP = none
DNS=8.8.8.8 8.8.4.4

[Route]
Destination=62.210.0.1/32
Scope = link

Nous voulons transposer cela dans le fichier /etc/netplan/*.yaml mais nous ne trouvons pas comment faire ces deux choses:
- Le scope = link ne semble pas avoir de traduction directe dans le fichier .yaml. Nous l'utilisons parce que nous travaillons dans une machine virtuelle;
- La ligne via est requise dans le fichier .yaml lors de la configuration de la route mais 0.0.0.0 ne fonctionne pas.

Avec notre configuration via le fichier .network, voici ce que route -n renvoie:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         62.210.0.1      0.0.0.0         UG    0      0        0 ens18
62.210.0.1      0.0.0.0         255.255.255.255 UH    0      0        0 ens18

Alors, comment traduire nos deux lignes problématiques dans le fichier de configuration Netplan?

3
Bardyl

À partir de netplan 0.34 (maintenant dans Ubuntu 18.04), vous pouvez ajouter "scope: link" à votre route dans netplan config, avec quelque chose comme:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      [...]
      gateway4: 62.210.0.1
      routes:
        - to: 62.210.0.1/32
          via: 62.210.0.1
          scope: link