В дистрибутивах семейства RHEL (CentOS, AlmaLinux, Rocky Linux) сеть управляется через NetworkManager. Классические файлы ifcfg-* в /etc/sysconfig/network-scripts/ использовались в CentOS 7 и 8 и в новых версиях заменены ключевыми файлами NetworkManager. CentOS Linux 7 и 8 больше не поддерживаются, поэтому для новых установок используйте AlmaLinux или Rocky Linux. Значения адресов и шлюза берите в Robot или консоли; в примерах — адреса из документационных диапазонов.
Статический IPv4 и IPv6 через nmcli
nmcli connection show
nmcli connection modify "System enp0s31f6" \
ipv4.method manual \
ipv4.addresses 203.0.113.10/26 \
ipv4.gateway 203.0.113.1 \
ipv4.dns "185.12.64.1 185.12.64.2" \
ipv6.method manual \
ipv6.addresses 2001:db8:1234::2/64 \
ipv6.gateway fe80::1
nmcli connection up "System enp0s31f6"
Имя соединения в кавычках смотрите в выводе первой команды. Команду connection up лучше запускать из консоли (KVM или Rescue), а не из SSH-сессии, которая зависит от этого интерфейса.
Дополнительный адрес
nmcli connection modify "System enp0s31f6" +ipv4.addresses 203.0.113.55/32
nmcli connection up "System enp0s31f6"
О том, как дополнительные адреса и подсети выдаются на серверах Hetzner, читайте в справках Дополнительные IP-адреса и Конфигурация статического IP.
Если используется ifcfg
# /etc/sysconfig/network-scripts/ifcfg-enp0s31f6
DEVICE=enp0s31f6
BOOTPROTO=none
ONBOOT=yes
IPADDR=203.0.113.10
PREFIX=26
GATEWAY=203.0.113.1
DNS1=185.12.64.1
IPV6INIT=yes
IPV6ADDR=2001:db8:1234::2/64
IPV6_DEFAULTGW=fe80::1%enp0s31f6
Применить: systemctl restart NetworkManager или nmcli connection reload && nmcli connection up enp0s31f6. В RHEL 9 формат ifcfg считается устаревшим: используйте nmcli или файлы в /etc/NetworkManager/system-connections/.
Проверка
ip -br addr
ip route
nmcli device status
ping -c3 1.1.1.1
Типичные ошибки
- Указан неверный префикс — шлюз вне подсети, маршрут по умолчанию не добавляется.
- Несколько соединений на одном интерфейсе: следите, чтобы активным было нужное.
- Включён SELinux и контекст файла конфигурации нарушен после ручного копирования: выполните
restorecon -Rv /etc/NetworkManager.
Частые вопросы
Как вернуть сеть, если SSH пропал?
Подключитесь через KVM-консоль или Rescue System (vKVM), смонтируйте корневой раздел и исправьте конфигурацию.
Можно ли использовать systemd-networkd в RHEL?
Можно, но в семействе RHEL штатным остаётся NetworkManager; смешивать их не следует. Конфигурацию networkd см. в отдельной статье.
Как настроить сеть на Debian и Ubuntu?
См. статью Конфигурация сети в Debian и Ubuntu.