Comment puis-je empêcher Netplan de lier une passerelle par défaut sur chaque interface

10

J'ai une nouvelle installation du serveur ubuntu 17.10, mais le problème peut affecter les versions précédentes, mais c'est la première fois que je rencontre cette situation.

Le serveur exécute 2 cartes réseau distinctes, l'une pour les communications internes du réseau local (approuvée), l'autre est une connexion publique (non approuvée) à Internet avec le FAI.

Dans le passé, j'ai toujours configuré la connexion interne comme statique, et sans passerelle par défaut, car la carte externe serait fournie via DHCP à partir de mon FAI (bail statique).

/etc/netplan/00-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.xx/24]
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
    eth1:
      dhcp4: yes
      dhcp6: no

Maintenant, cela a bien fonctionné car je n'ai pas fourni de ligne gateway4 dans la configuration eth0 donc il a lié la passerelle par défaut du FAI et a bien fonctionné.

J'ai depuis décidé que je voulais utiliser des baux statiques pour les serveurs de mon homelab et les ai configurés comme tels sur le routeur interne. Mais lorsque j'ai configuré la configuration netplan en tant que dhcp pour les deux appareils, cela ajoute la passerelle par défaut pour les deux interfaces (ce qui est logique car les deux serveurs DHCP fournissent une passerelle).

> route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0
0.0.0.0         173.xxx.xxx.1   0.0.0.0         UG    100    0        0 eth1
173.xxx.xxx.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
173.xxx.xxx.1   0.0.0.0         255.255.255.255 UH    100    0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.1     0.0.0.0         255.255.255.255 UH    100    0        0 eth0

Comment puis-je configurer netplan pour que l'adaptateur eth0 (interne) ignore la passerelle par défaut fournie par le serveur DHCP (sans supprimer la passerelle sur le serveur DHCP lui-même car les autres machines ont toujours besoin d'une passerelle par défaut).

Aaron Murray
la source
Grande question! Il s'agit d'une lacune dans netplan, il manque en effet un moyen d'ignorer la définition d'une passerelle par défaut pour DHCP. Veuillez déposer un bogue ici: bugs.launchpad.net/netplan/+filebug
Mathieu Trudel-Lapierre
Je suis allé déposer un bogue aujourd'hui, mais j'ai trouvé le bogue n ° 1724666 qui est très similaire dans son cœur, j'ai donc déposé affect-me-too et ajouté un commentaire . :)
Don Faulkner
Merci à vous deux pour vos suggestions et actions à ce sujet. J'étais revenu à changer mon infrastructure pour utiliser un seul dhcp (bail statique) qui est requis par mon FAI actuel, ainsi que des adresses IP statiques que je peux contrôler en interne sans passerelles par défaut (comme décrit ci-dessus). Bien que ce ne soit pas la méthode optimale (préférée), elle fonctionne pour l'instant. L'inconvénient est que lorsque les adresses changent sur le réseau interne (ce qui arrive rarement), elles ne sont pas gérées de manière centralisée. Très déçu de la décision d'Ubuntu de passer à netplan avec ce problème très basique (entre autres raisons).
Aaron Murray
Ce bug dit qu'il est corrigé, alors y a-t-il une réponse maintenant?
detly
Destiné à cingler @DonFaulkner dans ce dernier commentaire.
detly

Réponses:

4

Netplan v0.90 introduit un nouvel ensemble d'options: dhcp4-overrides( pull request ).

Donc, si votre version du netplan.iopackage est suffisamment nouvelle ( voir les versions disponibles ici ), vous pouvez utiliser ceci:

    eno1:
      dhcp4: yes
      dhcp4-overrides:
        use-routes: false
Luke Yeager
la source