configurazione netplan sulla macchina virtuale Ubuntu 17.04


13

Sto eseguendo VirtualBox con 2 adattatori di rete: NAT standard (enp0s3) e un adattatore solo host (enp0s8). Uso il NAT per accedere a Internet e all'adattatore solo host per SSH dal mio computer locale.

La confezione si avvia con entrambi gli adattatori abilitati, entrambi hanno indirizzi IP, tutto sembra a posto.

ifconfig-output

Posso inserire SSH in questa casella tramite l'adattatore solo host, senza problemi. Ma non riesco a collegarmi a Internet. Tuttavia, se disabilito l'adattatore solo host, posso accedere a Internet (ma ovviamente non posso più accedere a SSH tramite il tunnel locale).

console-output

E infine, ecco il mio netplan yaml config:

# 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

Qualche idea? Sembra che forse tutto il mio traffico in uscita stia in qualche modo instradando attraverso l'adattatore solo host.

Modifica: allegare l'output di ip route listnel caso in cui aiuti.

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

Dimentica, non sono riuscito a capire netplan, quindi ho formattato e installato Ubuntu 16.
ciaojason,

Risposte:


12

Ho trovato questo problema facendo esattamente la stessa cosa oggi pomeriggio. In qualche modo è riuscito a capirlo e finalmente netplan ha creato solo 1 route predefinita attraverso l'interfaccia NAT della mia VM. Nel mio caso, entrambi gli IP erano 192.168.56.101 (solo host) e 10.0.3.x / 24 (NAT dhcp4). Sto usando questo file 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

Con questo ho solo un percorso predefinito e sta usando il NAT in modo che possa raggiungere Internet tramite il mio host.

Uscita di 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
Bella risposta! In questo caso è necessario impostare il proprio routing. Se entrambi i dispositivi includono un "gateway predefinito" (ovvero specificano "dhcp4" o "dhcp6" o impostano "gateway4"), il sistema imposterà entrambi i dispositivi con un gateway predefinito con la stessa metrica. Tuttavia, non sarà necessario il percorso su enp0s3, poiché gli "indirizzi" contengono già la stessa sottorete / 24 di quella che verrebbe utilizzata per accedere a 192.168.56.1. In alternativa, imposta il tuo percorso ovunque mentre stai facendo.
Mathieu Trudel-Lapierre,

12

Per me la rimozione gateway4dalla configurazione ha fatto il trucco. Con esso configurato, non sono stato in grado di eseguire il ping di Internet.

Ecco la mia configurazione di netPlan se può aiutare gli altri.

Nota: enp0s3 è per ssh tramite port forwarding e enp0s8 per ip statico

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
Sì, rimuovere la linea gateway4 è l'unica cosa che ha funzionato per me.
furman87

Rimuovi gateway4 che funziona per me
Albert Hidalgo,

0

Come nota, mentre stavo lottando con questo e VMware Fusion ... Se hai specificato un valore "gateway4", supporrà che sia predefinito per l'interfaccia e non sembra rispettare l'opzione "metrica" ​​o avere più file .yaml con una sequenza di numerazione (01-netplan.yaml, 02-netplan.yaml, ecc ...) nel mio caso 02 ha finito per essere il "primo predefinito", ma quella è la mia rete interna, quindi Internet pubblico era irraggiungibile.


Ciao Mike, benvenuto su Askubuntu. Questo sarebbe meglio come un commento sotto la domanda. Dovresti spostare lì il testo ed eliminarlo perché non è destinato a "rispondere" alla domanda.
dpb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.