Настройка статического IP на CentOS 8: 3 способа

Введение
В CentOS 8 конфигурацией сети управляет NetworkManager. Это даёт три удобных варианта задания статического адреса:
- nmtui — текстовый интерфейс (TUI), удобен при работе в консоли;
- nmcli — скриптуемый CLI, удобен для автоматизации;
- ручное редактирование ifcfg-файла — классический метод, полезен при миграциях и отладке.
Коротко про целевые параметры, которые будем применять на примере интерфейса eth1:
- Интерфейс: eth1
- IP: 192.168.10.100/24
- Шлюз: 192.168.10.1
- DNS: 1.1.1.1 (в примерах добавлен резервный 192.168.10.1)
В этой статье также добавлены разделы: сравнение подходов, шаблоны SOP, проверочный список, возможные ошибки и методы устранения.
Important: работа требует прав root или sudo.
Предварительные требования
- Установленный CentOS 8; доступ по консоли или SSH.
- Права root или sudo.
- Пакеты vim и net-tools (для ifconfig) — при необходимости установите sudo dnf install -y vim net-tools.
- Понимание базовых сетевых терминов: IP, маска, шлюз, DNS.
Проверка текущего состояния NetworkManager и интерфейсов
Проверим, установлен ли компонент текстового интерфейса NetworkManager:
rpm -qa | grep NetworkManagerВ выводе должна быть строка с NetworkManager-tui, если nmtui доступен.

Посмотрим интерфейсы через ifconfig (из пакета net-tools):
ifconfig -aПример вывода показывает eth0 и eth1.

Теперь — конкретные методы.
Настройка статического IP через nmtui
nmtui — curses-базированный пользовательский интерфейс для NetworkManager. Он удобен, когда вы в терминале и хотите изменить настройки через меню.
- Запустите редактирование интерфейса:
nmtui-edit eth1- В разделе IPv4 Configuration выставьте Manual и заполните поля:
- Addresses: 192.168.10.100/24
- Gateway: 192.168.10.1
- DNS servers: 1.1.1.1, 192.168.10.1
- Снимите галочку Automatically connect, если хотите контролировать подключение вручную, или оставьте, чтобы включался автоматически.

- Сохраните OK и примените изменения. Перезапустите интерфейс:
ifdown eth1
ifup eth1Если ifdown/ifup недоступны (например, в некоторых контейнерах), можно воспользоваться nmcli:
nmcli con down eth1; nmcli con up eth1Проверка:
ifconfig eth1
Совет: используйте nmtui при ручной настройке и визуальной проверке значений.
Настройка статического IP через nmcli
nmcli — командная утилита для NetworkManager. Она хороша для автоматизации, скриптов и удалённого управления.
- Посмотреть существующие соединения и устройства:
nmcli connection show
nmcli device statusПример вывода показывает eth0 и eth1.

- Переключить метод IPv4 на manual:
nmcli con mod eth1 ipv4.method manual- Установить адрес и шлюз:
nmcli con mod eth1 ipv4.addresses 192.168.10.100/24
nmcli con mod eth1 ipv4.gateway 192.168.10.1- Добавить DNS и включить автозапуск:
nmcli con mod eth1 ipv4.dns "1.1.1.1 192.168.10.1"
nmcli con mod eth1 connection.autoconnect yesПримечание: в некоторых версиях используется ключ autoconnect, в других — connection.autoconnect. Если один ключ не работает, проверьте список свойств через nmcli connection show “eth1”.
- Примените изменения, перезапустив соединение:
nmcli con down eth1
nmcli con up eth1Проверка статуса:
ifconfig eth1
nmcli device show eth1
Полезно: скрипты можно автоматизировать, поместив команды nmcli в shell-скрипт и запуская через Ansible/cron.
Настройка статического IP через правку файла ifcfg
Иногда полезно править конфигурационные файлы вручную — это даёт явный контроль и упрощает резервное копирование.
Файлы находятся в /etc/sysconfig/network-scripts. Перейдём в каталог:
cd /etc/sysconfig/network-scripts/
ls -lahВы увидите файлы ifcfg-eth0 и ifcfg-eth1.

Резервное копирование текущего файла и создание нового:
mv ifcfg-eth1 ~/ifcfg-eth1.backup
vim ifcfg-eth1Вставьте (или измените) содержимое:
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth1"
IPADDR="192.168.10.100"
NETMASK="255.255.255.0"
GATEWAY=192.168.10.1
DNS1=1.1.1.1
DNS2=192.168.10.1
DEVICE="eth1"
ONBOOT="yes"Сохраните файл и перезапустите интерфейс:
ifdown eth1
ifup eth1
Проверьте результат:
ifconfig eth1
Примечание: NetworkManager может перезаписать файл, если включено управление из его интерфейсов. Чтобы избежать конфликтов, можно включить NM_CONTROLLED или использовать nmcli to import конфигурацию.
Сравнение подходов — когда что использовать
| Критерий | nmtui | nmcli | Ручной ifcfg |
|---|---|---|---|
| Удобство для новичка | +++ | ++ | + |
| Автоматизация/скрипты | - | +++ | ++ |
| Чёткий контроль версии файла | + | + | +++ |
| Подходит для удалённого сервера | ++ | +++ | ++ |
Выбор зависит от задачи: для одноразовой ручной правки — nmtui, для массовой автоматизации — nmcli, для строгого контроля конфигураций и миграций — ручные ifcfg-файлы.
План действий — SOP для настройки статического IP (шаги)
- Убедиться в правах root.
- Проверить текущее состояние: ifconfig -a и nmcli device status.
- Создать резервную копию конфигов: cp /etc/sysconfig/network-scripts/ifcfg-eth1 ~/ifcfg-eth1.bak
- Применить выбранный метод (nmtui / nmcli / ifcfg).
- Применить изменения: nmcli con up eth1 или ifdown/ifup.
- Проверить связь с шлюзом: ip route или ping 192.168.10.1.
- Проверить разрешение DNS: dig @1.1.1.1 example.com или ping google.com.
- Задокументировать изменения в системе управления конфигурациями.
Критерии приёмки
- Интерфейс eth1 отвечает ifconfig/ip addr и имеет IP 192.168.10.100/24.
- По умолчанию доступен маршрут по умолчанию через 192.168.10.1 (ip route show).
- DNS разрешает доменные имена через указанные серверы.
- Сервис NetworkManager не генерирует ошибок в journalctl -u NetworkManager.
Частые ошибки и способы устранения
- Ошибка: адрес не применяется после ifup. Решение: проверить, не управляет ли интерфейс NetworkManager (nmcli device status), перезапустить NetworkManager: systemctl restart NetworkManager.
- Ошибка: конфликт адресов (ARП/дублирование). Проверка: ping другой хост с тем же IP, проверить DHCP-сервер.
- Ошибка: неправильный шлюз. Проверка: ip route show; исправить GATEWAY в конфиге и перезапустить.
- DNS не работает: проверить /etc/resolv.conf (он может быть управляем NetworkManager), проверить настройки DNS в nmcli или ifcfg.
Отладка и проверочные команды
ip addr show eth1
ip route show
nmcli device show eth1
journalctl -u NetworkManager --since "10 minutes ago"
ping -c 4 192.168.10.1
dig @1.1.1.1 example.comКогда эти методы не подходят
- В контейнерных средах (Docker) управление сетью обычно осуществляется вне контейнера.
- При использовании сторонних систем управления конфигами (вышестоящий orchestration) локальные изменения будут перезаписаны.
Примеры тест-кейсов и критерии приёмки
- Тест 1: После применения статического IP команда ip addr show eth1 показывает 192.168.10.100/24.
- Тест 2: Пинг шлюза 192.168.10.1 проходит без потерь.
- Тест 3: Разрешение DNS работает через 1.1.1.1: dig @1.1.1.1 example.com возвращает ответ.
Контрольные списки по ролям
Системный администратор:
- Резервное копирование ifcfg-файла
- Применение выбранного метода
- Проверка маршрутов и DNS
Инженер по автоматизации:
- Написание nmcli-скрипта
- Интеграция в CM (Ansible, Terraform)
- Тестирование idempotence (повторяемость)
Оператор поддержки:
- Проверка журналов NetworkManager
- Откат конфигурации при инцидентах
Decision tree для выбора метода
flowchart TD
A[Нужно изменить IP?] --> B{Ручной или автоматизированный процесс?}
B -->|Ручной, локально| C[nmtui — быстрый TUI]
B -->|Автоматизация| D[nmcli — CLI для скриптов]
B -->|Требуется контроль файлов| E[Редактирование ifcfg]
C --> F[Применить и проверить]
D --> F
E --> FКраткая сводка и рекомендации
- Для одноразовых изменений в консоли используйте nmtui — это быстрее и нагляднее.
- Для автоматизации и массового развёртывания используйте nmcli в скриптах.
- Для явного управления конфигурациями и резервного копирования используйте ручную правку ifcfg-файлов, но убедитесь, что NetworkManager допускает такой режим.
Summary:
- Вы знаете три способа выставить статический IP на eth1: nmtui, nmcli и редактирование ifcfg.
- Всегда делайте резервную копию текущих конфигураций перед изменениями.
- Проверяйте маршруты и DNS после применения настроек.
Глоссарий — одно предложение на термин
- IP: уникальный адрес узла в сети.
- Шлюз: адрес маршрутизатора, через который идёт доступ во внешнюю сеть.
- DNS: служба, переводящая доменные имена в IP.
Социальный превью
OG title: Статический IP на CentOS 8 — 3 рабочих способа OG description: Пошаговые инструкции для nmtui, nmcli и правки ifcfg, шаблон SOP и чек-листы для успешного развёртывания.
Если нужно, могу подготовить готовый nmcli-скрипт для массового развёртывания или Ansible-плейбук по этой конфигурации.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента