Конфигурация netplan на виртуальной машине Ubuntu 17.04

4

Я запускаю VirtualBox с двумя сетевыми адаптерами: стандартным NAT (enp0s3) и адаптером Host-only (enp0s8). Я использую NAT для доступа к Интернету и адаптеру Host-only к SSH с моей локальной машины.

Коробка загружается с включенными двумя адаптерами, у обоих есть IP-адреса, все выглядит хорошо.

Изображение: Ссылка

Я могу использовать SSH в этом поле над адаптером только для хоста, никаких проблем нет. Но я не могу попасть в интернет с ним. Однако, если я отключу адаптер только для хоста, я могу получить доступ к Интернету (но, очевидно, я больше не могу использовать SSH в локальном туннеле).

Изображение: Ссылка

И, наконец, вот мой 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

Любые идеи? Кажется, что, возможно, весь мой исходящий трафик каким-то образом маршрутизируется через адаптер только для хоста.

Изменить: добавление результата ip route list в случае, если это помогает.

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
    
задан hellojason 08.12.2017 в 18:31
источник

2 ответа

1

Я нашел эту проблему, делая то же самое сегодня днем. Как-то удалось разобраться, и netplan, наконец, создал только 1 маршрут по умолчанию через NAT-интерфейс моей виртуальной машины. В моем случае оба IP-адреса были 192.168.56.101 (только для хоста) и 10.0.3.x / 24 (NAT dhcp4). Я использую этот файл 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

С этим у меня есть только один маршрут по умолчанию, и он использует NAT, чтобы он мог добраться до Интернета через мой хост.

Выход 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 12.01.2018 в 01:45
0

В качестве примечания, в то время как я боролся с этим и VMware Fusion ... Если у вас есть какое-либо значение «gateway4», оно будет считать, что по умолчанию для интерфейса, и, похоже, это не соответствует метрике 'или с несколькими файлами .yaml с нумерационной последовательностью (01-netplan.yaml, 02-netplan.yaml и т. д.) в моем случае 02 оказался «первым дефолтом», но это моя внутренняя сеть, поэтому общественный Интернет был недоступен.     

ответ дан Mike Roy 23.02.2018 в 02:47