Гид по технологиям

Сетевые настройки Ubuntu Server: руководство по интерфейсам, IP, DNS и мостам

8 min read Сети Обновлено 07 Apr 2026
Сетевые настройки Ubuntu Server — интерфейсы, IP, DNS
Сетевые настройки Ubuntu Server — интерфейсы, IP, DNS

Введение

Ubuntu Server предоставляет набор утилит для настройки сети. Тем не менее, администратору важно уметь работать прямо из командной строки: просматривать и переименовывать интерфейсы, назначать IP (временно и постоянно), настраивать DNS, создавать мосты для виртуальных машин и отлаживать проблему с разрешением имён.

Определения в одну строку:

  • Ethernet-интерфейс — аппаратный или логический интерфейс сети (например, eth0, enp0s3).
  • DHCP — протокол динамической выдачи IP-адресов.
  • Netplan — YAML-ориентированный инструмент для конфигурации сети в новых версиях Ubuntu.
  • Bridge — сетевой мост, позволяющий виртуальным машинам работать как на внешней сети.

Важно: команды, такие как ip и ifconfig, часто применяют временные изменения, которые пропадают после перезагрузки, если не внести их в конфигурационные файлы.


Управление Ethernet-интерфейсами в Ubuntu

Эфирнет-интерфейс — это сетевой контроллер с портом Ethernet. Раньше традиционные имена были eth0, eth1 и т. д., но современные версии Ubuntu используют предсказуемые имена (например, enp3s0). Какой бы подход ни использовался, нужно уметь обнаруживать интерфейсы, их MAC и связанный драйвер.

Просмотр доступных интерфейсов

Самый простой способ — использовать ifconfig (не всегда установлен по умолчанию) или ip:

ifconfig -a | grep eth

# Output
eth0: flags=4098 mtu 1500

Альтернатива — более современная утилита ip:

ip link show

Для детальной информации об аппаратных свойствах и драйверах используйте lshw:

sudo lshw -class network

Сводка сетевых контроллеров с lshw: список устройств, их шины и драйверы

Логические имена интерфейсов и udev

Если требуется закрепить определённые логические имена за физическими адаптерами (по MAC), можно настроить правила udev. В старых системах использовался файл:

/etc/udev/rules.d/70-persistent-net.rules

В этом файле ищите строку, соответствующую MAC-адресу и меняйте NAME=ethA на желаемое имя интерфейса. После изменений перезагрузите систему.

Совет: в современных дистрибутивах systemd/udev и предсказуемые имена делает это чаще ненужным. Но в окружениях с устаревшим ПО или особой топологией сети правила udev остаются полезны.


Конфигурация Ethernet-интерфейса в Ubuntu 18.04 и ранее

В старых релизах инфраструктура сети преимущественно опиралась на /etc/network/interfaces и утилиты ifup/ifdown.

Просмотр и настройка скоростей и режима duplекс

ethtool показывает авто-скоординирование (auto-negotiation), duplex и скорость порта.

sudo apt install ethtool
sudo ethtool eth0

Пример вывода ethtool для eth0: параметры link, speed, duplex

Изменения через ethtool временные. Чтобы зафиксировать параметры, добавьте соответствующую команду в скрипт запуска или в конфигурацию /etc/network/interfaces. Пример постоянной конфигурации (фрагмент):

auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    pre-up /sbin/ethtool -s eth0 speed 1000 duplex full autoneg on

Фрагмент /etc/network/interfaces с pre-up ethtool для eth0

Примечание: пример выше показывает, как применять ethtool при поднятии интерфейса. pre-up/ post-down блоки выполняются при ifup/ifdown.


Конфигурация Ethernet-интерфейса в Ubuntu 20.04 и новее (Netplan)

Начиная с Ubuntu 18.04/20.04 netplan стал стандартом. Netplan использует YAML и генерирует конфигурацию для NetworkManager или systemd-networkd.

Шаги для статической конфигурации:

  1. Просмотрите файлы в /etc/netplan:
ls /etc/netplan

# Output
00-installer-config.yaml
  1. Создайте резервную копию перед изменением:
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.copy
  1. Отредактируйте файл в любом текстовом редакторе:
sudo vim /etc/netplan/00-installer-config.yaml
  1. Пример простого статического конфига в YAML:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]
          search: [example.com]

Пример yaml-файла netplan с настройкой static IP и nameservers

  1. Примените изменения:
sudo netplan apply
  1. Проверьте текущие адреса:
ip addr

Проверка интерфейсов и IP после применения netplan

Подсказка: если netplan выдаёт ошибки синтаксиса, используйте sudo netplan try — она применяет конфигурацию временно и откатывает её, если не подтвердить.


IP-адресация на Ubuntu: временные и постоянные методы

Существует два подхода:

  • Временные: ip, ifconfig, route — применяются немедленно, но не переживут перезагрузку.
  • Постоянные: правка netplan или /etc/network/interfaces, systemd-networkd или NetworkManager.

Временные изменения с ip/ifconfig

Пример временной настройки адреса через ifconfig:

ifconfig eth0 192.168.1.50 netmask 255.255.255.0 up

Аналог через ip:

sudo ip addr add 192.168.1.50/24 dev eth0
sudo ip link set dev eth0 up

Чтобы удалить временный адрес:

sudo ip addr flush dev eth0

Установка маршрута по умолчанию

Через route (устарело) или ip:

route add default gw 10.0.0.1 eth0
route -n

Современный эквивалент:

sudo ip route add default via 10.0.0.1 dev eth0
sudo ip route show

Вывод route -n с таблицей маршрутизации

Настройка DNS временно и постоянно

Для временной работы можно редактировать /etc/resolv.conf напрямую, но многие системы используют resolvconf или systemd-resolved, и прямое редактирование перезапишут. Пример временной записи:

# vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

Если используется resolvconf, /etc/resolv.conf обычно является символической ссылкой на /run/resolvconf/resolv.conf или на systemd-resolved. Узнать состояние можно командой systemctl status systemd-resolved.


Динамическое получение IP (DHCP)

Для включения DHCP в /etc/network/interfaces (старые релизы):

auto eth0
iface eth0 inet dhcp

Поднятие интерфейса вручную запускает dhclient:

sudo ifup eth0
sudo ifdown eth0

В netplan для DHCP:

ethernets:
  eth0:
    dhcp4: yes

Статическая IP-настройка

Примеры приведены выше: в старых системах — /etc/network/interfaces; в новых — /etc/netplan/*.yaml. После изменения netplan всегда выполняйте sudo netplan apply.


Конфигурация loopback-интерфейса

Loopback (lo) отвечает за локальные обращения (127.0.0.1). Он поднимается автоматически благодаря строкам в /etc/network/interfaces:

auto lo
iface lo inet loopback
ifconfig lo

Вывод ifconfig для lo: loopback-интерфейс с адресом 127.0.0.1


Разрешение имён (Name Resolution)

Разрешение имён переводит хостнеймы в IP-адреса. На Ubuntu это комбинация нескольких механизмов: /etc/hosts, systemd-resolved, resolvconf и порядок, заданный в /etc/nsswitch.conf.

Настройка DNS-клиента

Если система использует resolvconf, /etc/resolv.conf чаще всего является ссылкой на /run/resolvconf/resolv.conf.

/etc/resolv.conf -> ../run/resolvconf/resolv.conf

Для статической конфигурации DNS через /etc/network/interfaces (старые релизы) добавьте dns-nameservers и dns-search:

iface eth0 inet static
    address 192.168.2.2
    netmask 255.255.255.0
    gateway 192.168.2.1
    dns-search test.com market.test.com support.test.com
    dns-nameservers 192.168.2.25 192.168.8.11

Порядок поиска доменов (search) влияет на разрешение незавершённых имён при обращении по FQDN или короткому имени.

Статические записи в /etc/hosts

Записи в /etc/hosts имеют приоритет перед DNS-запросами. Пример файла:

127.0.0.1 localhost
127.0.1.1 muo-server
10.0.0.11 server1 server1.test.com vpn
10.0.0.12 server2 server2.test.com mail
10.0.0.13 server3 server3.test.com www

Используйте /etc/hosts для локальной отладки сервисов или когда DNS недоступен.

NSS и /etc/nsswitch.conf

Файл /etc/nsswitch.conf задаёт порядок, в котором система ищет соответствие имени и записи:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Разбор означенных терминов:

  • files — сначала смотрим /etc/hosts
  • mdns4_minimal — Multicast DNS (локальная сеть)
  • [NOTFOUND=return] — если mdns вернул NOTFOUND, прекращаем дальнейший поиск
  • dns — традиционный unicast DNS
  • mdns4 — ещё один вариант Multicast DNS

Можно менять порядок для соответствия требованиям сети:

hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4

Мосты (Bridging) в Ubuntu

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

Установка и базовая настройка:

sudo apt install bridge-utils

В старых системах в /etc/network/interfaces можно создать bridge br0, привязать к нему физический интерфейс и задать IP для br0. В netplan мост настраивается через секцию bridges:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0: {}
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.20/24]
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8]

После конфигурации поднимите мост командой:

sudo ifup br0

Фрагмент /etc/network/interfaces с конфигурацией bridge br0

Подсказка: виртуализация (KVM/libvirt) обычно создаёт свои мосты или настраивает бриджинг автоматически — проверьте политики libvirt и netplan/systemd-networkd.


Быстрые команды и шпаргалка (Cheat Sheet)

  • Просмотр интерфейсов: ip addr, ip link, ifconfig -a
  • Просмотр маршрутов: ip route show, route -n
  • Добавить временный адрес: sudo ip addr add 192.168.1.50/24 dev eth0
  • Удалить адрес: sudo ip addr flush dev eth0
  • Поднять/опустить интерфейс: sudo ip link set dev eth0 up|down
  • Применить netplan: sudo netplan apply
  • Включить DHCP в netplan: dhcp4: yes
  • Проверить DNS: systemd-resolve --status или resolvectl status
  • Посмотреть текущий трафик (интерфейс): sudo ethtool -S eth0 или sudo iftop -i eth0

Мини-методология для изменений в продакшне

  1. Оценка: зафиксируйте текущие настройки (ip addr, ip route, cat /etc/netplan/*, cat /etc/network/interfaces).
  2. Бэкап: сделайте резервные копии конфигов (/etc/netplan/, /etc/network/interfaces, /etc/hosts, /etc/resolv.conf).
  3. Тест: применяйте изменения в тестовой среде или используйте sudo netplan try.
  4. Применение: выполняйте изменения в «окне обслуживания» с планом отката.
  5. Мониторинг: проверяйте доступность сервисов и маршрутов в течение 30–60 минут.

Ролевые чек-листы для команды

Администратор сети:

  • Проверить физические подключения и LED индикаторы.
  • Сравнить MAC-адреса с документацией.
  • Обновить правила udev при необходимости.

Системный администратор:

  • Подготовить резервные копии конфигов.
  • Протестировать конфигурацию через netplan try.
  • Обновить /etc/hosts при необходимости.

DevOps-инженер:

  • Сверить промышленные политики безопасности (firewall, iptables/nftables).
  • Обеспечить интеграцию с DHCP и внутренним DNS.

Отладка и распространённые ошибки

  • Интерфейс не поднимается: проверьте dmesg и journalctl -u systemd-networkd для ошибок драйвера.
  • Netplan не применяет изменения: проверьте синтаксис YAML (отступы), используйте sudo netplan --debug apply.
  • /etc/resolv.conf перезаписывается: найдите, какая служба управляет файлом (resolvconf или systemd-resolved).
  • DNS не разрешается только в контейнерах: проверьте конфигурацию сети контейнера и настройки моста.

Безопасность и рекомендации по защите сети

  • Минимизируйте публикуемые сервисы на интерфейсах, доступных из интернета.
  • Используйте firewalld/ufw или nftables для ограничения доступа по IP/портам.
  • Разделяйте управление и рабочий трафик по разным VLAN или интерфейсам.
  • Логируйте изменения сетевых конфигураций и храните резервные копии в защищённом хранилище.

Матрица совместимости и советы по миграции

  • Ubuntu ≤18.04: часто использует /etc/network/interfaces и ifupdown. ethtool и bridge-utils — стандарт.
  • Ubuntu ≥20.04: используется netplan. Генератором конфигурации может быть networkd или NetworkManager.
  • Переход с ifupdown на netplan: экспортируйте текущие настройки, переведите в формат YAML и тестируйте через netplan try.

Совет: оставляйте временные окна отката при миграции сетей. Виртуальные среды (KVM, VMware) иногда требуют дополнительных правил бриджинга.


Когда описанные подходы не работают — примеры и обходы

  • Коррупция сетевого менеджера: если NetworkManager конфликтует с netplan, временно назначьте renderer: networkd в YAML или отключите NetworkManager.
  • Аппаратная несовместимость: некоторые старые NIC требуют проприетарных драйверов. Ищите в dmesg и репозиториях производителя.
  • Контейнеризация: Docker создаёт собственные мосты — убедитесь, что сетевой план не ломает Docker bridge.

Факто-блок: ключевые команды и места конфигурации

  • /etc/netplan/*.yaml — основной файл конфигурации в Ubuntu 20.04+
  • /etc/network/interfaces — старый формат (Ubuntu 18.04 и ранее или системы с ifupdown)
  • /etc/hosts — статические локальные сопоставления имён
  • /etc/resolv.conf — DNS-клиент (может быть ссылкой на systemd-resolved)
  • ifconfig / ip / route / ethtool / lshw — утилиты для просмотра и временных настроек

Краткий список проверок перед перезагрузкой сети

  1. Сохранили резервные копии конфигов? (да/нет)
  2. Проверили синтаксис YAML для netplan? (netplan try)
  3. Проверили наличие правильных DNS и шлюза? (ip route, resolvectl status)
  4. Есть план отката (ssh-консоль через другой интерфейс или KVM/IPMI)?

Decision tree для принятия решения о методе конфигурации

flowchart TD
  A[Нужна ли постоянная конфигурация?] -->|Да| B{Ubuntu версия >=20.04?}
  A -->|Нет| C[Используйте ip/ifconfig для временных настроек]
  B -->|Да| D[Используйте netplan YAML и sudo netplan apply]
  B -->|Нет| E[Используйте /etc/network/interfaces и ifup/ifdown]
  D --> F{Нужен мост?}
  E --> F
  F -->|Да| G[Добавьте bridge в netplan или bridge-utils в interfaces]
  F -->|Нет| H[Настройте интерфейс как обычный ethX]

Краткий глоссарий (1-линия)

  • ifconfig — утилита для конфигурации сетевых интерфейсов (устаревающая);
  • ip — современная утилита управления сетью;
  • netplan — YAML-инструмент конфигурации сети в новых Ubuntu;
  • ethtool — инструмент для настройки физических свойств NIC;
  • bridge-utils — утилиты для управления Linux-bridge;
  • resolvconf/systemd-resolved — менеджеры конфигурации DNS.

Итог и рекомендации

Ubuntu Server предлагает гибкие подходы к сетевым настройкам: от простых временных команд до детальной перманентной конфигурации через netplan или /etc/network/interfaces. Всегда делайте резервные копии, тестируйте изменения в нестандартном окне и имейте план отката (например, доступ по KVM/IPMI). Для виртуализированных сред используйте мосты аккуратно и проверяйте совместимость с гипервизором.

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

Важное: при работе с DNS и /etc/resolv.conf учитывайте, что многие современные системы управляют этим файлом автоматически. Перед постоянными правками определите, какая служба отвечает за DNS в вашей системе.


Краткое резюме в конце:

  • Узнайте, какая версия Ubuntu у вас и какой renderer сети используется.
  • Используйте netplan в новых релизах и /etc/network/interfaces в старых.
  • Делайте бэкапы и тестируйте через netplan try или в тестовой среде.
  • Защитите сервисы через firewall и разделение сетей.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Массивы в Bash: синтаксис и примеры
Программирование

Массивы в Bash: синтаксис и примеры

Сбросить страницу «Для вас» в TikTok
Социальные сети

Сбросить страницу «Для вас» в TikTok

Создать GIF из YouTube — GIFs.com
Руководство

Создать GIF из YouTube — GIFs.com

Как сделать карусель Instagram в InDesign
Дизайн

Как сделать карусель Instagram в InDesign

Как объединить PDF на Mac
Mac

Как объединить PDF на Mac

Как примерить тату в Photoshop
Дизайн

Как примерить тату в Photoshop