Set network manager in consoles

The Nmcli utility is a multifunctional and flexible command line tool for configuring the network using a networkamanger from the console. First, consider its syntax:

$ 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 "Проводное соединение"
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 — пароль.

nmcli con up id 'Wireless connection 1'

VPN additional info:

Also note that regular users usually don’t have permission to control networking. Using the commands above with sudo should work for most connections, but VPN specifically might fail with “Error: Connection activation failed: no valid VPN secrets.”

If that happens to you, it’s likely that the VPN password is stored in your user’s gnome-keyring, which makes it inaccessible to the root user. This comment explains why.

To fix this, edit /etc/NetworkManager/system-connections/ConnectionName and under [vpn], change the password flags line to:

password-flags=0

And add the following:

[vpn-secrets]
password=YourPassword

Now restart network manager by:

sudo service network-manager restart

Then starting the VPN connection with sudo nmcli con up id ConnectionName should work without problems.

Is based on article and.