Как управлять сетевыми подключениями с помощью инструмента «nmcli»

Как управлять сетевыми подключениями с помощью инструмента «nmcli»

Рубрики:

Linux, Сети Linux

Метки:

, ,

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

Я видел много администраторов, использующих nmtui из-за простоты. Однако использование nmcli экономит ваше время, дает уверенность, позволяет использовать его в сценариях и является первым инструментом, который можно использовать для устранения неполадок в сети вашего сервера Linux и быстрого восстановления его функциональности.

Вы всегда должны внимательно читать man-страницы (это помощь №1 для вас). Моя цель — сэкономить ваше время и показать вам некоторые советы.

Синтаксис nmcli:

 

Где OBJECT может быть одним из:

  • general
  • networking
  • radio
  • connection
  • device
  • agent

 

Хорошей отправной точкой будет проверка наших устройств:

 

 

Как мы видим, в первом столбце приведен список наших сетевых устройств. У нас есть одна сетевая карта с именем enp0s3. Для вашей машины могут быть другие имена.

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

Просто понять, что наши устройства сами по себе ничего не могут сделать. Им нужно, чтобы мы создали файл конфигурации, чтобы сообщить им, как добиться сетевого подключения. Мы называем эти файлы «профили подключения». Мы находим их в каталоге /etc/sysconfig/network-scripts.

 

Пример вывода

 

 

Как вы можете видеть здесь, файлы с именем, начинающимся с ifcfg-(конфигурация интерфейса), являются профилями подключения. Когда мы создаем новое соединение или модифицируем существующее с помощью nmcli или nmtui, результаты сохраняются здесь как профили соединения.

Я покажу вам два из них, один с конфигурацией dhcp и один со статическим ip.

 

Network-Configuration

 

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

  • TYPE, у нас есть тип Ethernet здесь. Мы могли бы иметь Wi-Fi, team, bond и другие.
  • DEVICE, имя сетевого устройства, связанного с этим профилем.
  • BOOTPROTO, если он имеет значение «dhcp», то наш профиль соединения получает динамический IP-адрес с сервера dhcp, если он имеет значение «none», то он не принимает динамический IP и, вероятно, назначает статический IP.
  • IPADDR, это статический IP, который мы назначаем нашему профилю.
  • PREFIX, маска подсети. Значение 24 означает 255.255.255.0. Вы можете лучше понять маску подсети, если запишите ее двоичный формат. Например, значения 16, 24, 26 означают, что первые 16, 24 или 26 бит соответственно равны 1, а остальные 0, точно определяя, что такое сетевой адрес и какой диапазон ip может быть назначен.
  • GATEWAY, шлюз IP.
  • DNS1, DNS2, два DNS-сервера, которые мы хотим использовать.
  • ONBOOT, если он имеет значение «yes», это означает, что при загрузке наш компьютер прочитает этот профиль и попытается присвоить его своему устройству.

Теперь давайте продолжим и проверим наши связи:

 

Show-Active-Network-Connections

 

Последний столбец устройств помогает нам понять, какое соединение работает, а какое нет. На изображении выше вы видите два активных соединения: Myoffice1 и enp0s8.

Подсказка: если вы хотите видеть только активные соединения, введите:

 

Подсказка: вы можете использовать автоматическое нажатие на Tab при использовании nmcli, но лучше использовать минимальный формат команды. Таким образом, следующие команды одинаковы:

 

 

Если я проверю IP-адреса моих устройств:

 

Check-Server-IP-Address

 

Я вижу, что мое устройство enp0s3 получило IP-адрес 192.168.1.6 от сервера dhcp, потому что профиль подключения Myoffice1, который работает, имеет конфигурацию dhcp. Если я вызову мой профиль подключения с именем static1, то мое устройство будет иметь статический IP-адрес 192.168.1.40, как это определено в профиле подключения.

 

 

Давайте посмотрим IP-адрес снова:

 

 

Мы можем сделать наш первый профиль подключения. Минимальные свойства, которые мы должны определить, это type, ifname и con-name:

  • type — для типа подключения.
  • ifname — для имени устройства, которому назначено наше соединение.
  • con-name — для имени соединения.

 

Давайте создадим новое соединение Ethernet с именем Myhome1, назначенное устройству enp0s3:

 

 

Проверьте его конфигурацию:

 

Create-New-Network-Connection

 

Как вы можете видеть, он имеет BOOTPROTO = dhcp, потому что мы не давали статический IP-адрес.

Подсказка: мы можем изменить любое соединение с помощью команды «nmcli con mod». Однако, если вы измените соединение dhcp и измените его на статическое, не забудьте изменить его «ipv4.method» с «auto» на «manual». В противном случае вы получите два IP-адреса: один с сервера DHCP и статический.

Давайте создадим новый профиль подключения Ethernet с именем static2, который будет назначен устройству enp0s3, со статическим IP-адресом 192.168.1.50, маской подсети 255.255.255.0 = 24 и шлюзом 192.168.1.1.

 

 

Проверьте его конфигурацию:

 

Create-New-Ethernet-Connection

 

Давайте изменим последний профиль подключения и добавим два DNS-сервера.

 

 

Подсказка: здесь есть что-то, на что вы должны обратить внимание: свойства для IP-адреса и шлюза имеют разные имена при добавлении и изменении соединения. Когда вы добавляете соединения, вы используете «ip4» и «gw4», а когда вы изменяете их, вы используете «ipv4» и «gwv4».

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

 

 

Как видите, устройство enp0s3 теперь имеет IP-адрес 192.168.1.50.

 

Verify-IP-Address-of-New-Network-Connection - Как управлять сетевыми подключениями с помощью инструмента «nmcli»

 

Подсказка: есть много свойств, которые вы можете изменить. Если вы не помните их наизусть, вы можете помочь себе, набрав «nmcli con show» и после этого имя соединения:

 

Verify-IP-Address-of-New-Network-Connection (1)

 

Вы можете изменить все эти свойства, написанные в нижнем регистре.

Например: когда вы отключаете профиль подключения, NetworkManager ищет другой профиль подключения и вызывает его автоматически. Если вы не хотите, чтобы ваш профиль подключения автоматически подключался:

 

 

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

Мы разрешаем только пользователю stella использовать этот профиль:

 

 

Подсказка: если вы хотите дать разрешения нескольким пользователям, вы должны ввести user:user1,user2 без пробелов между ними:

 

 

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

 

Enable-Network-Connection - Как управлять сетевыми подключениями с помощью инструмента «nmcli»

 

В сообщении об ошибке говорится, что соединение «static2» не существует, даже если мы видим, что оно существует. Это потому, что текущий пользователь не имеет прав для установки этого соединения.

 

Вывод

Не стесняйтесь использовать nmcli. Это легко и полезно.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Сети Linux

Метки:

, ,

Больше похожих постов

1 комментарий. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню