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

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

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

ifconfig-output

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

console-output

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

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

Править: присоединение вывода 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
14
задан 11 April 2018 в 06:27

4 ответа

Сегодня днем ​​я обнаружил, что эта проблема делает то же самое. Каким-то образом удалось это выяснить, и 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
12
ответ дан 11 April 2018 в 06:27

Для меня удаление gateway4 из конфигурации помогло. Когда он настроен, я также не смог проверить связь с Интернетом.

Вот моя конфигурация netPlan, если она может помочь другим.

Примечание: enp0s3 предназначен для ssh через переадресацию портов, а enp0s8 - для статического 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
14
ответ дан 11 April 2018 в 06:27

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

0
ответ дан 11 April 2018 в 06:27

Просто чтобы попытаться помочь людям. Мне удалось настроить Ubuntu Server 18.04 на машине vmware с адаптером NAT для выхода в Интернет и адаптером только для хоста, чтобы другие мои виртуальные машины (Kali, Metasploitable) также могли его видеть. Я использовал файл конфигурации netplan. Код yaml, который работал у меня, был следующим:

network:
    renderer: networkd
    ethernets:
        ens38:
            dhcp4: yes
            dhcp6: yes
        ens33:
            dhcp4: no
            addresses:
            - 10.10.10.4/8
            nameservers:
                addresses:
                - 8.8.8.8
                search:
                - 10.0.0.1
    version: 2

Я разместил это, чтобы показать, что вам не нужна маршрутизация. Сначала я добавил конфигурацию для ens33, которая была моим адаптером только для хоста, а затем, как это сделал OP, я столкнулся с проблемой при попытке пинговать Интернет. Итак, все, что я сделал на этом этапе, - это добавил адаптер NAT под Ethernet, и я добавил значения dhcpX yes, а затем я смог выполнить пинг как в Интернете, так и в других моих виртуальных машинах!

0
ответ дан 5 January 2021 в 22:17

Другие вопросы по тегам:

Похожие вопросы: