web-dev-qa-db-fra.com

LXD: comment éviter la double passerelle par défaut dans Ubuntu 18.04?

MISE À JOUR 2

Top affichage car il est nécessaire d'appliquer la solution suggérée.

Trouvé sur question - deuxième réponse

Cela a été corrigé dans le référentiel netplan sur github, et fera probablement son chemin dans Ubuntu à un moment donné.

Deux nouvelles options ont été ajoutées, dhcp4-overrides et dhcp6-overrides. Pour ignorer les serveurs DNS de DHCP, vous feriez quelque chose comme

Quelqu'un sait comment mettre à jour netplan dans Ubuntu 18.04?

Question d'origine

J'ai un LXD vm avec 2 interfaces réseau. Si j'utilise Ubuntu 16.04 (interfaces), j'ai 1 passerelle par défaut. Si j'utilise Ubuntu 18.04 (netplan), j'ai 2 passerelles par défaut. Comment puis-je me débarrasser de la deuxième passerelle?

Configuration d'Ubuntu 16.04:

root@servizi:/etc/network/interfaces.d# ls -lha
total 3.5K
drwxr-xr-x 2 root root   4 Jul 31  2017 .
drwxr-xr-x 7 root root   8 Jul 12  2017 ..
-rw-r--r-- 1 root root 367 Jul 30  2017 50-cloud-init.cfg
-rw-r--r-- 1 root root  97 Jul 31  2017 60-locale.cfg
root@servizi:/etc/network/interfaces.d# cat 50-cloud-init.cfg 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
root@servizi:/etc/network/interfaces.d# cat 60-locale.cfg 
auto eth1
iface eth1 inet dhcp
        up route add -net 192.168.99.0 netmask 255.255.255.0 gw 10.0.1.1
root@servizi:/etc/network/interfaces.d# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.220.90.1     0.0.0.0         UG    0      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.220.90.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.99.0    10.0.1.1        255.255.255.0   UG    0      0        0 eth1
root@servizi:/etc/network/interfaces.d# 

Configuration d'Ubuntu 18.04

root@servizi2:/etc/netplan# ls -lh
total 2.0K
-rw-r--r-- 1 root root 381 Jan 24 17:30 50-cloud-init.yaml
-rw-r--r-- 1 root root 177 Feb  1 20:25 60-locale.yaml
root@servizi2:/etc/netplan# cat 50-cloud-init.yaml 
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
root@servizi2:/etc/netplan# cat 60-locale.yaml 
# seconda scheda
network:
    version: 2
    ethernets:
        eth1:
            dhcp4: true
            routes:
            - to: 192.168.99.0/24
            via: 10.0.1.1

root@servizi2:/etc/netplan# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.220.90.1     0.0.0.0         UG    100    0        0 eth0
0.0.0.0         10.0.1.1        0.0.0.0         UG    100    0        0 eth1
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.0.1.1        0.0.0.0         255.255.255.255 UH    100    0        0 eth1
10.220.90.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.220.90.1     0.0.0.0         255.255.255.255 UH    100    0        0 eth0
root@servizi2:/etc/netplan#

[~ # ~] mise à jour [~ # ~]

J'ai essayé ce que @slangasek a suggéré et le deuxième fichier est maintenant:

root@servizi2:/etc/netplan# cat 60-locale.yaml 
# seconda scheda
network:
    version: 2
    ethernets:
        eth1:
            dhcp4: true
            dhcp4-overrides:
                    use-routes: false
            routes:
                - to: 192.168.99.0/24
                  via: 10.0.1.1

Mais la tentative de netplan donne l'erreur "dhcp4-overrides de clé inconnue"

root@servizi2:/etc/netplan# netplan try
Error in network definition /etc/netplan/60-locale.yaml line 5 column 12: unknown key dhcp4-overrides

An error occurred: the configuration could not be generated

Reverting.
root@servizi2:/etc/netplan#

Que puis-je faire?

1
Mirto Busico

Il semble que vous ayez une route par défaut sur eth0 et eth1 qui provient de dhcp; et vous souhaitez utiliser uniquement la route par défaut via eth0.

Pour ignorer la route par défaut fournie par votre serveur DHCP, vous devez utiliser dhcp4-overrides, ainsi:

network:
    version: 2
    ethernets:
        eth1:
            dhcp4: true
            dhcp4-overrides:
                use-routes: false
            routes:
                - to: 192.168.99.0/24
                  via: 10.0.1.1

Cette option n'est prise en charge que dans netplan 0.95 et versions ultérieures, qui sont actuellement disponibles dans Ubuntu 18.04 LTS et versions ultérieures.

2
slangasek