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

0
5414
Обложка статьи: Настройка сети в 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, шлюз пингуется, имя резолвится.

Источники

Комментарии закрыты.