Configuración de netplan en la máquina virtual Ubuntu 17.04

13

Estoy ejecutando VirtualBox con 2 adaptadores de red: NAT estándar (enp0s3) y un adaptador solo de host (enp0s8). Utilizo el NAT para acceder a Internet y el Adaptador solo de host a SSH desde mi máquina local.

La caja se inicia con ambos adaptadores habilitados, ambos tienen direcciones IP, todo se ve bien.

ifconfig-output

Puedo SSH en este cuadro sobre el adaptador de solo host, no hay problemas allí. Pero no puedo conectarme a Internet. Sin embargo, si deshabilito el adaptador de solo host, entonces puedo acceder a Internet (pero obviamente ya no puedo usar SSH en él a través del túnel local).

salida de consola

Y finalmente, aquí está mi configuración 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

¿Algunas ideas? Parece que tal vez todo mi tráfico saliente se enruta a través del adaptador solo de host de alguna manera.

Editar: adjuntando la salida de ip route listen caso de que ayude.

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
holajason
fuente
Olvídalo, no pude entender netplan, así que formateé e instalé Ubuntu 16 en su lugar.
hellojason

Respuestas:

12

Encontré este problema haciendo exactamente lo mismo esta tarde. De alguna manera logró resolverlo y netplan finalmente creó solo 1 ruta predeterminada a través de la interfaz NAT de mi VM. En mi caso, ambas IP fueron 192.168.56.101 (solo host) y 10.0.3.x / 24 (NAT dhcp4). Estoy usando este archivo 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 esto, solo tengo una ruta predeterminada, y está usando el NAT para que pueda llegar a Internet a través de mi host.

Salida 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
alfonso.ss
fuente
2
¡Gran respuesta! De hecho, debe configurar su propia ruta en este caso. Si ambos dispositivos incluyen una "puerta de enlace predeterminada" (es decir, especifican "dhcp4" o "dhcp6", o establecen "puerta de enlace 4"), el sistema configurará ambos dispositivos con una puerta de enlace predeterminada con la misma métrica. Sin embargo, no necesitará la ruta en enp0s3, ya que las "direcciones" ya contienen la misma subred / 24 que la que se usaría para acceder a 192.168.56.1. Alternativamente, configure su propia ruta en todas partes como lo está haciendo.
Mathieu Trudel-Lapierre
12

Para mí, eliminar gateway4de la configuración hizo el truco. Con esto configurado tampoco pude hacer ping a internet.

Aquí está mi configuración de netPlan si puede ayudar a otros.

Nota: enp0s3 es para ssh a través del reenvío de puertos y enp0s8 para ip estática

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
fuente
3
Sí, eliminar la línea gateway4 fue lo único que funcionó para mí.
furman87
Eliminar la puerta de enlace4 trabajando para mí
Albert Hidalgo
0

Como nota, mientras estaba luchando con esto y VMware Fusion ... Si tiene algún valor 'gateway4' especificado, asumirá que es el valor predeterminado para la interfaz, y no parece respetar la opción 'métrica' o tener múltiples archivos .yaml con una secuencia de numeración (01-netplan.yaml, 02-netplan.yaml, etc.) en mi caso 02 terminó siendo el 'primer valor predeterminado', pero esa es mi red interna, por lo que Internet público era inalcanzable.

Mike Roy
fuente
Hola Mike, bienvenido a askubuntu. Esto sería mejor como un comentario bajo la pregunta. Debe mover el texto allí y simplemente eliminarlo, ya que no está destinado a "responder" la pregunta.
dpb