Как настроить сетевые интерфейсы с помощью NMCLI в Centos 7.6
На этой странице
- Предварительное примечание
- Сетевое устройство
- Подключение профиля
Первое, что нужно сделать после установки ОС 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"
До сих пор мы проходили основные сетевые операции для связи с нашими серверами с этими двумя объектами и командами в следующем уроке, которые мы продолжим изучать и попытаемся завершить сценарий, чтобы обобщить то, что мы сделали.