Управление NetworkManager из консоли
NikitaNSNetworkManager — популярный инструмент управления сетевыми подключениями в 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