Пост

Управление и настройка сети в Centos 7/8 с помощью утилиты nmcli

nmcli (network manager command-line interface) - утилита для настройки сети, которая позволяет использовать Network Manager в консоли

Запустим Network Manager, проверяем статус

1
2
$ sudo systemctl start NetworkManager
$ sudo systemctl status NetworkManager

Информация об интерфейсах

Посмотреть соединения

1
2
3
4
5
6
7
8
$ nmcli connection show
или
$ nmcli con show
или
$ nmcli c s

NAME           UUID                                  TYPE      DEVICE 
System ens192  085a58e2-18f3-4a76-8717-d1f53aa67642  ethernet  ens192

Посмотреть только активные соединения

1
$ nmcli con show -a

Посмотреть полую информацию обо всех интерфейсах

1
$ nmcli dev show

Посмотреть полую информацию об интерфейсе ens192

1
$ nmcli dev show ens192

Посмотреть статус интерфейсов (активные/не активные)

1
2
3
4
$ nmcli dev status
DEVICE  TYPE      STATE      CONNECTION    
ens192  ethernet  connected  System ens192 
lo      loopback  unmanaged  -- 

Настройка интерфейсов

Поднять или отключить интерфейс

1
2
3
4
5
6
$ nmcli con down <connectionName>
$ nmcli con up <connectionName>

Пример:
$ nmcli con down "System ens192"
$ nmcli con up "System ens192"

Изменить IP-адрес

1
$ sudo nmcli con mod "System ens192" ipv4.addresses 192.168.1.89/24

Изменить шлюз (gateway)

1
$ sudo nmcli con mod "System ens192" ipv4.gateway 192.168.1.1

Изменить DNS

1
$ sudo nmcli con mod "System ens192" ipv4.dns 8.8.8.8,8.8.4.4

Добавить DNS сервер

1
$ sudo nmcli con mod "System ens192" +ipv4.dns 1.1.1.1

Удалить DNS сервер

1
$ sudo nmcli con mod "System ens192" -ipv4.dns 1.1.1.1

Либо изменить сетевые настройки (ip, gate, dns) одно командой

1
$ sudo nmcli con mod "System ens192" ipv4.addresses 192.168.1.89/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8,8.8.4.4

Задать dns-search

1
$ sudo nmcli con mod "System ens192" ipv4.dns-search "domain1.local,domain2.local,domain3.local"

Изменить имя интерфейса “Wired connection 1” на “ens224” (DEVICE=ens224)

1
$ sudo nmcli con mod "Wired connection 1" connection.interface-name "ens224"

Изменить id интерфейса “System ens192” на “ens192” (NAME=ens192)

1
$ sudo nmcli con mod "System ens192" connection.id ens192

Добавить интерфейс

1
$ sudo nmcli con add con-name "static-ens224" ifname ens224 type ethernet ip4 192.168.1.76/24 gw4 192.168.1.1

Запустить добавленный интерфейс

1
$ sudo nmcli con up "static-ens224" iface ens224

Удалить добавленный интерфейс

1
$ sudo nmcli con del "static-ens224"

Изменить DHCP на StaticIP

1
$ sudo nmcli con mod "System ens192" ipv4.method manual

Изменить StaticIP на DHCP

1
$ sudo nmcli con mod "System ens192" ipv4.method auto

Включить авто подключение к сети (ONBOOT=yes)

1
$ sudo nmcli con mod "System ens192" connection.autoconnect yes

Игнорировать информацию DNS-сервера с DHCP-сервера (PEERDNS=no)

1
$ sudo nmcli con mod "System ens192" ipv4.ignore-auto-dns true

Не использовать предоставленный шлюз в качестве шлюза по умолчанию (DEFROUTE=yes)

1
$ sudo nmcli con mod "System ens192" ipv4.never-default no

Узнать интерфейс

1
2
$ nmcli -f NAME -m multiline con show
$ nmcli -f NAME -m multiline con show | awk '{ print $2; }'

Маршрутизация

Добавить статический роутинг

1
$ sudo nmcli con mod "System ens192" +ipv4.routes "10.0.0.0/8 10.33.22.11"

Удалить статический роутинг

1
$ sudo nmcli con mod "System ens192" -ipv4.routes "10.0.0.0/8 10.33.22.1"

После добавления маршрутов необходимо перезапустить службу NetworkManager

1
$ sudo systemctl restart NetworkManager
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.