news
Расширенные конфигурации в Амстердаме
DN
10 мая 2023
Обновлено 16 мая 2023

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

CentOS Сети

Используете другую ОС?

Выберите нужную версию или дистрибутив.

Конфигурирование сетевых интерфейсов в CentOS заметно отличается от того, как это выполняется в Ubuntu. В CentOS управлением сетевой подсистемой занимается Network Manager (NM).

Как и другое системное ПО, NM использует конфигурационные файлы для управления сетевыми интерфейсами – они располагаются в директории /etc/sysconfig/network-scripts/.

Необходимо пояснить, что в CentOS есть различие в понятиях «сетевое устройство» и «подключение»:

  • Сетевое устройство (network device) – это сетевой интерфейс, через который отправляются\принимаются пакеты. Например – enp0s5;
  • Подключение (connection) – конфигурационные настройки (профиль) для устройства.

Таких профилей может быть несколько для одного интерфейса, в зависимости от задачи. Можно быстро менять настройки устройства применяя нужный профиль.

Для взаимодействия с NM используются два программных инструмента:

  • nmtui – Network Manager Text User Interface, утилита с графическим интерфейсом (основанная на библиотеке curses);
  • nmcli – Network Manager Command Line Interface, утилита для запуска в консоли. Имеет большое количество подкоманд и опций, чаще используется в скриптах для автоматической настройки.

Вызов обеих утилит для просмотра текущих настроек возможен под обычным пользователем, для внесений изменений требуется права root пользователя. NM – systemd сервис, который всегда должен быть запущен для корректной работы сети сервера.

Обычно он сразу добавляется в автозагрузку при установке сервера, проверить включен ли он можно командой:

systemctl status NetworkManager.service

В выводе команды должна быть строка «Active: active (running) since», которая означает, что сервис запущен.
При старте NM проверяет файлы подключений (профилей) в /etc/sysconfig/network-scripts/ и применяет их к соответствующим интерфейсам. Имена профилей начинаются на «ifcfg» – например, «ifcfg-ens0p5».

Настройка интерфейса с nmtui – наглядно и понятно

При запуске nmtui появится окно с запросом на необходимое действие:

Запрос действия nmtui

Отсюда можно перейти к редактированию профилей, активировать необходимый профиль, и задать имя сервера.

При переходе к редактированию слева доступен список созданных профилей, справа кнопки для действий – создание нового профиля, редактирование, удаление, возврат в предыдущее окно:

Создание нового профиля nmtui

В примере имеется только один профиль с названием «System ens0p5».

Для редактирования профиля необходимо нажать «Edit», откроется окно для изменения настроек протоколов IPv4 и IPv6:

nmtui profile

В первых двух полях видно название профиля, и для какого сетевого устройства он применяется. На серверах IP адреса часто являются постоянными и задаются вручную. Для этого на нужной версии IP протокола необходимо выбрать тип «Manual» из списка:

Выбрать ручную настройку nmtui

Нажатие на кнопку «Show» справа отобразит настройки.

В нужных полях прописываются необходимые значения:

Ручная настройка nmtui

Также можно отметить крестиком доступные опции, например – «Ignore automatically obtained DNS parameters» в случае, если планируется использование DNS серверов, которые отличаются от полученных автоматически.

Важно: прочитайте полностью следующий абзац во избежание потери связи с сервером!

После задания значений необходимо нажать на «OK» — в этот момент будут внесены изменения в конфиг профиля «ifcfg-ens0p5», но эти изменения не применятся к текущим настройкам интерфейса. Для применения необходимо деактивировать предыдущие настройки и активировать измененный профиль – для этого нажать в окне с выбором действий «Activate a connection», отметить профиль и нажать справа «Deactivate». После этого появится кнопка «Activate» – нажатие на нее применит новые настройки. Если деактивируется профиль для единственного интерфейса на сервере, то это приведет к тому, что старые настройки перестанут действовать, и облачный сервер будет отключен от сети. Это не позволит активировать профиль.

Serverspace позволяет в таком случае открыть веб консоль управления сервером, в которой можно запустить nmtui и активировать профиль – сервер снова станет доступным. Применение новых настроек можно безопасно выполнить с помощью утилиты nmcli (описание в следующем разделе), поэтому в nmtui не требуется нажимать на «Activate a connection» в окне выбора действий, а нажать «OK» для сохранения настроек и выхода. Если изменения проводятся для дополнительного интерфейса сервера, отключение которого не приведет к потере связи, то все действия выполняются в nmtui.

Настройка интерфейса с nmcli – быстро и эффективно

Запуск nmcli с необходимыми подкомандами и опциями также позволяет вносить изменения в профиль. Стоит отметить, что доступно большое количество подкоманд для настройки протоколов IP и VPN, создания мостов, агрегирования каналов и др., которые хорошо описаны в man.

В задаче по настройке IP адреса вручную достаточно использовать базовые команды.

Для просмотра имеющихся сетевых устройств:

nmcli device show

В выводе будет содержаться подробная информация: тип, MAC и IP адрес, маршруты и DNS серверы.

Чтобы увидеть профили:

nmcli connection show

Вывод будет намного короче: имя, UUID, тип, и для какого интерфейса применяется профиль.

nmcli connections show

Имена профилей и интерфейсов могут не совпадать – на это нужно обратить внимание при изменении и активировании профилей.
Изменить конфигурацию профиля можно подкомандой modify. Например, эта команда установит IP адрес, шлюз, DNS сервер в профиле “System enp0s5”:

nmcli connection modify "System enp0s5" ipv4.method manual ipv4 172.16.61.10/24 gw4 172.16.61.1 ipv4.dns "208.67.220.220 208.67.222.222"
  • ipv4.method указывает на тип Manual, т.е. задается статичный адрес;
  • gw – шлюз по умолчанию;
  • ipv4.dns – серверы DNS через пробел.

Отдельными командами можно поменять нужные настройки, например – прописать новые DNS серверы:

nmcli connection modify "System enp0s5" ipv4.dns "8.8.8.8 8.8.4.4"

Как и в случае конфигурирования с помощью nmtui, после вызова этих команд будут внесены изменения в файл настроек /etc/sysconfig/network-scripts/ifcfg-enp0s5, но текущие настройки не поменяются. Для их использования требуется применить профиль еще раз (деактивировать и активировать):

nmcli connection down "System enp0s5" && nmcli connection up "System enp0s5"

Фактически, nmcli вызывается два раза с использованием &&, при котором второй вызов выполниться только если первый выполнится успешно.

Важно выполнить именно последовательный запуск nmcli. Иначе, как было отмечено в разделе про nmtui, если на сервере только один интерфейс, то профиль не будет активирован, и связь с сервером будет утеряна. Используйте этот способ после изменений через nmtui.

Как было сказано в начале, для одного интерфейса может быть более одного профиля (можно создать в nmtui), и тогда список профилей будет содержать и активные (которые в данный момент применяются) и неактивные. Например:

Список профилей nmcli

Видно, что профиль «System enp0s5» является активным (выделен зеленым) и применяется к интерфейсу enp0s5. При создании профиля «enp0s5-new» был указан интерфейс enp0s5, но в данный момент он не применяется. Если требуется – его можно быстро применить. Для этого деактивировать «System enp0s5» и активировать «enp0s5-new»:

nmcli connection down "System enp0s5" && sudo nmcli connection up "enp0s5-new"

Настройка интерфейса без nmtui и nmcli

Не обязательно использовать утилиты nmtui и nmcli для внесения изменений в профили.
Можно вручную создать/изменить конфиг файлы «ifcfg-». В этом случае есть большая вероятность ошибок и опечаток, что можно привести к потере подключения к серверу. Поэтому рекомендуется все же использовать указанные утилиты – они корректно формируют конфиги. Эти утилиты часто устанавливаются при установке сервера, поэтому сразу доступны для использования.

Вам также может быть интересно

Оценка:
4 из 5
Аverage rating : 4.8
Оценок: 4
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300