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


13

Я запускаю VirtualBox з двома мережевими адаптерами: стандартним NAT (enp0s3) та адаптером, призначеним лише для хоста (enp0s8). Я використовую NAT для доступу до Інтернету та адаптера, призначеного лише для господарів до SSH, з моєї локальної машини.

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

ifconfig-вихід

Я можу SSH у цю скриньку через єдиний хост-адаптер, проблем там немає. Але я не можу з цим потрапити в Інтернет. Однак, якщо я відключу лише адаптер, що приймає хост, я можу отримати доступ до Інтернету (але очевидно, я більше не можу SSH в нього над локальним тунелем).

консольно-вихідний

І нарешті, ось мій конфігурація yaml netplan:

# 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

Забудьте про це, я не міг з'ясувати netplan, тому я відформатував і встановив натомість Ubuntu 16.
hellojason

Відповіді:


12

Я виявив, що ця проблема робить саме те ж саме сьогодні вдень. Якось вдалося це зрозуміти, і netplan нарешті створив лише 1 маршрут за замовчуванням через NAT-інтерфейс моєї VM. У моєму випадку обидва 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

2
Чудова відповідь! Вам дійсно потрібно налаштувати власну маршрутизацію в цьому випадку. Якщо обидва пристрої містять "шлюз за замовчуванням" (тобто вони задають "dhcp4" або "dhcp6", або встановлюють "gateway4"), тоді система встановить обидва пристрої з шлюзом за замовчуванням з однаковою метрикою. Маршрут на enp0s3 вам не знадобиться, оскільки "адреси" вже містять ту ж / 24 підмережу, що і та, яка використовувалася б для доступу до 192.168.56.1. Крім того, встановіть власну маршрутизацію скрізь, як ви робите.
Матьє Трудель-Лап'єр

12

Для мене видалення 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

3
Так, видалення лінії gateway4 - єдине, що працювало для мене.
furman87

Видаліть шлюз4, який працює для мене
Альберт Ідальго

0

Як зауваження, поки я боровся з цим і VMware Fusion ... Якщо у вас вказане якесь значення "gateway4", воно вважатиметься, що це інтерфейс за замовчуванням, і він, схоже, не поважає параметр "метрика" або маючи кілька файлів .yaml з послідовністю нумерації (01-netplan.yaml, 02-netplan.yaml тощо) у моєму випадку 02 виявився "першим за замовчуванням", але це моя внутрішня мережа, тому публічний Інтернет був недосяжні.


Привіт Майку - ласкаво просимо на askubuntu. Це було б краще як коментар під питанням. Ви повинні перемістити текст туди і просто видалити його, оскільки він не призначений для "відповіді" на питання.
dpb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.