Представь, что ты только что установил Ubuntu 22.04 на сервер или виртуальную машину. Первое, с чем сталкиваешься — это сетевые настройки Ubuntu 22.04. Без правильной конфигурации сети твоя система будет изолирована от мира. В этой статье я, как Senior DevOps Ментор, проведу тебя через все аспекты настройки сети: от базовых конфигураций до продвинутых сценариев. Мы разберем Netplan — новый стандарт Ubuntu, научимся настраивать статические IP, DNS, и даже создавать бондинг интерфейсов.
Архитектура сети в Ubuntu 22.04: Netplan vs NetworkManager
В Ubuntu 22.04 произошли значительные изменения в подходе к сетевым настройкам. Давай разберемся, какие инструменты управления сетью существуют и когда их использовать.
Основные инструменты
- Netplan — утилита YAML-конфигурации по умолчанию для серверных установок
- NetworkManager — предустановлен в десктопных версиях, подходит для динамических сетей
- systemd-networkd — низкоуровневый демон, который Netplan использует как бэкенд
| Инструмент | Использование | Конфигурация |
|---|---|---|
| Netplan | Серверы, статические настройки | YAML файлы в /etc/netplan/ |
| NetworkManager | Ноутбуки, десктопы, Wi-Fi | nmcli, GUI, конфиги в /etc/NetworkManager/ |
Настройка сети через Netplan: практические примеры
Netplan использует простые YAML-файлы для описания сетевых настроек Ubuntu. Все конфиги находятся в /etc/netplan/.
sudo netplan apply. Для тестирования конфига без применения используй sudo netplan try (изменения откатятся через 120 секунд, если не подтвердить).
Пример 1: Статический IP адрес
Давай создадим базовую конфигурацию со статическим IP для интерфейса enp0s3:
# /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
dhcp4: no
Пример 2: DHCP с резервным статическим адресом
Иногда нужно получить адрес по DHCP, но иметь fallback на случай проблем:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
dhcp4-overrides:
use-dns: false
use-routes: true
addresses:
- 192.168.1.200/24
nameservers:
addresses: [1.1.1.1, 9.9.9.9]
Настройка нескольких сетевых интерфейсов
В серверных средах часто требуется несколько интерфейсов для разных сетей (LAN, DMZ, management).
network:
version: 2
renderer: networkd
ethernets:
enp0s3: # Management network
addresses:
- 10.0.0.10/24
routes:
- to: default
via: 10.0.0.1
nameservers:
addresses: [10.0.0.2]
enp0s8: # DMZ network
addresses:
- 172.16.0.10/24
routes:
- to: 192.168.0.0/16
via: 172.16.0.1
dhcp4: no
Продвинутые сетевые настройки Ubuntu 22.04
Создание bonded интерфейса (агрегация каналов)
Bonding объединяет несколько физических интерфейсов в один логический для увеличения пропускной способности или отказоустойчивости:
network:
version: 2
renderer: networkd
bonds:
bond0:
interfaces: [enp0s3, enp0s4]
parameters:
mode: 802.3ad # LACP
mii-monitor-interval: 100
lacp-rate: fast
addresses:
- 192.168.1.50/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
Настройка VLAN
VLAN позволяют сегментировать сеть на логические подсети:
network:
version: 2
renderer: networkd
vlans:
vlan100:
id: 100
link: enp0s3
addresses:
- 10.0.100.10/24
vlan200:
id: 200
link: enp0s3
addresses:
- 10.0.200.10/24
Диагностика и устранение проблем
Когда сетевые настройки Ubuntu 22.04 работают некорректно, используй эти команды для диагностики:
Основные команды диагностики
ip addr show— показать все интерфейсы и их адресаip route show— показать таблицу маршрутизацииnetplan --debug apply— применить конфиг с отладкойnetworkctl status— статус интерфейсов от systemd-networkdjournalctl -u systemd-networkd— логи сетевого демонаping -c 4 8.8.8.8— проверить доступность интернета
# Проверка текущей конфигурации
ip a
# Проверка DNS
nslookup google.com
# Проверка маршрутизации
traceroute 8.8.8.8
# Просмотр загруженных конфигов Netplan
sudo netplan get all
Часто задаваемые вопросы (FAQ)
Как переименовать сетевой интерфейс в Ubuntu 22.04?
Используй netplan для присвоения постоянного имени через MAC-адрес:
network:
version: 2
ethernets:
eth-lan:
match:
macaddress: 00:11:22:33:44:55
set-name: eth-lan
addresses: [192.168.1.10/24]
Как полностью отключить IPv6 в Ubuntu 22.04?
Добавь в конфиг Netplan параметр dhcp6: no и accept-ra: no, или отключи через sysctl:
# Временное отключение
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
# В netplan конфиге
eth0:
dhcp4: yes
dhcp6: no
ipv6-mtu: 0
accept-ra: no
Как настроить статический маршрут?
Используй секцию routes в конфигурации Netplan:
enp0s3:
addresses: [192.168.1.10/24]
routes:
- to: 10.0.0.0/8
via: 192.168.1.254
metric: 100
- to: 172.16.0.0/12
via: 192.168.1.253
Можно ли использовать и Netplan, и NetworkManager одновременно?
Да, но нужно указать правильный renderer. NetworkManager для десктопов, networkd для серверов. Не рекомендуется смешивать, чтобы избежать конфликтов.
Заключение
Освоение сетевых настроек Ubuntu 22.04 — критически важный навык для любого DevOps-инженера или системного администратора. Netplan с его YAML-конфигурациями предоставляет мощный, но простой в использовании инструмент для управления сетью. Запомни ключевые моменты:
- Конфиги Netplan находятся в
/etc/netplan/и имеют расширение.yaml - Всегда проверяй синтаксис YAML перед применением:
sudo netplan generate - Используй
sudo netplan tryдля безопасного тестирования изменений - Для диагностики используй
ip,networkctlиjournalctl - Держи под рукой доступ к консоли сервера на случай разрыва SSH-соединения
Теперь у тебя есть полное руководство по сетевым настройкам Ubuntu 22.04. Начни с простых конфигураций, постепенно переходя к более сложным сценариям. Практикуйся на виртуальных машинах, прежде чем вносить изменения в production-среду. Удачи в освоении сетевой магии Ubuntu!