Использование nmcli — различия между версиями
PastorDi (обсуждение | вклад) |
PastorDi (обсуждение | вклад) |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | === Настройка сети через nmcli === | |
nmcli - Консольный инструмент от NetworkManager'а | nmcli - Консольный инструмент от NetworkManager'а | ||
Строка 10: | Строка 10: | ||
nmcli device show | nmcli device show | ||
+ | |||
+ | == Статика == | ||
Предположим, нам надо настроить все '''статически''' на нашем сетевом интерфейсе. | Предположим, нам надо настроить все '''статически''' на нашем сетевом интерфейсе. | ||
Строка 17: | Строка 19: | ||
[[Файл:Nm-1.png|400px]] | [[Файл:Nm-1.png|400px]] | ||
− | Чтобы все это проделать в консоли, вводим следующее: | + | Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает): |
nmcli connection modify enp0s3 connection.autoconnect yes ipv4.method manual ipv4.dns 192.168.1.100 ipv4.dns-search mydomen.dom ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1 | nmcli connection modify enp0s3 connection.autoconnect yes ipv4.method manual ipv4.dns 192.168.1.100 ipv4.dns-search mydomen.dom ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1 | ||
Строка 40: | Строка 42: | ||
nmcli device disconnect enp0s3 | nmcli device disconnect enp0s3 | ||
nmcli device connect enp0s3 | nmcli device connect enp0s3 | ||
+ | |||
+ | == Динамика == | ||
+ | |||
+ | Предположим, нам надо настроить все '''динамически''', на нашем сетевом интерфейсе. | ||
+ | |||
+ | В NetworkManager'е мы обычно заполняем такие поля: | ||
+ | |||
+ | [[Файл:Nm-3.png|400px]] | ||
+ | |||
+ | Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает): | ||
+ | |||
+ | nmcli connection modify enp0s3 ipv4.method auto ipv4.ignore-auto-dns no | ||
+ | |||
+ | *connection modify - изменяем наше соединение на интерфейсе enp0s3 | ||
+ | *ipv4.ignore-auto-dns - делаем no, т.е. не игнорируем полученные по dhcp серверов DNS | ||
+ | *ipv4.method auto - делаем наше соединение динамическим | ||
+ | |||
+ | Далее надо перезапустить наш интерфейс: | ||
+ | |||
+ | nmcli connection down enp0s3 | ||
+ | nmcli connection up enp0s3 | ||
+ | |||
+ | Либо перезапускаем так: | ||
+ | |||
+ | nmcli device disconnect enp0s3 | ||
+ | nmcli device connect enp0s3 | ||
+ | |||
+ | == Динамика, кроме DNS == | ||
Предположим, нам надо настроить все '''динамически''', кроме DNS, на нашем сетевом интерфейсе. | Предположим, нам надо настроить все '''динамически''', кроме DNS, на нашем сетевом интерфейсе. | ||
Строка 45: | Строка 75: | ||
В NetworkManager'е мы обычно заполняем такие поля: | В NetworkManager'е мы обычно заполняем такие поля: | ||
− | [[Файл:Nm-2.png| | + | [[Файл:Nm-2.png|400px]] |
− | Чтобы все это проделать в консоли, вводим следующее: | + | Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает): |
nmcli connection modify enp0s3 ipv4.ignore-auto-dns yes ipv4.dns 192.168.1.100 | nmcli connection modify enp0s3 ipv4.ignore-auto-dns yes ipv4.dns 192.168.1.100 | ||
Строка 54: | Строка 84: | ||
*connection modify - изменяем наше соединение на интерфейсе enp0s3 | *connection modify - изменяем наше соединение на интерфейсе enp0s3 | ||
− | *connection. | + | *ipv4.ignore-auto-dns - делаем yes, т.е. игнорируем полученные по dhcp серверы DNS |
+ | *ipv4.dns - прописываем IP адрес нашего DNS сервера | ||
+ | |||
+ | Далее надо перезапустить наш интерфейс: | ||
+ | |||
+ | nmcli connection down enp0s3 | ||
+ | nmcli connection up enp0s3 | ||
+ | |||
+ | Либо перезапускаем так: | ||
+ | |||
+ | nmcli device disconnect enp0s3 | ||
+ | nmcli device connect enp0s3 | ||
+ | |||
+ | == Создание VLAN == | ||
+ | |||
+ | Как известно, на одном интерфесе можно "повесить" несколько VLAN'ов. Для примера, нам нужно сделать vlan 100. | ||
+ | |||
+ | nmcli connection add type vlan con-name vlan-enp0s3.100 ifname enp0s3.100 dev enp0s3 id 100 ip4 10.10.1.10/24 | ||
+ | |||
+ | У нас получится, что мы завели vlan 100 на интерфейс enp0s3 с именем vlan-enp0s3.100 | ||
+ | |||
+ | Проверить, с другого сервера/клиента в этом же влане можно командой ping: | ||
+ | |||
+ | ping -I enp0s3.100 10.10.1.10 | ||
+ | |||
+ | Просмотр интервейсов: | ||
+ | |||
+ | nmcli connection | ||
+ | |||
+ | <pre> | ||
+ | dc2 ~ # nmcli connection | ||
+ | NAME UUID TYPE DEVICE | ||
+ | enp0s3 8ceb1102-f61f-3fd1-9f6f-caaa08c51327 ethernet enp0s3 | ||
+ | vlan-enp0s3.100 0633a9a9-4da3-4a40-a7d8-c22f263ba54b vlan enp0s3.100 | ||
+ | </pre> | ||
+ | либо: | ||
+ | ip -br a | ||
+ | <pre> | ||
+ | dc2 ~ # ip -br a | ||
+ | lo UNKNOWN 127.0.0.1/8 ::1/128 | ||
+ | enp0s3 UP 192.168.1.100/24 fe80::a00:27ff:fe2e:1f96/64 | ||
+ | enp0s3.100@enp0s3 UP 10.10.1.10/24 fe80::adbf:6483:4d41:aec9/64 | ||
+ | </pre> | ||
+ | |||
+ | == Создание teaming (bonding) == | ||
+ | |||
+ | Bonding - это технология, поддерживаемая ядром Linux и Red Hat Enterprise Linux, которая позволяет объединить два и более сетевых интерфейса в один логический интерфейс для избыточности или увеличения пропускной способности. | ||
+ | |||
+ | Просмотр двух физических интерфейсов: | ||
+ | nmcli | ||
+ | Создаём связанный интерфейс с именем bond0, определяем интерфейс как bond0, устанавливаем режим "Dynamic Link Aggregation" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса. | ||
+ | nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad ip4 192.168.122.5/24 | ||
+ | Для teaming интерфейса создаем team1, определяем интерфейс как team1, устанавливаем режим "LACP (Dynamic Link Aggregation)" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса. | ||
+ | nmcli connection add type team con-name team1 ifname team1 team.runner lacp ip4 192.168.122.6/24 | ||
+ | |||
+ | Для каждого интерфейса bond, который хотим связать, используем команду nmcli con add type bond-slave. | ||
+ | |||
+ | Для каждого интерфейса team, который хотим связать, используем команду nmcli con add type team-slave. | ||
+ | |||
+ | Команда не содержит аргумента con-name, поэтому имя генерируется автоматически. Добавим интерфейсы eth0 и eth1 в качестве вспомогательных. | ||
+ | nmcli con add type bond-slave ifname eth0 master bond0 | ||
+ | nmcli con add type bond-slave ifname eth1 master bond0 | ||
+ | Для team интерфейса: | ||
+ | nmcli conn add type team-slave ifname eth0 master team1 | ||
+ | nmcli conn add type team-slave ifname eth1 master team1 | ||
+ | |||
+ | Команда nmcli con add type bond-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts. | ||
+ | Команда nmcli con add type team-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts. | ||
+ | |||
+ | Активируем bonding. Сперва поднимаем вспомогательные интерфейсы (аналогично с teaming) | ||
+ | nmcli con up bond-slave-eth0 | ||
+ | nmcli con up bond-slave-eth1 | ||
+ | Затем поднимаем логический интерфейс bond0 (аналогично с teaming) | ||
+ | nmcli connection up bond0 | ||
+ | Проверяем статус bonding-интерфейса (аналогично с teaming): | ||
+ | cat /proc/net/bonding/bond0 | ||
+ | <pre> | ||
+ | Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) | ||
+ | |||
+ | Bonding Mode: fault-tolerance (active-backup) | ||
+ | Primary Slave: None | ||
+ | Currently Active Slave: eth1 | ||
+ | MII Status: up | ||
+ | MII Polling Interval (ms): 100 | ||
+ | Up Delay (ms): 0 | ||
+ | Down Delay (ms): 0 | ||
+ | |||
+ | Slave Interface: eth1 | ||
+ | MII Status: up | ||
+ | Speed: Unknown | ||
+ | Duplex: Unknown | ||
+ | Link Failure Count: 0 | ||
+ | Permanent HW addr: 52:54:00:89:b8:cf | ||
+ | Slave queue ID: 0 | ||
+ | |||
+ | Slave Interface: eth0 | ||
+ | MII Status: up | ||
+ | Speed: Unknown | ||
+ | Duplex: Unknown | ||
+ | Link Failure Count: 0 | ||
+ | Permanent HW addr: 52:54:00:20:46:42 | ||
+ | Slave queue ID: 0 | ||
+ | </pre> | ||
+ | Для отключения IPv6 на bonding-интерфейсе используем команду: | ||
+ | nmcli connection modify bond0 ipv6.method ignore | ||
− | [[Категория: | + | [[Категория:ROSA Server]] |
Текущая версия на 14:04, 10 марта 2023
Содержание
Настройка сети через nmcli
nmcli - Консольный инструмент от NetworkManager'а
Просмотр доступных интерфейсов:
nmcli
nmcli connection show
nmcli device show
Статика
Предположим, нам надо настроить все статически на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 connection.autoconnect yes ipv4.method manual ipv4.dns 192.168.1.100 ipv4.dns-search mydomen.dom ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1
где:
- connection modify - изменяем наше соединение на интерфейсе enp0s3
- connection.autoconnect yes - делаем поднятие соединения при загрузке системы
- ipv4.method manual - делаем наше соединение статическим
- ipv4.dns - прописываем IP адрес нашего DNS сервера
- ipv4.dns-search - прописываем домен поиска
- ipv4.addresses - прописываем IP адрес и маску /24 нашего интерфейса
- ipv4.gateway - прописываем IP адрес нашего шлюза
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Динамика
Предположим, нам надо настроить все динамически, на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 ipv4.method auto ipv4.ignore-auto-dns no
- connection modify - изменяем наше соединение на интерфейсе enp0s3
- ipv4.ignore-auto-dns - делаем no, т.е. не игнорируем полученные по dhcp серверов DNS
- ipv4.method auto - делаем наше соединение динамическим
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Динамика, кроме DNS
Предположим, нам надо настроить все динамически, кроме DNS, на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 ipv4.ignore-auto-dns yes ipv4.dns 192.168.1.100
где:
- connection modify - изменяем наше соединение на интерфейсе enp0s3
- ipv4.ignore-auto-dns - делаем yes, т.е. игнорируем полученные по dhcp серверы DNS
- ipv4.dns - прописываем IP адрес нашего DNS сервера
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Создание VLAN
Как известно, на одном интерфесе можно "повесить" несколько VLAN'ов. Для примера, нам нужно сделать vlan 100.
nmcli connection add type vlan con-name vlan-enp0s3.100 ifname enp0s3.100 dev enp0s3 id 100 ip4 10.10.1.10/24
У нас получится, что мы завели vlan 100 на интерфейс enp0s3 с именем vlan-enp0s3.100
Проверить, с другого сервера/клиента в этом же влане можно командой ping:
ping -I enp0s3.100 10.10.1.10
Просмотр интервейсов:
nmcli connection
dc2 ~ # nmcli connection NAME UUID TYPE DEVICE enp0s3 8ceb1102-f61f-3fd1-9f6f-caaa08c51327 ethernet enp0s3 vlan-enp0s3.100 0633a9a9-4da3-4a40-a7d8-c22f263ba54b vlan enp0s3.100
либо:
ip -br a
dc2 ~ # ip -br a lo UNKNOWN 127.0.0.1/8 ::1/128 enp0s3 UP 192.168.1.100/24 fe80::a00:27ff:fe2e:1f96/64 enp0s3.100@enp0s3 UP 10.10.1.10/24 fe80::adbf:6483:4d41:aec9/64
Создание teaming (bonding)
Bonding - это технология, поддерживаемая ядром Linux и Red Hat Enterprise Linux, которая позволяет объединить два и более сетевых интерфейса в один логический интерфейс для избыточности или увеличения пропускной способности.
Просмотр двух физических интерфейсов:
nmcli
Создаём связанный интерфейс с именем bond0, определяем интерфейс как bond0, устанавливаем режим "Dynamic Link Aggregation" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса.
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad ip4 192.168.122.5/24
Для teaming интерфейса создаем team1, определяем интерфейс как team1, устанавливаем режим "LACP (Dynamic Link Aggregation)" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса.
nmcli connection add type team con-name team1 ifname team1 team.runner lacp ip4 192.168.122.6/24
Для каждого интерфейса bond, который хотим связать, используем команду nmcli con add type bond-slave.
Для каждого интерфейса team, который хотим связать, используем команду nmcli con add type team-slave.
Команда не содержит аргумента con-name, поэтому имя генерируется автоматически. Добавим интерфейсы eth0 и eth1 в качестве вспомогательных.
nmcli con add type bond-slave ifname eth0 master bond0 nmcli con add type bond-slave ifname eth1 master bond0
Для team интерфейса:
nmcli conn add type team-slave ifname eth0 master team1 nmcli conn add type team-slave ifname eth1 master team1
Команда nmcli con add type bond-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts. Команда nmcli con add type team-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts.
Активируем bonding. Сперва поднимаем вспомогательные интерфейсы (аналогично с teaming)
nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1
Затем поднимаем логический интерфейс bond0 (аналогично с teaming)
nmcli connection up bond0
Проверяем статус bonding-интерфейса (аналогично с teaming):
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:89:b8:cf Slave queue ID: 0 Slave Interface: eth0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:20:46:42 Slave queue ID: 0
Для отключения IPv6 на bonding-интерфейсе используем команду:
nmcli connection modify bond0 ipv6.method ignore