Настройка сети в CentOS

Статья о CentOS, поддержка которого закончилась. Для новых серверов выберите замену: Rocky, AlmaLinux или Astra. Описание ниже сохранено как справка по старым системам.
Нужно задать IP, шлюз и DNS на RHEL-подобной системе через NetworkManager. Заголовок про CentOS — 8 в EOL. Команды для Alma/Rocky/RHEL текущих веток. Не правьте ifcfg-* руками, если NM уже главный.
1. Кто главный и как зовут соединение
nmcli general
nmcli device status
nmcli connection show
ip -4 addr
ip route
Пример device status: ens192 ethernet connected ens192. Имя соединения может отличаться от имени устройства.
2. Статический адрес
sudo nmcli connection modify ens192 \
ipv4.method manual \
ipv4.addresses 192.0.2.10/24 \
ipv4.gateway 192.0.2.1 \
ipv4.dns "192.0.2.53 1.1.1.1" \
ipv6.method ignore
sudo nmcli connection up ens192
ip -4 addr show ens192
ip route
Ожидание: адрес на интерфейсе, default via 192.0.2.1. Делайте с консоли или из второй сессии: неверный шлюз отрежет SSH. DHCP вернуть:
sudo nmcli connection modify ens192 ipv4.method auto ipv4.gateway "" ipv4.addresses ""
sudo nmcli connection up ens192
3. DNS и имя хоста
nmcli dev show ens192 | grep IP4.DNS
resolvectl status
sudo hostnamectl set-hostname srv-01.example.internal
Не пишите DNS только в /etc/resolv.conf: NM его перезапишет.
VLAN и bonding
# VLAN 10 поверх ens192
sudo nmcli connection add type vlan con-name vlan10 ifname ens192.10 dev ens192 id 10 \
ipv4.method manual ipv4.addresses 192.0.2.10/24 ipv4.gateway 192.0.2.1
sudo nmcli connection up vlan10
Для объединения интерфейсов (bond) создайте соединение типа bond и подключите к нему порты с type ethernet slave-type bond master bond0. Режим выбирайте исходя из настроек коммутатора: режим 802.3ad (LACP) требует поддержки на стороне коммутатора.
Где хранятся настройки
В RHEL 9 и производных настройки NetworkManager лежат в формате keyfile в /etc/NetworkManager/system-connections/, а старые файлы ifcfg-* больше не используются по умолчанию. Правьте их через nmcli, а после ручной правки файла выполните sudo nmcli connection reload.
Диагностика
journalctl -u NetworkManager --since "10 min ago"
nmcli -f GENERAL,IP4 device show ens192
ethtool ens192 | grep -E 'Speed|Link detected'
- Нет связи после смены адреса: проверьте шлюз (
ip route) и пингуйте его. - Имя не резолвится: смотрите
resolvectl status, DNS из соединения. - Линк не поднимается: кабель, порт коммутатора, скорость и дуплекс (
ethtool).
Применив настройки, закройте лишнее: firewall. Статья описывает RHEL-семейство; описание для CentOS 8 выше сохранено как история.
Как проверить
nmcli connection show ens192 | grep ipv4
ip route
ping -c 2 192.0.2.1
getent hosts example.com
Метод manual, шлюз пингуется, имя резолвится.
Источники
- Red Hat, Configuring IP networking with nmcli. URL: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/assembly_configuring-an-ethernet-connection_configuring-and-managing-networking.


















