configuration de netplan sur une machine virtuelle Ubuntu 17.04


13

J'utilise VirtualBox avec 2 adaptateurs réseau: NAT standard (enp0s3) et un adaptateur hôte uniquement (enp0s8). J'utilise le NAT pour accéder à Internet et à l'adaptateur hôte uniquement vers SSH depuis ma machine locale.

La boîte démarre avec les deux adaptateurs activés, les deux ont des adresses IP, tout semble bon.

sortie ifconfig

Je peux SSH dans cette boîte sur l'adaptateur hôte uniquement, aucun problème là-bas. Mais je ne peux pas accéder à Internet avec ça. Cependant, si je désactive l'adaptateur hôte uniquement, je peux accéder à Internet (mais évidemment, je ne peux plus y accéder via le tunnel local).

sortie console

Et enfin, voici ma config netplan yaml:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
ethernets:
  enp0s3:
    dhcp4: yes
    dhcp6: yes
  enp0s8:
      dhcp4: no
    dhcp6: no
    addresses: [192.168.52.101/24]
    gateway4: 192.168.52.101

Des idées? Il semble que tout mon trafic sortant soit acheminé via l'adaptateur hôte uniquement.

Modifier: attacher la sortie de ip route listau cas où cela aiderait.

default via 192.168.52.101 dev enp0s8 proto static
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 100
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15
10.0.2.2 dev enp0s3 proto dhcp scope link src 10.0.2.15 metric 100
192.168.52.0/24 dev enp0s8 proto kernel scope link src 192.168.52.101

Oubliez ça, je n'ai pas pu comprendre netplan, j'ai donc formaté et installé Ubuntu 16 à la place.
hellojason

Réponses:


12

J'ai trouvé ce problème faire exactement la même chose cet après-midi. D'une manière ou d'une autre, j'ai réussi à le comprendre et netplan n'a finalement créé qu'une seule route par défaut via l'interface NAT de ma machine virtuelle. Dans mon cas, les deux IP étaient 192.168.56.101 (hôte uniquement) et 10.0.3.x / 24 (NAT dhcp4). J'utilise ce fichier netplan:

    network:
      version: 2
      renderer: networkd
      ethernets:
        enp0s8:
          dhcp4: yes
          dhcp6: yes
          routes:
          - to: 0.0.0.0/0
            via: 10.0.3.2
            metric: 0
        enp0s3:
          dhcp4: no
          dhcp6: no
          addresses: [192.168.56.101/24]
          routes:
          - to: 192.168.56.1/24
            via: 192.168.56.1
            metric: 100

Avec cela, je n'ai qu'un seul itinéraire par défaut, et il utilise le NAT pour pouvoir accéder à Internet via mon hôte.

Sortie de ip r

default via 10.0.3.2 dev enp0s8 proto dhcp src 10.0.3.15 metric 100
10.0.3.0/24 dev enp0s8 proto kernel scope link src 10.0.3.15
10.0.3.2 dev enp0s8 proto dhcp scope link src 10.0.3.15 metric 100
192.168.56.0/24 dev enp0s3 proto kernel scope link src 192.168.56.10

2
Très bonne réponse! Vous devez en effet configurer votre propre routage dans ce cas. Si les deux appareils incluent une "passerelle par défaut" (c'est-à-dire qu'ils spécifient "dhcp4" ou "dhcp6", ou définissent "gateway4"), le système configurera les deux appareils avec une passerelle par défaut avec la même métrique. Cependant, vous n'aurez pas besoin de l'itinéraire sur enp0s3, car les "adresses" contiennent déjà le même sous-réseau / 24 que celui qui serait utilisé pour accéder à 192.168.56.1. Alternativement, définissez votre propre itinéraire partout où vous le faites.
Mathieu Trudel-Lapierre

12

Pour moi, la suppression gateway4de la configuration a fait l'affaire. Une fois configuré, je ne pouvais pas non plus envoyer une requête ping à Internet.

Voici ma configuration netPlan si elle peut aider les autres.

Remarque: enp0s3 est pour ssh via la redirection de port et enp0s8 pour ip statique

network:
    ethernets:
        enp0s3:
            addresses: []
            dhcp4: true
            optional: true
        enp0s8:
            addresses: [192.168.10.20/24]
            dhcp4: no
            dhcp6: no
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
    version: 2

3
Oui, la suppression de la ligne gateway4 est la seule chose qui a fonctionné pour moi.
furman87

Supprimer le gateway4 qui fonctionne pour moi
Albert Hidalgo

0

En tant que note, alors que je luttais avec cela et VMware Fusion ... Si vous avez une valeur 'gateway4' spécifiée, cela supposera que par défaut pour l'interface, et il ne semble pas respecter l'option 'métrique' ou avoir plusieurs fichiers .yaml avec une séquence de numérotation (01-netplan.yaml, 02-netplan.yaml, etc ...) dans mon cas 02 a fini par être le `` premier par défaut '', mais c'est mon réseau interne donc Internet public était inaccessible.


Salut Mike - bienvenue à askubuntu. Ce serait mieux comme un commentaire sous la question. Vous devez y déplacer le texte et le supprimer car il n'est pas destiné à "répondre" à la question.
dpb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.