Настройка сети в Ubuntu: файл interfaces, Netplan и основные команды
Правильная настройка сети в Ubuntu — основа стабильной работы сервера или рабочей станции. Она обеспечивает надежное подключение к интернету, доступ к сетевым ресурсам и защиту от несанкционированного доступа. Грамотная конфигурация помогает избежать простоев и уязвимостей в безопасности.
В статье поговорим о том, как правильно настроить сеть через Netplan и interfaces, какие команды в этом помогут. А еще дадим несколько советов по безопасности и сохранению изменений.

Понимание сети в Ubuntu
Сетевая подсистема Ubuntu тесно интегрирована в операционную систему через набор демонов и конфигурационных файлов. Основные настройки содержатся в текстовых файлах, и к их хранению есть два подхода — через Netplan или файл /etc/network/interfaces:
Netplan — стандартный инструмент для настройки сети. Ее настройки содержатся в файле /etc/netplan/. Netplan работает как промежуточный слой: вы пишете понятный YAML-файл, а Netplan преобразует его в настройки для низкоуровневых демонов systemd-networkd или NetworkManager. Netplan используется в Ubuntu с версии 18.04.
Файл /etc/network/interfaces — это традиционный способ настройки сети в Debian и Ubuntu, который позволяет вручную задавать параметры сетевых интерфейсов. Понимание «старого» метода полезно для работы со старыми системами или для тонкой настройки.
Основные сетевые конфигурации в Ubuntu
Поговорим о том, как настроить в Netplan статический и динамический IP, а также в каких случаях какой из адресов выбрать.
Настройка динамического IP-адреса
Для большинства сетей, например, у вас дома или в офисе, подойдет динамическая конфигурация через DHCP.

DHCP — это сетевой сервис, который автоматически назначает устройствам в локальной сети IP-адреса и другие сетевые параметры: маска подсети, основной шлюз и DNS-серверы. Благодаря этому вам не надо настраивать каждый компьютер вручную, управлять сетью становится проще, а еще вы избегаете конфликтов IP-адресов.
Чтобы настроить сервер на использование DHCP для динамического назначения адресов, создайте конфигурацию Netplan в файле /etc/netplan/99_config.yaml. В примере ниже предполагается, что вы настраиваете свой первый интерфейс Ethernet, обозначенный как enp3s0.
Перейдите в директорию /etc/netplan/ и посмотрите, какой профиль у вас стоит. Тут рассмотрим пример конфигурации в /etc/netplan/01-netcfg.yaml:
Далее примените изменения:
Настройка статического IP-адреса
В отличие от динамического, статический IP не меняется при каждом подключении, а назначается один раз и остается неизменным. Это важно для устройств, к которым нужен постоянный доступ. Если IP такого устройства постоянно разный, подключиться к нему будет сложнее.

Статический IP назначают, например, для веб- или игровых серверов, удаленных устройств или в корпоративных сетях, чтобы повысить их безопасность. Вы сами задаете все сетевые параметры, что делает подключение более стабильным и предсказуемым.
Пример конфигурации статического IP:
Активируйте изменения:
Если вам больше не нужна эта конфигурация и вы хотите удалить ее из интерфейса, используйте команду ip с опцией flush:
Советуем изучить документацию Ubuntu, конкретно — раздел про конфигурацию сети
Также разработчики рекомендуют заглянуть в документацию Netplan, так как настройку сети в Ubuntu осуществляет именно этот инструмент визуализацииДиректория с сетевыми настройками интерфейса /etc/network/interfaces: структура и применение
Рассмотрим директорию /etc/network/interfaces, которая пригодится для работы со старыми дистрибутивами до версии Ubuntu 18.04. А еще это будет полезно, чтобы производить более тонкие настройки.
Обзор файла interfaces и базовые параметры
Файл /etc/network/interfaces описывает, как система подключается к сети. А команды ifup и ifdown используются, чтобы включать или выключать интерфейсы.
Основные структуры файла:
auto <имя_интерфейса> — интерфейс, который должен автоматически подниматься при загрузке системы.
allow-hotplug <имя_интерфейса> — поиск системой подключения и попытка поднять интерфейс, например, когда воткнули кабель.
iface <имя_интерфейса> <семейство_адресов> <метод> — определение логического интерфейса и его настроек.
Ключевые параметры для статической конфигурации:
address — IP-адрес устройства;
netmask — сетевая маска;
gateway — адрес шлюза по умолчанию;
dns-nameservers — адреса DNS-серверов;
broadcast — широковещательный адрес.
Настройка сети через файл interfaces
Перед тем, как редактировать файл конфигурации, определите имя сетевого интерфейса командами ip link или is /sys/class/net. Это поможет избежать частой ошибки при настройке сети — указания неправильного имени интерфейса в конфигурационных файлах.
Далее приводим примеры настройки сети через файл interfaces для разных сценариев.
Динамическое получение адреса (DHCP). Если ваш маршрутизатор автоматически раздает IP-адреса, настройка выглядит так:
Статическая настройка IP-адреса. Для серверов или устройств, которым нужен постоянный адрес, выполните:
Подключение к беспроводной сети (Wi-Fi). Укажите имя сети (SSID) и пароль.
Важно, чтобы был установлен пакет wpa_supplicant — он содержит программу-демон, которая отвечает за аутентификацию в защищенных Wi-Fi сетях (WPA/WPA2). Без wpasupplicant система не сможет обработать параметры wpa-ssid и wpa-psk в файле interfaces и при попытке подключения выдаст ошибку.
Чтобы проверить, установлен ли пакет, выполните:
Настройка нескольких IP-адресов. Назначьте несколько адресов одному интерфейсу через виртуальные интерфейсы (alias):
Чтобы изменения конфигурации вступили в силу, есть два способа — заново запустить конкретный интерфейс или перезапустить сетевую службу.
Управление сетевыми соединениями через командную строку
Расскажем о командах, с которыми вы решите большую часть проблем, возникающих с сетью. Для постоянных изменений используйте конфигурационные файлы Netlan и interfaces, а команду ip — для временных настроек и диагностики.
Основные команды для настройки и управления сетью
Ключевые команды для настройки сети, с которыми вы можете работать в Ubuntu через командную строку:
ip — замена устаревшему ifconfig. Позволяет просматривать и настраивать интерфейсы, маршруты, ARP-таблицы.
ifconfig — классическая утилита для настройки сетевых интерфейсов. В новых версиях Ubuntu по умолчанию ее может не быть.
netplan — инструмент для управления сетью в современных версиях Ubuntu через YAML-конфигурации.
systemctl — управление сетевыми службами и демонами.
ss — просмотр сетевых соединений и статистики, альтернатива netstat.
ping и traceroute — базовые инструменты диагностики подключения.
Примеры использования команд для различных задач
Покажем несколько примеров, как можно использовать описанные выше команды для настройки сети.
Посмотреть текущую конфигурацию:
Пример выполнения команды. Источник: documentation.ubuntu.com
Временно изменить сетевые настройки:
Диагностировать проблемы с сетью:
Управлять сетевыми службами:
Выполнить работу в файле interfaces:
Настройка DNS в Ubuntu
Настройки DNS определяют, как система преобразует доменные имена в IP-адреса. Правильная конфигурация DNS важна для быстрого доступа к сайтам и надежности сетевых подключений.
Настройка DNS в Netplan. Найдите конфиги в директории /etc/netplan/, у нужных вам файлов будет расширение .yaml (например, 01-netcfg.yaml).
Далее — выполните:
После того, как меняете конфигурацию, всегда применяйте изменения командой:
Упомянем важный момент: если в вашем Netplan-файле указан рендерер NetworkManager, что часто встречается в Ubuntu Desktop, то настройки DNS из Netplan могут игнорироваться. В этом случае управление переходит к NetworkManager.
Изменение DNS через файл interfaces. В /etc/network/interfaces укажите DNS-серверы, чтобы назначить статические IP-адреса:
После внесения изменений перезапустите сеть:
Есть еще несколько альтернативных методов настройки, например через resolvconf, systemd-resolved или NetworkManager. Рассказываем о каждом:
systemd-resolved — это системный демон, который управляет DNS-разрешением имен в современных Ubuntu. Он предоставляет дополнительные функции, такие как DNS-кеширование для ускорения работы, DNSSEC и DNS-over-TLS.
Для настройки DNS через systemd-resolved:
1. Отредактируйте файл /etc/systemd/resolved.conf:
2. После того, как сохраните изменения, перезапустите службу:
resolvconf — система для управления файлом /etc/resolv.conf из нескольких источников. Resolvconf полезна, если хотите, чтобы настройки DNS сохранялись после перезагрузки и не перезаписывались другими программами.
Для настройки DNS через resolvconf:
1. Установите пакет, если его еще нет:
2. Добавьте ваши DNS-серверы в файл /etc/resolvconf/resolv.conf.d/head:
3. Обновите конфигурацию:
Ваши настройки из файла head будут автоматически добавлены в начало генерируемого файла /etc/resolv.conf.
NetworkManager — стандартный набор инструментов для настройки сети в Linux. Настройка через него подойдет для десктопных версий.
Для настройки DNS через NetworkManager:
1. В графическом интерфейс[ИЕ5] [ЕК6] е: зайдите в Настройки сети, выберите ваше подключение, перейдите на вкладку IPv4/IPv6, отключите опцию Автоматический для DNS и укажите нужные адреса.
2. Через командную строку:
Практические советы и рекомендации
Случается, что сайты не открываются, соединение работает медленно и работа встает. А еще важно отследить, насколько безопасны настройки, не получит ли злоумышленник доступ к конфигурационным файлам, сохранятся ли все важные изменения. Рассказываем о простых командах, которые помогут решить эти проблемы.
Как понять, почему не получается подключиться к сети:
ping 8.8.8.8 проверит, есть ли вообще доступ в интернет. Если пинг проходит до IP-адреса, но сайты не открываются по своим доменным именам, проблема наверняка в DNS.
nslookup google.com покажет, правильно ли работают DNS-серверы. Если команда не возвращает IP-адрес, значит, система не может преобразовать доменное имя в адрес.
ip route get 8.8.8.8 отобразит маршрут, по которому пойдут ваши данные. Это поможет понять, через какой шлюз и интерфейс идет соединение.
Как проверить сетевые настройки и обеспечить их безопасность:
Ограничьте права доступа к конфигурационным файлам: chmod 600 /etc/network/interfaces. С такой настройкой изменять конфигурационный файл сможет только владелец (root). Это защитит файл от случайного повреждения или доступа злоумышленников.
Используйте надежные DNS-серверы, например 8.8.8.8 или 1.1.1.1. Они обеспечат правильное разрешение имен, защитят от фишинговых атак.
Регулярно обновляйте систему: sudo apt update && sudo apt upgrade. Это закроет уязвимости в сетевых компонентах системы, которыми пользуются хакеры.
Отключайте неиспользуемые сетевые интерфейсы. Так вы сократите поверхность для потенциальной атаки.
Настройте брандмауэр: sudo ufw enable, чтобы ограничить несанкционированный доступ к вашим службам.
Как работать с файлом interfaces:
Всегда создавайте резервную копию перед редактированием: sudo cp /etc/network/interfaces /etc/network/interfaces.backup. Так вы подстрахуетесь на случай, если случайно ошибетесь, и сможете быстро вернуться к последней рабочей версии.
Проверяйте синтаксис после изменений: sudo ifdown --exclude=lo -a && sudo ifup --exclude=lo -a. Так вы выявите ошибки еще до того, как примените изменения, быстро все исправите и не будете тратить время на восстановление сети.
Для временного отключения интерфейса используйте: sudo ifdown eth0. Полезно, когда хотите изменить конфигурацию и не перезагружать всю систему сразу.
Заключение
Настройка сети в Ubuntu — это фундаментальный навык, который обеспечивает стабильную и безопасную работу вашей системы. Мы рассмотрели основные подходы к конфигурации сети, от традиционного файла /etc/network/interfaces до современных инструментов командной строки.
Всегда проверяйте изменения на тестовой среде перед применением в рабочей систем, создавайте резервные копии конфигураций и будьте осторожны, когда меняете сетевые настройки через SSH.
