Как установить порядок поиска DNS в Ubuntu 18.04 с помощью NetPlan — CloudSavvy IT

1 min


Ubuntu логотип.

До Ubuntu 18.04 DNS-серверы традиционно настраивались с использованием /etc/resolv.conf Файл конфигурации. В течение долгого времени этот файл позволял быструю и простую настройку DNS-серверов имен, как это видно на примере resolv.conf файл ниже.

nameserver 1.1.1.1
nameserver 1.0.0.1

Начиная с Ubuntu 18.04, сетевыми настройками, включая серверы имен, теперь можно управлять через NetPlan интерфейс. Даже до 18.04 вам все еще разрешалось вносить изменения в оригинал resolv.conf, но этот файл фактически контролировался NetworkManager и его файлами конфигурации, обычно расположенными в /etc/network/interfaces каталог.

Итак, что побудило это изменение к использованию нового интерфейса NetPlan? Простота и гибкость. Использование удобочитаемого файла YAML значительно упрощает настройку сложных сетевых конфигураций. Кроме того, отладка выполняется быстрее, а ошибки легче отслеживать.

Изменение серверов имен в NetPlan

С этим изменением интерфейсов, как мы фактически обновляем серверы имен для системы Ubuntu 18.04? Вместо того, чтобы использовать /etc/resolv.conf, перейдите к /etc/netplanи вы можете найти серию *.yaml файлы там. Если он еще не определен, вы должны создать его в рекомендуемом формате именования: ##-name.yaml, Такие как 01-netconfig.yaml, NetPlan загрузит эти файлы в следующем порядке приоритета каталогов, а затем в предыдущем порядке номеров.

  • /run/netplan/*.yaml
  • /etc/netplan/*.yaml
  • /lib/netplan/*.yaml

Найти существующую конфигурацию IP

Перед изменением конфигурации сети NetPlan целесообразно узнать, какова существующая конфигурация интерфейса. Сам NetPlan не отслеживает активный статус, вместо этого мы используем ip Команда для отображения этого.

user> ip a

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

Вывод существующей конфигурации интерфейса.

В этой конфигурации вы найдете ваши активные интерфейсы. В этом случае мы ищем eth0 конфигурация для целей этого урока.

Обновление конфигурации

Либо выберите существующий файл YAML для редактирования, либо создайте новый и добавьте следующую конфигурацию, измененную по мере необходимости для вашей конфигурации.

Эта конфигурация предполагает, что вы используете статический IP и eth0 ваш основной интерфейс, как вы узнали из вышеизложенного ip a команда.

network:
  version: 2
  ethernets:
    eth0:
			addresses:
        - 10.10.10.2/24
        gateway4: 10.10.10.1
      nameservers:
        addresses:
        - 1.1.1.1
        - 1.0.0.1
        - 2606:4700:4700::1111
        - 2606:4700:4700::1001
        search: []

Используемые здесь серверы имен являются общедоступными серверами имен Cloudflare, но используйте те, которые лучше всего подходят вам. Включены также преобразователи IPv6.

Если вы хотите использовать DHCP, вы можете заменить статическую конфигурацию IP на dhcp4: yes под eth0 раздел.

Кроме того, если вы используете DHCP, вам необходимо установить переопределение для серверов имен.

dhcp4-overrides:
	use-dns: false

Вы можете заметить, что адреса перечислены в списке под addresses но возможно также определить эти адреса в конфигурации массива.

addresses: [1.1.1.1, 1.0.0.1, "2606:4700:4700::1111", "2606:4700:4700::1001"]

Renderers

В некоторых конфигурациях вы можете увидеть renderer Конфигурация в списке. Есть два доступных типа: NetworkManager и networkd, По умолчанию, networkd используется. Разница в том, что NetworkManager менеджер GUI, используемый Ubuntu, тогда как networkd используется Systemd, Нет необходимости определять это, так как конфигурация по умолчанию должна работать в большинстве случаев.

Тестирование изменения NameServer

После того, как файл конфигурации был создан, выполните следующую команду, чтобы временно попробовать новые параметры и вернуться к ним в случае неправильной конфигурации.

sudo netplan попробуй
Экран показывается при попытке запуска новых настроек.

В случае сбоя конфигурация автоматически вернется через 120 секунд. Вы можете открыть вторую оболочку, чтобы протестировать любые конфигурации, пока они применяются. Если настройки работают должным образом, вы можете нажать Enter, чтобы сохранить эти настройки или вернуться, если они не работают. Это позволяет вам изменять конфигурации, пока они не будут работать.

Применение изменений

Наконец, убедившись, что изменения являются точными, изменения должны быть применены. Для этого запустите netplan apply команда, как так.

sudo netplan apply

Если интерфейс просто переключает серверы имен, перезагрузка обычно не требуется. Если внесены более значительные изменения конфигурации, может потребоваться перезагрузка системы, чтобы эти изменения вступили в силу.

Доведение интерфейсов вверх и вниз

Ранее, ifconfig был использован для переноса интерфейса вверх и вниз. Как уже отмечалось ранее, ip команда занимает место ifconfig, В приведенном ниже примере eth0 сбит, а затем обратно.

ip link set eth0 down
ip link set eth0 up

Если eth0 Это ваш единственный интерфейс, будьте осторожны, чтобы не отключить интерфейс без возможности удаленного подключения к системе.

Отладка NetPlan

Что происходит, когда конфигурация идет не так? Есть несколько способов изучить конфигурацию NetPlan и выяснить, где мог произойти сбой. Один из способов определить, активно ли применялась правильная конфигурация, — это проверить файлы конфигурации, созданные в /run/systemd/network, Например, вы можете перейти к этому каталогу и найти соответствующий *.network файл конфигурации, затем убедитесь, что конфигурация соответствует ожидаемой.

Дополнительная команда, которая хорошо работает для проверки правильности созданного конфига, заключается в использовании следующего:

sudo netplan --debug generate

Имейте в виду, что следующий снимок экрана может отличаться в зависимости от вашей конфигурации.

Экран проверки правильности созданного конфига.

Вывод

NetPlan — это большое изменение в существующих сетях Ubuntu, но оно предназначено для упрощения и создания более гибких конфигураций. Используя комбинацию существующих команд и новых NetPlan, мы можем быстро создавать и применять сложные сетевые конфигурации.

С введением конфигурации на основе YAML и обновленных возможностей через ip Команда, это проще, чем когда-либо создавать сложные конфигурации для обработки даже самых уникальных ситуаций.


0 Comments

Ваш адрес email не будет опубликован. Обязательные поля помечены *