Управление NetworkManager из консоли

Управление NetworkManager из консоли

NikitaNS

NetworkManager — популярный инструмент управления сетевыми подключениями в Linux, имеет удобный графический интерфейс как для Gnome, так и для KDE, но бывают ситуации когда окружение рабочего стола не запускается, и нужно поднимать сеть из консоли, или нужно настроить сеть на сервере где не установлено рабочее окружение.

В этой инструкции будет рассмотрена настройка network Manager в консоли с помощью утилиты nmcli linux. Также поговорим о том, как посмотреть информацию о сетевых интерфейсах в системе.

Собираем информацию о системе

Чтобы получить информацию обо всех установленных в системе сетевых интерфейсах используйте команду:

ip addr show

Примерный вывод:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether bc:ae:c5:be:8b:b7 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic enp2s0

valid_lft 75866sec preferred_lft 75866sec

inet6 fe80::beae:c5ff:febe:8bb7/64 scope link

valid_lft forever preferred_lft forever

3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default

link/sit 0.0.0.0 brd 0.0.0.0

Для просмотра статистики переданных и полученных пакетов активными интерфейсами наберите:

ip -s link show eno16777736

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

link/ether bc:ae:c5:be:8b:b7 brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

332140667 293632 0 0 0 0

TX: bytes packets errors dropped carrier collsns

35490533 281001 0 0 0 0

А чтобы посмотреть таблицу маршрутизации:

ip route

default via 192.168.1.1 dev enp2s0 proto static metric 100

127.0.0.0/8 dev lo scope host

192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.2

192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.2 metric 202

Анализируем путь к определенному сайту:

tracepath losst.ru

Утилита Nmcli

Утилита Nmcli — многофункциональный и гибкий инструмент командной строки для настройки сети с помощью networkamanger из консоли. Сначала рассмотрим ее синтаксис:

$ nncli опции объект команда

Чаще всего в nmcli мы будем использовать такие объекты:

  • device — управление сетевыми интерфейсами;
  • connection — управление соединениями;
  • networking — управление сетью в целом;
  • general — показывает состояние всех сетевых протоколов и NetworkManager в целом;
  • radio — управление сетевыми протоколами, wifi, ethernent и т д.

Команды для каждого объекта разные, а опции нам не будут интересны. Дальше рассмотрим примеры nmcli network manager.

Запустить NetworkManager

Первым делом нужно запустить NetworkManager из консоли:

sudo service NetworkManager start

Теперь смотрим состояние интерфейсов с помощью nmcli:

 $ nmcli general status

СОСТОЯНИЕ СВЯЗЬ WIFI-HW WIFI WWAN-HW WWAN

подключено полностью включен включен включен включен

Еще мы можем посмотреть имя хоста:

nmcli general hostname

Включить/выключить wifi

В графическом интерфейсе это делается одной галочкой, здесь одной командой. Сначала смотрим состояние wifi:

nmcli radio wifi

Теперь включаем:

nmcli radio wifi on

Или отключаем:

nmcli radio wifi off

Смотрим доступные соединения

Теперь самое интересное, управление сетью nmcli:

 nmcli connection show

ИМЯ UUID ТИП УСТРОЙСТВО

ham0 6272eb20-2c54-4fc7-afba-31e0f0db295b generic ham0

Проводное соединение 1 e4ba8abf-3608-4482-955d-aa9000f565ee 802-3-ethernet enp2s0

Смотрим информацию о подключении

nmcli connection show "Проводное соединение 1"

connection.id: Проводное соединение 1

connection.uuid: e4ba8abf-3608-4482-955d-aa9000f565ee

connection.interface-name: --

connection.type: 802-3-ethernet

connection.autoconnect: yes

connection.autoconnect-priority: 0

connection.timestamp: 1441537783

connection.read-only: no

connection.permissions:

connection.zone: --

connection.master: --

connection.slave-type: --

connection.secondaries:

connection.gateway-ping-timeout: 0

802-3-ethernet.port: --

802-3-ethernet.speed: 0

802-3-ethernet.duplex: --

802-3-ethernet.auto-negotiate: yes

802-3-ethernet.mac-address: BC:AE:C5:BE:8B:B7

802-3-ethernet.cloned-mac-address: --

802-3-ethernet.mac-address-blacklist:

802-3-ethernet.mtu: автоматически

802-3-ethernet.s390-subchannels:

802-3-ethernet.s390-nettype: --

802-3-ethernet.s390-options:

ipv4.method: auto

Получаем состояние интерфейсов:

nmcli device status

УСТРОЙСТВО ТИП СОСТОЯНИЕ СОЕДИНЕНИЕ

enp2s0 ethernet подключено Проводное соединение 1

lo loopback без управления --

sit0 sit без управления --

Создание DHCP соединения

nmcli connection add con-name "dhcp" type ethernet ifname enp2s0

Connection 'dhcp' (163a6822-cd50-4d23-bb42-8b774aeab9cb) successfully added.

Здесь:

  • connection add — добавить новое соединение
  • con-name — название подключения
  • type — тип устройства, в нашем случае ethernet
  • ifname — название сетевого интерфейса

Создание соединения с статическим адресом

nmcli connection add con-name "static" ifname enp2s0 autoconnect no type ethernet ip4 192.168.1.240 gw4 192.168.1.1

Connection 'static' (8e69d847-03d7-47c7-8623-bb112f5cc842) successfully added.

Добавляем настройки DNS

nmcli connection modify "static" ipv4.dns 202.131.124.4

Добавляем еще один сервер DNS

nmcli connection modify "static" +ipv4.dns 8.8.8.8

Для добавления дополнительной информации в поле используйте символ +. Например, вот так можно добавить еще один ip адрес:

nmcli connection modify "static" +ipv4.addresses 192.168.200.1/24

Осталось обновить настройки:

nmcli connection up static

Список сетей wifi

Такой командой можно посмотреть список доступных сетей wifi:

nmcli device wifi list

Подключится к wifi

Команда для подключения к новой сети wifi выглядит не намного сложнее:

nmcli device wifi connect "BSSID" password 12345 name "MyWifi"

Здесь BSSID — это имя точки доступа, а 12345 — ее пароль.

Выводы

Как видите, все очень просто и быстро. Настройка network manager в консоли выполняется в пару команд, достаточно только их запомнить или где-нибудь написать, чтобы вы могли выполнить управление сетью nmcli когда это понадобится.

Источник:
https://losst.ru/upravlenie-networkmanager-iz-konsoli

Report Page