Ubuntu 24.04 настройка сети - Пошаговое руководство 2024 | AdminWiki

Ubuntu 24.04 настройка сети: Полное руководство для разработчиков и DevOps

17 декабря 2025 9 мин. чтения #hyper-v ubuntu #netplan #postgresql сеть #ubuntu 20.04 #ubuntu 22.04 #ubuntu 24.04 #настройка сети
Содержание статьи

Представь, что ты разворачиваешь новый сервер или виртуальную машину. Первое, что нужно сделать после установки системы — настроить сетевое подключение. В этой статье я, как Senior DevOps, покажу тебе все методы настройки сети в Ubuntu 24.04 (Noble Numbat), которые работают и в предыдущих версиях — Ubuntu 22.04 (Jammy Jellyfish) и Ubuntu 20.04 (Focal Fossa). Мы разберем как базовые настройки, так и продвинутые сценарии, включая тонкую настройку для PostgreSQL и работу в Hyper-V.

Сетевые интерфейсы в Ubuntu: от ifconfig к Netplan

Давай разберемся с эволюцией. В старых версиях Ubuntu (до 17.10) использовался ifconfig и конфиги в /etc/network/interfaces. Сейчас стандарт — Netplan. Это YAML-конфигуратор, который работает как фронтенд для systemd-networkd или NetworkManager.

Важно: В Ubuntu 24.04 настройка сети через Netplan — основной и рекомендуемый способ. Старые методы могут работать, но не гарантируют совместимость с будущими обновлениями.

1. Определение сетевых интерфейсов

Первым делом нужно понять, какие интерфейсы есть в системе:

bash
ip link show
# или
ls /sys/class/net/
# Для краткого вывода
ip -br addr show

Ты увидишь что-то вроде:

  • lo — loopback (localhost)
  • ens33, enp0s3 — Ethernet интерфейсы (физические или виртуальные, как в VMware/VirtualBox)
  • eth0 — устаревшее именование (может встречаться в старых образах или при определенных настройках)

Настройка статического IP-адреса в Ubuntu 24.04 через Netplan

Это самый частый сценарий для серверов. Конфигурационные файлы Netplan лежат в /etc/netplan/. Давай создадим или отредактируем основной конфиг.

Внимание: Перед редактированием сделай бэкап оригинального файла! Команда sudo cp /etc/netplan/*.yaml /etc/netplan/*.yaml.backup спасет тебя от ошибок.

Шаг 1: Редактирование конфигурации

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

Приведу пример конфига для статического IP на интерфейсе ens33:

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
        search: [localdomain]

Шаг 2: Применение конфигурации

bash
# Тестируем конфиг на ошибки
sudo netplan try
# Если все ок — применяем
sudo netplan apply
# Или сразу применяем (если уверен)
sudo netplan apply

Шаг 3: Проверка

bash
ip addr show ens33
ping -c 4 8.8.8.8
ping -c 4 google.com

Настройка DHCP в Ubuntu 24.04

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

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: true
      dhcp6: false
      optional: true

Особенности настройки сети в Hyper-V для Ubuntu

Если ты разворачиваешь Ubuntu 20.04 или новее в Hyper-V, есть нюансы. Hyper-V создает интерфейсы с именами вроде eth0. Для стабильной работы рекомендуется использовать статический MAC-адрес для ВМ и явно указать интерфейс в Netplan.

yaml
# Пример для Ubuntu в Hyper-V с External Switch
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      match:
        macaddress: "00:15:5d:01:23:45" # Подставь MAC своей ВМ
      set-name: eth0
      dhcp4: no
      addresses: [192.168.1.150/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8]

Настройка DNS и Hostname

Правильная работа DNS критична. Помимо указания в Netplan, можно прописать DNS глобально.

Редактирование resolv.conf (символическая ссылка)

bash
# В Ubuntu 24.04 /etc/resolv.conf управляется systemd-resolved
# Смотрим текущие DNS
systemd-resolve --status
# Постоянная настройка через Netplan — предпочтительный способ
# Или через конфиг resolved
sudo nano /etc/systemd/resolved.conf

В файле /etc/systemd/resolved.conf раскомментируй и измени строки:

config
[Resolve]
DNS=8.8.8.8 1.1.1.1
FallbackDNS=8.8.4.4
Domains=~.
bash
sudo systemctl restart systemd-resolved

Изменение hostname

bash
# Просмотр текущего
hostnamectl
# Установка нового статического hostname
sudo hostnamectl set-hostname myserver.local
# Также нужно прописать в /etc/hosts
sudo nano /etc/hosts
# Добавь строку: 127.0.1.1 myserver.local myserver

Настройка брандмауэра (UFW) в Ubuntu

Без firewall твой сервер — открытая дверь. Uncomplicated Firewall (UFW) — стандартный и простой инструмент.

bash
# Включаем UFW
sudo ufw enable
# Разрешаем SSH (обязательно перед включением, если подключен по SSH!)
sudo ufw allow 22/tcp
# Разрешаем HTTP/HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Статус
sudo ufw status verbose
# Для PostgreSQL (подробнее ниже)
sudo ufw allow 5432/tcp

Сетевая настройка для PostgreSQL

Запрос "postgresql настройка сети" часто возникает, когда нужно разрешить удаленные подключения к БД. Это двухэтапный процесс: настройка PostgreSQL и настройка firewall.

1. Редактирование postgresql.conf

bash
sudo nano /etc/postgresql/15/main/postgresql.conf

Найди и измени строку:

config
# Раскомментируй и измени
listen_addresses = 'localhost'          # что слушать?
# На:
listen_addresses = '*'                  # слушать все интерфейсы
# или на конкретный IP сервера, например '192.168.1.100'

2. Редактирование pg_hba.conf

bash
sudo nano /etc/postgresql/15/main/pg_hba.conf

Добавь в конец правило для твоей сети:

config
# TYPE  DATABASE  USER  ADDRESS        METHOD
# Разрешить всем в сети 192.168.1.0/24
host    all       all   192.168.1.0/24  md5
# Или для всех (НЕ БЕЗОПАСНО для продакшена!)
# host    all       all   0.0.0.0/0       md5
bash
# Перезапуск PostgreSQL
sudo systemctl restart postgresql
# Открываем порт в UFW
sudo ufw allow 5432/tcp
sudo ufw reload

Сравнение методов настройки сети в разных версиях Ubuntu

Версия Ubuntu Основной инструмент Конфигурационный файл Команда применения
Ubuntu 24.04 (Noble) Netplan (systemd-networkd) /etc/netplan/*.yaml sudo netplan apply
Ubuntu 22.04 (Jammy) Netplan (systemd-networkd) /etc/netplan/*.yaml sudo netplan apply
Ubuntu 20.04 (Focal) Netplan (по умолчанию) или ifupdown /etc/netplan/*.yaml или /etc/network/interfaces sudo netplan apply или sudo systemctl restart networking
Ubuntu 18.04 и старше ifupdown (устарело) /etc/network/interfaces sudo ifdown -a && sudo ifup -a

Диагностика проблем с сетью в Ubuntu

Если что-то пошло не так, вот чек-лист:

  1. Проверь физическое подключение/виртуальный свитч.
  2. Убедись, что конфиг Netplan синтаксически верен: sudo netplan generate
  3. Проверь статус networkd: sudo networkctl status
  4. Смотри логи: sudo journalctl -u systemd-networkd -f
  5. Пинг шлюза: ping 192.168.1.1 (подставь свой)
  6. Пинг внешнего DNS: ping 8.8.8.8
  7. Проверь разрешение имен: nslookup google.com или dig google.com
  8. Проверь таблицу маршрутизации: ip route show
  9. Отключи firewall временно: sudo ufw disable (для теста).

Часто задаваемые вопросы (FAQ)

Чем отличается настройка сети в Ubuntu 24.04 от 22.04 и 20.04?

Основной инструмент — Netplan — одинаков. Ключевое отличие может быть в версии systemd и деталях реализации networkd. Конфиги YAML полностью совместимы «сверху вниз» (из 24.04 в 20.04), но могут быть несовместимы «снизу вверх», если используются новые параметры. Всегда проверяй man netplan для своей версии.

Почему после настройки статического IP пропал интернет?

Скорее всего, неверно указан шлюз (gateway4 в старом синтаксисе или routes в новом) или DNS-серверы. Проверь команду ip route show — должен быть маршрут через default via [IP_шлюза]. Также убедись, что IP-адрес не конфликтует с другим устройством в сети.

Как настроить два IP-адреса на одном интерфейсе?

В Netplan это просто. В блоке addresses укажи оба адреса через дефис.

yaml
addresses:
  - 192.168.1.100/24
  - 192.168.1.101/24

Можно ли использовать старый метод /etc/network/interfaces в Ubuntu 24.04?

Технически пакет ifupdown можно установить, но это не рекомендуется. Netplan — это будущее, он лучше интегрирован с systemd, поддерживает predictible network interface names и обладает большей гибкостью. Используй его.

Как настроить автоматическое подключение к Wi-Fi через Netplan?

Для Wi-Fi нужен renderer: NetworkManager. Создай конфиг:

yaml
network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlp2s0:
      access-points:
        "MySSID":
          password: "s3cr3tp4ss"
      dhcp4: true

Установи пакет: sudo apt install network-manager и примени конфиг.

Какие основные ошибки при настройке PostgreSQL для сети?

1) Не изменил listen_addresses в postgresql.conf. 2) Не добавил правило в pg_hba.conf. 3) Не открыл порт 5432 в брандмауэре (UFW или iptables). 4) Пытаешься подключиться с локального IP, но в pg_hba.conf разрешены только адреса из другой подсети. Всегда проверяй логи PostgreSQL: sudo tail -f /var/log/postgresql/postgresql-15-main.log.

Заключение

Настройка сети в Ubuntu 24.04 через Netplan — это чистый, декларативный и мощный подход. Освоив его, ты сможешь быстро конфигурировать как простые рабочие станции, так и сложные серверные окружения, будь то физический хост, виртуальная машина в Hyper-V или облачный инстанс. Помни золотое правило: тестируй конфиг через netplan try перед применением, особенно на удаленном сервере. Удачи в настройке!

Поделиться:
Сохранить гайд? В закладки браузера