Netplan-Konfiguration auf der virtuellen Maschine mit Ubuntu 17.04

12

Ich verwende VirtualBox mit zwei Netzwerkadaptern: Standard-NAT (enp0s3) und einem Host-only-Adapter (enp0s8). Ich verwende NAT, um von meinem lokalen Computer aus auf das Internet und den Host-only-Adapter für SSH zuzugreifen.

Die Box startet mit beiden Adaptern, beide haben IP-Adressen, alles sieht gut aus.

ifconfig-Ausgabe

Ich kann in diese Box über den Host-Only-Adapter SSH, dort keine Probleme. Aber damit komme ich nicht ins Internet. Wenn ich jedoch den Host-Only-Adapter deaktiviere, kann ich auf das Internet zugreifen (aber offensichtlich kann ich nicht mehr über den lokalen Tunnel SSH-Verbindungen herstellen).

Konsolenausgabe

Und zum Schluss ist hier meine Netplan Yaml Konfiguration:

# 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

Irgendwelche Ideen? Es scheint, als ob mein gesamter ausgehender Datenverkehr irgendwie über den Host-Only-Adapter geleitet wird.

Bearbeiten: Anhängen der Ausgabe von, ip route listfalls es hilft.

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
hallo jason
quelle
Vergiss es, ich konnte netplan nicht herausfinden und habe stattdessen Ubuntu 16 formatiert und installiert.
HalloJason

Antworten:

12

Ich fand dieses Problem heute Nachmittag genauso. Irgendwie gelang es mir, das herauszufinden und netplan erstellte schließlich nur eine Standardroute über die NAT-Schnittstelle meiner VM. In meinem Fall waren beide IPs 192.168.56.101 (nur Host) und 10.0.3.x / 24 (NAT dhcp4). Ich benutze diese Netplan-Datei:

    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

Damit habe ich nur eine Standardroute und benutze die NAT, um über meinen Host ins Internet zu gelangen.

Ausgabe von 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
alfonso.ss
quelle
2
Gute Antwort! In diesem Fall müssen Sie in der Tat Ihr eigenes Routing einrichten. Wenn beide Geräte ein "Standard-Gateway" enthalten (dh "dhcp4" oder "dhcp6" angeben oder "gateway4" festlegen), richtet das System beide Geräte mit einem Standard-Gateway mit derselben Metrik ein. Sie brauchen die Route auf enp0s3 jedoch nicht, da die "Adressen" bereits dasselbe / 24-Subnetz enthalten, das für den Zugriff auf 192.168.56.1 verwendet werden würde. Alternativ können Sie Ihr eigenes Routing so einstellen, wie Sie es gerade tun.
Mathieu Trudel-Lapierre
11

Für mich hat das Entfernen gateway4aus der Konfiguration den Trick gemacht. Mit dieser Konfiguration konnte ich auch kein Ping-Signal senden.

Hier ist meine NetPlan-Konfiguration, wenn sie anderen helfen kann.

Hinweis: enp0s3 ist für SSH über Portweiterleitung und enp0s8 für statische IP

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
Ahsan.Amin
quelle
2
Ja, das Entfernen der Gateway4-Leitung war das einzige, was bei mir funktioniert hat.
Furman87
0

Als Hinweis, während ich mit dieser und VMware Fusion zu kämpfen hatte ... Wenn Sie einen 'gateway4'-Wert angegeben haben, wird dieser als Standard für die Schnittstelle angenommen und die Option' metric 'oder scheint nicht zu respektieren In meinem Fall waren mehrere .yaml-Dateien mit einer Nummerierungsfolge (01-netplan.yaml, 02-netplan.yaml usw.) der erste Standardwert, aber das ist mein internes Netzwerk nicht erreichbar.

Mike Roy
quelle
Hallo Mike - willkommen bei askubuntu. Dies wäre besser als Kommentar unter der Frage. Sie sollten den Text dorthin verschieben und einfach löschen, da er die Frage nicht "beantworten" soll.
DPB