Управление и настройка сети в 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