Как мне перезагрузить сеть на 18.04 с помощью netplan?

Вопрос или проблема

Я пытаюсь сделать некоторые вещи с Docker на 18.04 Bionic Beaver (серверная версия!), что требует отключения DNS-резолвера

sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service

Поскольку все обычные сетевые инструменты, похоже, недоступны, мне показали в сторону netplan, в частности cat /etc/netplan/*.yaml, что вернуло

# Этот файл сгенерирован на основе информации, предоставленной
# источником данных. Изменения в нём не сохранятся после перезапуска.
# Чтобы отключить возможности конфигурации сети cloud-init, создайте файл
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg со следующим содержимым:
# network: {config: disabled}
network:
    ethernets:
        enp0s3:
            addresses: []
            dhcp4: true
    version: 2

Итак, будучи овцой в стаде, я создал /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg и заполнил его network: {config: disabled}. Я хотел перезапустить сеть, и предложение, которое я постоянно находил, было

sudo netplan apply

что вернуло:

sudo: не удается разрешить хост generic: Временный ресурс недоступен

где моё имя хоста generic. Я предполагаю, что это из-за того, что я отключил разрешение? Но, похоже, я вернулся к своей исходной проблеме, потому что я следую этому руководству, которое говорит, что нужно добавить dns=default в NetworkManager.config. Я предполагаю, что я должен добавить что-то подобное для BB, но не знаю, куда это поместить.

Добавьте renderer: networkd в конфигурационный файл:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Ответ или решение

Чтобы перезапустить сетевое соединение в Ubuntu 18.04 с использованием Netplan, выполните следующие шаги. Учитывая, что вы уже останавливаете и отключаете systemd-resolved для требований Docker, вам необходимо внести изменения в конфигурацию сети, а затем перезапустить её.

Шаг 1: Настройка Netplan

  1. Проверьте текущую конфигурацию Netplan. Для этого выполните команду:

    cat /etc/netplan/*.yaml

    Вы уже видели вывод, который говорит, что используется DHCP и что конфигурация поступает от cloud-init.

  2. Отключите cloud-init от управления сетью. Вы правильно создали файл:

    sudo touch /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
    echo "network: {config: disabled}" | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
  3. Измените конфигурацию сети с помощью Netplan. Вам нужно добавить renderer: networkd для управления сетевыми настройками через Netplan. Откройте файл конфигурации Netplan:

    sudo nano /etc/netplan/01-netcfg.yaml

    Если он отсутствует, вы можете создать новый. Ваш файл должен выглядеть примерно так:

    network:
     version: 2
     renderer: networkd
     ethernets:
       enp0s3:
         dhcp4: true

    Пожалуйста, убедитесь, что имя интерфейса (enp0s3) соответствует тому, что у вас в системе (вы можете проверить его с помощью ip link).

Шаг 2: Применение изменений

После внесения всех необходимых изменений сохраните файл и выйдите из редактора. Теперь примените изменения конфигурации Netplan:

sudo netplan apply

Шаг 3: Проверка сетевого состояния

Теперь вам нужно проверить, работает ли сеть корректно. Вы можете выполнить следующую команду, чтобы увидеть текущее состояние интерфейсов:

ip addr show

Шаг 4: Решение проблемы с разрешением имен

Если вы видите сообщение об ошибке, подобное sudo: unable to resolve host generic: Resource temporarily unavailable, это связано с тем, что hostname вашего сервера не может быть разрешен. Вам нужно убедиться, что файл /etc/hosts содержит запись для вашего hostname:

sudo nano /etc/hosts

Убедитесь, что строка с вашим hostname выглядит так:

127.0.0.1   localhost
127.0.1.1   generic

Замените generic на фактическое имя вашего хоста, если необходимо.

В заключение

Теперь ваша сеть должна работать корректно, и вы можете продолжать настраивать Docker. Если вам нужно добавить параметры DNS, вы можете сделать это в вашем конфигурационном файле Netplan следующим образом:

nameservers:
  addresses:
    - 8.8.8.8
    - 8.8.4.4

Добавьте эти строки под ethernets, чтобы установить DNS-серверы Google.

Не забывайте перезапускать услуги или перезагружать систему по мере необходимости, чтобы применить все изменения.

Оцените материал
Добавить комментарий

Капча загружается...