Поиск по сайту:

Настройка сети в AlmaLinux 8, CentOS 8 или Rocky Linux 8 с помощью команды nmcli (20 примеров)


На этой странице

  1. Предпосылки
  2. 1. Проверить статус NetworkManager
  3. 2. Проверить все доступные устройства
  4. 3. Проверить активное соединение
  5. 4. Отображение информации о соединении Ethernet
  6. 5. Изменить директиву «Автоматическое подключение»
  7. 6. Изменить директиву BOOTPROTO сетевого подключения
  8. 7. Отключить адрес IPv6 с помощью nmcli
  9. 8. Добавить DNS-сервер к существующему соединению
  10. 9. Удалить DNS-сервер из существующего подключения
  11. 10. Добавить/редактировать соединение в интерактивном режиме
  12. 11. Мониторинг активности подключения
  13. 12. Создайте новое соединение со статическим IP-адресом
  14. 13. Создайте новое соединение с DHCP
  15. 14. Активировать новое соединение
  16. 15. Деактивировать соединение
  17. 16. Удалить соединение
  18. 17. Изменить имя хоста с помощью nmcli
  19. 18. Изменить директиву DEFROUTE
  20. 19. Перезапустить Ethernet-соединение
  21. 20. справка по nmcli
  22. Заключение

nmcli — это инструмент командной строки, который можно использовать для управления NetworkManager. Этот инструмент поможет вам отображать состояние сетевых устройств, создавать, редактировать, активировать/деактивировать, удалять сетевые подключения, а также устранять неполадки в сети в вашей системе Linux. Для серверов и безголовых машин очень полезно контролировать общесистемные соединения.

В этом руководстве мы покажем вам, как использовать команду nmcli для управления сетевыми подключениями на примерах.

Предпосылки

  • Сервер под управлением AlmaLinux 8, CentOS 8 или Rocky Linux 8.
  • На вашем сервере установлен пароль root.

1. Проверьте статус NetworkManager

Чтобы проверить, запущен ли Network Manager, используйте следующую команду:

nmcli -t -f RUNNING general

Вы должны увидеть следующий вывод:

running

Чтобы получить общий статус, выполните следующую команду:

nmcli general

Вы должны увидеть следующий вывод:

STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

2. Проверьте все доступные устройства

Вы можете отобразить все доступные устройства в вашей системе, выполнив следующую команду:

nmcli dev status

Вы должны увидеть следующий вывод:

DEVICE  TYPE      STATE      CONNECTION  
eth0    ethernet  connected  System eth0 
eth1    ethernet  connected  System eth1 
lo      loopback  unmanaged  --      

3. Проверьте активное соединение

Чтобы вывести список всех активных подключений в вашей системе, выполните следующую команду:

nmcli con show

Вы должны получить следующий результат:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1

4. Отображение информации о соединении Ethernet

Вы можете отобразить краткую информацию об Ethernet-соединении с помощью следующей команды:

nmcli con show "System eth0"

Вы должны получить следующий результат:

connection.id:                          System eth0
connection.uuid:                        5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              eth0
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1588217245
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     unknown
cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO
BOOTPROTO=dhcp

5. Измените директиву «Автоматическое подключение»

По умолчанию все Ethernet-соединения будут подключаться автоматически. Вы можете отключить его с помощью следующей команды:

nmcli con mod "System eth1" connection.autoconnect no

Вы можете проверить изменения с помощью следующей команды:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep ONBOOT

Вы должны увидеть следующий вывод:

ONBOOT=no

6. Изменить директиву BOOTPROTO сетевого подключения

Вы можете изменить директиву BOOTPROTO подключения Ethernet со статического на DHCP, используя следующую команду:

nmcli con mod "System eth1" ipv4.method auto

Теперь вы можете проверить изменения с помощью следующей команды:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep BOOTPROTO

Вы должны увидеть следующий вывод:

BOOTPROTO=dhcp

Чтобы изменить статическую директиву BOOTPROTO Ethernet-соединения на DHCP на статическую, используйте следующую команду:

nmcli con mod "System eth1" ipv4.method manual ipv4.address 192.168.0.10/24 ipv4.gateway 192.168.0.1

7. Отключить адрес IPv6 с помощью nmcli

По умолчанию в CentOS 8 включено соединение IPv6 и IPv4. Вы можете отключить соединение IPv6 с помощью следующей команды:

nmcli con mod "System eth1" ipv6.method ignore

8. Добавьте DNS-сервер к существующему соединению

Чтобы добавить новый DNS-сервер к существующему соединению, выполните следующую команду:

nmcli con mod "System eth1" ipv4.dns 8.8.4.4

Вы можете проверить изменения с помощью следующей команды:

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep DNS

Вывод:

DNS1=8.8.4.4

Вы также можете добавить новый DNS-сервер, используя параметр +ipv4.dns:

nmcli con mod "System eth1" +ipv4.dns 4.4.4.4

9. Удалить DNS-сервер из существующего подключения

Чтобы удалить единственный DNS-сервер из соединения, выполните следующую команду:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4

Чтобы удалить несколько DNS-серверов из соединения, выполните следующую команду:

nmcli con mod "System eth1" -ipv4.dns 8.8.4.4,8.8.2.2

10. Добавить/редактировать соединение в интерактивном режиме

Вы также можете создать новое соединение или отредактировать существующее соединение с помощью интерактивного редактора.

Например, отредактируйте существующее подключение, выполните следующую команду:

nmcli con edit "System eth1"

Вы должны увидеть следующий вывод:

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'System eth1'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli> 

Теперь, отобразив существующий IP-адрес, выполните следующую команду:

nmcli> print ipv4.address

Вывод:

ipv4.addresses: 192.168.0.10/32

Чтобы установить новый IP-адрес, выполните следующую команду:

nmcli> set ipv4.address 192.168.0.11

Вы можете проверить и сохранить соединение с помощью следующей команды:

nmcli> verify

Вывод:

Verify connection: OK
nmcli> save

Вывод:

Connection 'System eth1' (9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04) successfully updated.

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

cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR

Вы должны увидеть следующий вывод:

IPADDR=192.168.0.10
IPADDR1=192.168.0.11

11. Мониторинг активности подключения

Вы также можете отслеживать активность NetworkManager с помощью nmcli, например изменения состояния подключения, профилей, устройств и т. д.

После изменения соединения Ethernet выполните следующую команду для его мониторинга:

nmcli con monitor "System eth1"

12. Создайте новое соединение со статическим IP-адресом

Вы также можете создать новое статическое соединение Ethernet с помощью nmcli. Например, создайте новое соединение Ethernet с именем eth2, IP 192.168.0.12/24, шлюз 192.168.0.1, \onboot=yes\, выполнив следующую команду:

nmcli con add con-name eth2 type ethernet ifname eth2 ipv4.method manual ipv4.address 192.168.0.15/24 ipv4.gateway 192.168.0.1

Вы должны увидеть следующий вывод:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully added.

Теперь проверьте соединение с помощью следующей команды:

nmcli con

Вывод:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

13. Создайте новое соединение с DHCP

Вы также можете создать новое DHCP-соединение с помощью nmcli. Например, создайте новое Ethernet-соединение DHCP с именем eth3 с помощью следующей команды:

nmcli con add con-name eth3 type ethernet ifname eth3 ipv4.method auto

Вы должны увидеть следующий вывод:

Connection 'eth3' (ff54dbd6-255d-4935-abc8-73773bef5b55) successfully added.

14. Активируйте новое соединение

Чтобы активировать новое соединение Ethernet eth2, выполните следующую команду:

nmcli con up eth2

Вы должны увидеть следующий вывод:

Connection successfully activated

Теперь вы можете проверить активное соединение с помощью следующей команды:

nmcli con show --active

Вы должны увидеть следующий вывод:

Вывод:

NAME         UUID                                  TYPE      DEVICE 
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1   
eth2         cefb3f7d-424c-42f8-b4e8-ed54e7dcb880  ethernet  eth2 

15. Деактивировать соединение

Чтобы деактивировать соединение eth2, выполните следующую команду:

nmcli con down eth2

16. Удалить соединение

Вы также можете удалить конкретное соединение Ethernet с помощью nmcli.

Например, чтобы удалить соединение eth2, выполните следующую команду:

nmcli con del eth2

Вы должны увидеть следующий вывод:

Connection 'eth2' (cefb3f7d-424c-42f8-b4e8-ed54e7dcb880) successfully deleted.

17. Измените имя хоста с помощью nmcli

Чтобы узнать текущее имя хоста вашей системы, выполните следующую команду:

nmcli general hostname

Вы должны увидеть следующий вывод:

centos8

Затем измените имя хоста с centos8 на Linux с помощью следующей команды:

nmcli general hostname linux

Затем проверьте имя хоста с помощью следующей команды:

nmcli general hostname

Вы должны увидеть следующий вывод:

linux

18. Измените директиву DEFROUTE

Директива DEFROUTE используется для отключения и включения шлюза по умолчанию для вашего Ethernet-соединения.

Чтобы включить директиву DEFROUTE для eth2, выполните следующую команду:

nmcli con mod "System eth2" ipv4.never-default yes

19. Перезапустите соединение Ethernet

Вы можете перезапустить или перезагрузить соединение Ethernet с помощью следующей команды:

nmcli con reload

20. помощь с помощью nmcli

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

nmcli --help

Вы должны увидеть следующий вывод:

Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -a, --ask                                ask for missing parameters
  -c, --colors auto|yes|no                 whether to use colors in output
  -e, --escape yes|no                      escape columns separators in values
  -f, --fields <field,...>|all|common      specify fields to output
  -g, --get-values <field,...>|all|common  shortcut for -m tabular -t -f
  -h, --help                               print this help
  -m, --mode tabular|multiline             output mode
  -o, --overview                           overview mode
  -p, --pretty                             pretty output
  -s, --show-secrets                       allow displaying passwords
  -t, --terse                              terse output
  -v, --version                            show program version
  -w, --wait                      set timeout waiting for finishing operations

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

Заключение

В приведенном выше руководстве мы узнали, как использовать nmcli для управления и контроля соединений Ethernet в клонах RHEL 8, таких как AlmaLinux, centOS или Rocky Linux. Я надеюсь, что теперь вы можете легко добавлять, редактировать или создавать новое соединение с помощью nmcli. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.