Поиск по сайту:

Как настроить сетевые интерфейсы с помощью NMCLI в Centos 7.6


На этой странице

  1. Предварительное примечание
  2. Сетевое устройство
  3. Подключение профиля

Первое, что нужно сделать после установки ОС Linux в качестве сервера, это настроить сетевой интерфейс, чтобы иметь удаленный доступ, и с вашей рабочей станции/ноутбука и чашки кофе вы могли бы управлять своим сервером в удобное для вас время.

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

Предварительное примечание

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

Основной формат nmcli:

nmcli [OPTIONS] OBJECT { COMMAND | help }

ОБЪЕКТ может быть одним из следующих параметров: подключение, устройство, общее, сеть, радио, агент и монитор, и мы можем использовать префикс этих параметров:

nmcli -p устройство --> nmcli -p dev --> nmcli -p d

Примечание: -p означает --pretty — опция.

В этой части руководства мы рассмотрим два объекта: соединение и устройство.

Сетевое устройство

Мы можем использовать этот объект с наиболее часто используемыми командами: status, show и set.

Мы начнем с отображения наших интерфейсов (устройств), если у нас их много со статусом:

nmcli device status

Вывод:

Первый столбец — это имя интерфейса, мой физический интерфейс — ens33, он может отличаться от вашего окружения, последний столбец — это имя профиля, его также называют «профиль соединения».

Другой путь:

nmcli -p device

Опция -p означает Pretty — это удобочитаемый вывод.

Вывод :

Мы используем nmcli dev show для отображения всей информации обо всех интерфейсах (это много информации), поэтому мы укажем интерфейс, который будем использовать ens33:

nmcli dev show ens33

Вывод:

Вся информация здесь достаточно явная, нам не нужно просматривать этот вывод.

Мы можем настроить любые устройства для управления с помощью nmcli или нет, используя команду set.

Чтобы перечислить наши устройства и проверить, является ли оно управляемым или нет.

nmcli device status

Вывод:

Обратите внимание на столбец STATE.

Сейчас поменяю ens33 на неуправляемый интерфейс.

sudo nmcli device set ens33 managed no

Вывод:

Обратите внимание, что мы больше не можем управлять интерфейсом ens33 с помощью NetworkManager, но устройство все еще подключено.

Включим управление интерфейсом ens33:

sudo nmcli device set ens33 managed yes

Проверьте состояние моих интерфейсов:

nmcli device status

вывод :

Наконец, мы увидим, как активировать и деактивировать наши устройства (интерфейсы) с помощью команд отключения и подключения.

sudo nmcli dev disconnect ens33

Вы должны получить успешное сообщение: Устройство «ens33» успешно отключено.

Показать состояние устройств:

nmcli dev status

Вывод:

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

Чтобы активировать наши устройства:

sudo nmcli dev connect ens33

Вывод:

Сообщение об успешной активации и UUID подключения профиля в конце.

Статус наших интерфейсов:

nmcli dev status

Вывод:

Интерфейс больше не деактивируется.

Подключение профиля

Теперь давайте сосредоточимся на профиле, показав информацию:

nmcli connection show

Вывод:

Первый столбец — это имя соединения (не имя устройства), второй — UUID или универсальный уникальный идентификатор, а последний — имя устройства.

Профили — это сохраненная конфигурация интерфейсов, она хранится в /etc/sysconfig/network-scripts/ и называется префиксом ifcfg-, а затем именем профиля, давайте посмотрим:

Профили с названием устройств генерируются автоматически, ifcfg-amine создается вручную.

Теперь давайте создадим несколько профилей.

Примечание. У меня есть два физических интерфейса, подключенных к моей виртуальной машине ens33 и ens37.

Мы создадим профиль конфигурации Ethernet с динамическим IP-адресом.

sudo nmcli con add type ethernet con-name HomeDHCP ifname ens37

Тип интерфейса — Ethernet, HomeDHCP — имя профиля, ens37 — интерфейс, к которому подключен профиль.

Вывод:

Давайте посмотрим профили сейчас:

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

sudo nmcli con up HomeDHCP

Осторожно, имя профиля чувствительно к регистру.

Вывод:

Давай еще раз посмотрим:

Обратите внимание, что первый столбец NAME HomeDHCP подключен к интерфейсу ens37. И профиль ens37 (сгенерированный автоматически) не привязан ни к одному из интерфейсов.

Заглянем внутрь профиля:

nmcli con show HomeDHCP

И проверьте файл, созданный в /etc/sysconfig/network-scripts/ifcfg-HomeDHCP.

Давайте деактивируем профиль HomeDHCP из интерфейса ens37.

sudo nmcli con down HomeDHCP

вывод :

Обратите внимание, что профиль по умолчанию подключен к интерфейсу ens37.

Удалим профиль HomeDHCP:

sudo nmcli con delete HomeDHCP

Вывод:

Нет больше профиля HomeDHCP.

Давайте теперь создадим профиль конфигурации Ethernet с именем HomeStatic со статическим IP-адресом.

sudo nmcli con add type ethernet con-name HomeStatic ifname ens37 ip4 192.168.0.10/24 gw4 192.168.0.1

Вывод:

Проверьте подключение наших интерфейсов:

nmcli con s

Вывод:

Помните, что мы должны прикрепить профиль к интерфейсу, активировав профиль:

sudo nmcli con up HomeStatic

Вывод:

Отображение конфигурации профиля:

nmcli dev show ens33

Вывод:

Другой способ, но есть много информации, поэтому мы сосредоточимся на том, что мы хотим видеть.

Вывод:

Обратите внимание, что у нас нет информации о DNS-серверах, поэтому мы добавим DNS-сервер с помощью другой команды:

sudo nmcli con modify HomeStatic ipv4.dns "8.8.8.8 8.8.4.4"

чек об оплате :

nmcli c s HomeStatic

Другой способ добавить адрес DNS-сервера:

sudo nmcli c mod HomeStatic +ipv4.dns "192.168.0.1"

И, конечно же, чтобы удалить адрес DNS-сервера:

sudo nmcli c mod HomeStatic -ipv4.dns "192.168.0.1"

До сих пор мы проходили основные сетевые операции для связи с нашими серверами с этими двумя объектами и командами в следующем уроке, которые мы продолжим изучать и попытаемся завершить сценарий, чтобы обобщить то, что мы сделали.