Модуль community.general.nmcli — управление сетью
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.general.nmcli.
Краткое описание
- Управление сетевыми устройствами. Создание, изменение и управление различными подключениями и типами устройств, например
ethernet,team,bond,vlanи другими. - В системах CentOS 8 и Fedora >=29 необходимые компоненты можно установить с помощью следующих пакетов:
NetworkManager. - В системах CentOS 7 и Fedora <=28 необходимые компоненты можно установить с помощью следующих пакетов:
NetworkManager-tui. - В системах Ubuntu и Debian необходимые компоненты можно установить с помощью следующих пакетов:
network-manager. - В openSUSE необходимые компоненты можно установить с помощью следующих пакетов:
NetworkManager.
Требования
Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.
- nmcli
Параметры
Параметр | Комментарии |
|---|---|
addr_gen_mode6 string добавлено в community.general 4.2.0 | Настройка метода создания адреса для автоматической настройки адресов IPv6 без сохранения состояния.
Варианты:
|
ageingtime integer | Используется только с bridge — [ageing-time <0-1000000>] время устаревания MAC-адреса Ethernet в секундах. По умолчанию: |
arp_interval integer | Используется только с bond — интервал ARP. |
arp_ip_target string | Используется только с bond — целевой IP-адрес ARP. |
autoconnect boolean | Должно ли соединение запускаться при загрузке системы. Можно ли автоматически активировать профиль соединения. Варианты:
|
autoconnect_priority integer добавлено в community.general 11.0.0 | Приоритет профиля соединения для автоматического подключения. Если задан, предпочтение отдается профилям соединения с более высоким приоритетом. |
autoconnect_retries integer добавлено в community.general 11.0.0 | Количество повторных попыток автоматического подключения. |
conn_name string / обязательный | Имя, используемое для вызова соединения. Шаблон: |
conn_reload boolean добавлено в community.general 9.5.0 | Следует ли перезагрузить соединение, если оно было изменено. Варианты:
|
dhcp_client_id string | Идентификатор DHCP-клиента, отправляемый DHCP-серверу. |
dns4 list / elements=string | Список из не более чем 3 DNS-серверов. Записи должны быть адресами IPv4, например |
dns4_ignore_auto boolean добавлено в community.general 3.2.0 | Игнорировать автоматически настроенные серверы имен IPv4. Варианты:
|
dns4_options list / elements=string добавлено в community.general 7.2.0 | Список параметров DNS. |
dns4_search list / elements=string | Список доменов поиска DNS. |
dns6 list / elements=string | Список из не более чем 3 DNS-серверов. Записи должны быть адресами IPv6, например |
dns6_ignore_auto boolean добавлено в community.general 3.2.0 | Игнорировать автоматически настроенные серверы имен IPv6. Варианты:
|
dns6_options list / elements=string добавлено в community.general 7.2.0 | Список параметров DNS. |
dns6_search list / elements=string | Список доменов поиска DNS. |
downdelay integer | Используется только с bond — задержка отключения. |
egress string | Используется только с VLAN — сопоставление приоритетов исходящего трафика VLAN. |
fail_over_mac string добавлено в community.general 10.3.0 | Используется только с bond — fail_over_mac. Варианты:
|
flags string | Используется только с VLAN — флаги. |
forwarddelay integer | Используется только с bridge — [forward-delay <2-30>] задержка пересылки STP в секундах. По умолчанию: |
gsm dictionary добавлено в community.general 3.7.0 | Конфигурация соединения GSM. Обратите внимание, что список атрибутов подопций может различаться в зависимости от версии NetworkManager/nmcli, установленной на узле. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-gsm.html. Например, чтобы использовать apn, pin, username и password: |
|
apn string |
Имя точки доступа GPRS, определяющее APN, используемое при установлении сеанса передачи данных в сети на основе GSM. APN часто определяет, как тарифицируется использование сети пользователем и получает ли пользователь доступ к Интернету или только к закрытой сети провайдера, поэтому важно использовать правильный APN для тарифного плана мобильного широкополосного доступа. В соответствии с разделом 14.9 GSM 03.60, APN может состоять только из символов a-z, 0-9, ., и -. |
|
auto-config boolean |
Если Варианты:
|
|
device-id string |
Уникальный идентификатор устройства (предоставляемый службой управления Если указан, соединение применяется только к заданному устройству. |
|
home-only boolean |
Если Соединения с роуминговыми сетями не устанавливаются. Варианты:
|
|
mtu integer |
Если значение ненулевое, передавать только пакеты указанного размера или меньше, разбивая более крупные пакеты на несколько кадров Ethernet. По умолчанию: |
|
network-id string |
Идентификатор сети (формат GSM LAI, то есть MCC-MNC) для принудительной регистрации в определенной сети. Если указан идентификатор сети, NetworkManager пытается принудительно зарегистрировать устройство только в указанной сети. Это можно использовать, чтобы устройство не переходило в роуминг, если прямое управление роумингом устройства недоступно. |
|
number string |
Устаревший параметр, ранее использовавшийся для помощи в установлении сеансов передачи данных PPP на модемах GSM. |
|
password string |
Пароль для аутентификации в сети, если он требуется. Многие провайдеры не требуют пароль или принимают любой пароль. Если пароль требуется, укажите его здесь. |
|
password-flags integer |
Флаги NMSettingSecretFlags, указывающие, как обрабатывать свойство Допустимы следующие варианты: Варианты:
|
|
pin string |
Если SIM-карта заблокирована PIN-кодом, ее необходимо разблокировать до выполнения любых других операций. Укажите здесь PIN-код, чтобы разрешить работу устройства. |
|
pin-flags integer |
Флаги NMSettingSecretFlags, указывающие, как обрабатывать свойство Варианты NMSettingSecretFlags см. в Варианты:
|
|
sim-id string |
Уникальный идентификатор SIM-карты (предоставляемый службой управления Если указан, соединение применяется к любому устройству, также разрешенному параметром |
|
sim-operator-id string |
Строка MCC/MNC, например Если указана, соединение применяется к любому устройству, также разрешенному параметрами |
|
username string |
Имя пользователя для аутентификации в сети, если оно требуется. Многие провайдеры не требуют имени пользователя или принимают любое имя пользователя. Если имя пользователя требуется, укажите его здесь. |
gw4 string | Шлюз IPv4 для этого интерфейса. Используйте формат Этот параметр несовместим с параметром never_default4. |
gw4_ignore_auto boolean добавлено в community.general 3.2.0 | Игнорировать автоматически настроенные маршруты IPv4. Варианты:
|
gw6 string | Шлюз IPv6 для этого интерфейса. Используйте формат |
gw6_ignore_auto boolean добавлено в community.general 3.2.0 | Игнорировать автоматически настроенные маршруты IPv6. Варианты:
|
hairpin boolean | Используется только с ‘bridge-slave’ — «режим hairpin» для ведомого интерфейса, позволяющий отправлять кадры обратно через тот же ведомый интерфейс, на котором они были получены. В community.general 7.0.0 значение по умолчанию изменено на Варианты:
|
hellotime integer | Используется только с bridge — [hello-time <1-10>] интервал hello STP в секундах. По умолчанию: |
ifname string | Интерфейс, к которому привязывается соединение. Соединение применимо только к интерфейсу с этим именем. Для соединений, не зависящих от интерфейса, можно использовать специальное значение Аргумент Если параметр не задан, для всех типов соединений, кроме vpn, он по умолчанию принимает значение |
ignore_unsupported_suboptions boolean добавлено в community.general 3.6.0 | |
infiniband_mac string добавлено в community.general 10.6.0 | MAC-адрес устройств Infiniband IPoIB. |
ingress string | Используется только с VLAN — сопоставление приоритетов входящего трафика VLAN. |
ip4 list / elements=string | Список адресов IPv4 для этого интерфейса. Используйте формат Если параметр задан, а |
ip6 list / elements=string | Список адресов IPv6 для этого интерфейса. Используйте формат Если параметр задан, а |
ip_privacy6 string добавлено в community.general 4.2.0 | Если параметр включён, ядро создаёт временный адрес IPv6 в дополнение к общедоступному адресу. Варианты:
|
ip_tunnel_dev string | Используется с GRE/IPIP/SIT — родительское устройство туннеля GRE/IPIP/SIT; можно указать ifname. |
ip_tunnel_input_key string добавлено в community.general 3.6.0 | Ключ, используемый для входящих пакетов туннеля. Используется только, если |
ip_tunnel_local string | Используется с GRE/IPIP/SIT — локальный IP-адрес GRE/IPIP/SIT. |
ip_tunnel_output_key string добавлено в community.general 3.6.0 | Ключ, используемый для исходящих пакетов туннеля. Используется только, если |
ip_tunnel_remote string | Используется с GRE/IPIP/SIT — IP-адрес назначения GRE/IPIP/SIT. |
mac string | MAC-адрес подключения. Обратите внимание: для этого требуется относительно новая функция ядра, изначально появившаяся в основном ядре версии 3.15. |
macvlan dictionary добавлено в community.general 6.6.0 | Конфигурация подключения MAC VLAN. Обратите внимание: список атрибутов подопций может различаться в зависимости от установленной на узле версии NetworkManager/nmcli. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-macvlan.html. |
|
mode integer / обязательный |
Режим macvlan, определяющий механизм взаимодействия между несколькими macvlan на одном нижележащем устройстве. Допустимы следующие варианты: Варианты:
|
|
parent string / обязательный |
Если указано, задаёт имя родительского интерфейса или UUID родительского подключения, на основе которого следует создать этот интерфейс MAC-VLAN. Если это свойство не задано, подключение должно содержать параметр «802-3-ethernet» со свойством «mac-address». |
|
promiscuous boolean |
Следует ли перевести интерфейс в неразборчивый режим. Варианты:
|
|
tap boolean |
Должен ли интерфейс быть MACVTAP. Варианты:
|
master string | Ведущий <master (ifname, UUID подключения или conn_name) профиля подключения ведущего моста, team, bond или ovs-port. Обязательно, если задано |
maxage integer | Используется только с bridge — [max-age <6-42>], максимальный возраст сообщения STP в секундах. По умолчанию: |
may_fail4 boolean добавлено в community.general 3.3.0 | |
method4 string добавлено в community.general 2.2.0 | Метод настройки IPv4. Если задано Варианты:
|
method6 string добавлено в community.general 2.2.0 | Метод настройки IPv6. Если задано
Варианты:
|
miimon integer | Используется только с bond — miimon. Если параметр не задан, по умолчанию используется значение |
mode string | Тип устройства или сетевого подключения, создаваемого для bond или bridge. Варианты:
|
mtu integer | MTU подключения, например Можно использовать при изменении Team, VLAN и Ethernet (в планах — реализация поддержки wifi, gsm, pppoe, infiniband). Если параметр не задан, по умолчанию используется значение |
never_default4 boolean добавлено в community.general 2.0.0 | Использовать в качестве маршрута по умолчанию. Этот параметр несовместим с параметром gw4. Варианты:
|
path_cost integer | Используется только с «bridge-slave» — [<1-65535>], стоимость порта STP для пунктов назначения, использующих этот подчинённый интерфейс. По умолчанию: |
primary string | Используется только с bond и задаёт имя основного интерфейса (для режима «active-backup»); обычно это ‘ifname’. |
priority integer | Используется только с «bridge» — задаёт приоритет STP. По умолчанию: |
route_metric4 integer добавлено в community.general 2.0.0 | Задаёт метрику маршрутов IPv4, настроенных на интерфейсе. |
route_metric6 integer добавлено в community.general 4.4.0 | Задаёт метрику маршрутов IPv6, настроенных на интерфейсе. |
routes4 list / elements=string добавлено в community.general 2.0.0 | Список маршрутов IPv4. Используйте формат Чтобы указать более сложные маршруты, используйте параметр |
routes4_extended list / elements=dictionary | Список маршрутов IPv4. |
|
cwnd integer |
Ограничение окна перегрузки. |
|
ip string / обязательный |
IP-адрес или префикс маршрута. Используйте формат |
|
metric integer |
Метрика маршрута. |
|
mtu integer |
Если значение не равно нулю, передаются только пакеты указанного размера или меньше. |
|
next_hop string |
Используйте формат |
|
onlink boolean |
Считать, что следующий узел непосредственно подключён к этому каналу, даже если он не соответствует ни одному префиксу интерфейса. Варианты:
|
|
table integer |
Таблица, в которую следует добавить этот маршрут. Значение по умолчанию зависит от |
|
tos integer |
Тип обслуживания. |
routes6 list / elements=string добавлено в community.general 4.4.0 | Список маршрутов IPv6. Используйте формат Чтобы указать более сложные маршруты, используйте параметр |
routes6_extended list / elements=dictionary | Список маршрутов IPv6 с параметрами. |
|
cwnd integer |
Ограничение окна перегрузки. |
|
ip string / обязательный |
IP-адрес или префикс маршрута. Используйте формат |
|
metric integer |
Метрика маршрута. |
|
mtu integer |
Если значение не равно нулю, передаются только пакеты указанного размера или меньше. |
|
next_hop string |
Используйте формат |
|
onlink boolean |
Считать, что следующий узел непосредственно подключён к этому каналу, даже если он не соответствует ни одному префиксу интерфейса. Варианты:
|
|
table integer |
Таблица, в которую следует добавить этот маршрут. Значение по умолчанию зависит от |
routing_rules4 list / elements=string добавлено в community.general 3.3.0 | Аналогично команде |
routing_rules6 list / elements=string добавлено в community.general 12.3.0 | Аналогично команде |
runner string добавлено в community.general 3.4.0 | Тип устройства или сетевого подключения, создаваемого для team. Варианты:
|
runner_fast_rate boolean добавлено в community.general 6.5.0 | Параметр задаёт частоту, с которой партнёр по каналу получает запрос на передачу пакетов LACPDU. Если значение равно Допустимо только для Варианты:
|
runner_hwaddr_policy string добавлено в community.general 3.4.0 | Задаёт политику установки аппаратных адресов устройства team и портовых устройств на протяжении всего срока существования team. Варианты:
|
slave_type string добавлено в community.general 7.0.0 | Тип устройства ведущего подключения для этого подчинённого устройства (например, Тип Варианты:
|
slavepriority integer | Используется только с «bridge-slave» — [<0-63>], приоритет STP этого подчинённого устройства. По умолчанию: |
sriov dictionary добавлено в community.general 10.1.0 | Позволяет настроить параметры SR-IOV. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.pages.freedesktop.org/NetworkManager/NetworkManager/settings-sriov.html. |
|
autoprobe-drivers integer |
Выполнять ли автоматическое обнаружение виртуальных функций с помощью совместимого драйвера. |
|
eswitch-encap-mode integer |
Выбрать поддержку инкапсуляции eswitch. |
|
eswitch-inline-mode integer |
Выбрать режим inline-mode eswitch для устройства. |
|
eswitch-mode integer |
Выбрать режим eswitch для устройства. |
|
total-vfs integer |
Количество создаваемых виртуальных функций. Сведения о максимальном количестве поддерживаемых VF см. в документации к сетевой карте. |
|
vfs string |
Дескрипторы виртуальных функций в формате: Можно указать несколько VF, разделив их запятыми, например |
ssid string добавлено в community.general 3.0.0 | Имя беспроводного маршрутизатора или точки доступа. |
state string / обязательный | Определяет, должно ли устройство существовать; действие выполняется, если текущее состояние отличается от указанного. Использование Использование Допустимые значения:
|
stp boolean | Используется только с мостом и определяет, включен ли для него протокол связующего дерева (STP). Допустимые значения:
|
table integer добавлено в community.general 10.4.0 | Используется только с VRF — номер таблицы VRF. |
transport_mode string добавлено в community.general 5.8.0 | Этот параметр задает тип подключения для устройств Infiniband IPoIB. Допустимые значения:
|
type string | Тип создаваемого или изменяемого устройства либо сетевого подключения. Тип Тип Тип Тип Тип Тип Тип Тип Тип Тип Тип Использование Для управления подключением не Ethernet, связанным с Допустимые значения:
|
updelay integer | Используется только с bond — задержка перед активацией. |
vlandev string | Используется только с VLAN — родительское устройство этого VLAN; можно указать ifname. |
vlanid integer | Используется только с VLAN — идентификатор VLAN в диапазоне <0-4095>. |
vpn dictionary добавлено в community.general 5.1.0 | Настройка VPN-подключения (PPTP и L2TP). Чтобы использовать L2TP, убедитесь, что на узле установлены |
|
gateway string / обязательный |
Шлюз подключения. Это может быть IP-адрес (например, |
|
ipsec-enabled boolean |
Включить или отключить туннель IPSec к узлу L2TP. Этот параметр необходим, если Допустимые значения:
|
|
ipsec-psk string |
Предварительно согласованный ключ в кодировке base64. Для кодирования можно использовать это выражение Ansible Jinja2: Используется только, если |
|
password-flags integer |
Флаги NMSettingSecretFlags, указывающие, как обрабатывать свойство Допустимы следующие значения: Допустимые значения:
|
|
permissions string / обязательный |
Пользователь, которому разрешено использовать подключение. |
|
service-type string / обязательный |
Определяет тип службы подключения. |
|
user string / обязательный |
Имя пользователя, предоставленное администратором VPN. |
vxlan_id integer | Используется только с VXLAN — идентификатор VXLAN. |
vxlan_local string | Используется только с VXLAN — локальный IP-адрес VXLAN. |
vxlan_parent string добавлено в community.general 12.2.0 | Используется только с VXLAN — родительское устройство VXLAN (обязательно при использовании группового удаленного адреса). |
vxlan_remote string | Используется только с VXLAN — IP-адрес назначения VXLAN. |
wifi dictionary добавлено в community.general 3.5.0 | Конфигурация Wi-Fi-подключения. Обратите внимание, что список атрибутов подопций может различаться в зависимости от версии NetworkManager/nmcli, установленной на узле. Актуальный список поддерживаемых атрибутов см. здесь: https://networkmanager.dev/docs/api/latest/settings-802-11-wireless.html. Например, чтобы создать Wi-Fi-подключение в режиме скрытой точки доступа: |
|
ap-isolation integer |
Настраивает изоляцию точки доступа, запрещающую обмен данными между подключенными к ней беспроводными устройствами. Этому свойству можно задать значение, отличное от Если задано значение Если задано значение Если задано значение Допустимые значения:
|
|
assigned-mac-address string |
Новое поле для клонированного MAC-адреса. Это может быть аппаратный адрес в ASCII-представлении или одно из специальных значений: Это поле заменяет устаревшее поле Обратите внимание, что это свойство существует только в API D-Bus. В libnm и nmcli оно по-прежнему называется |
|
band string |
Диапазон частот 802.11 для сети. Одно из значений: Этот параметр ограничивает подключение к сети Wi-Fi указанным диапазоном. Например, если задано Эта настройка зависит от возможностей конкретного драйвера и может работать не со всеми драйверами. Допустимые значения:
|
|
bssid string |
Если задано, устройство подключается только к указанной точке доступа. Поддержка этой возможности в значительной степени зависит от драйвера, и она доступна не на всех устройствах. Обратите внимание: это свойство не управляет BSSID, используемым при создании сети Ad-Hoc, и вряд ли будет управлять им в будущем. |
|
channel integer |
Беспроводной канал для Wi-Fi-подключения. Устройство подключается к Wi-Fi-сети (или создает сеть Ad-Hoc) только на указанном канале. Поскольку номера каналов пересекаются между диапазонами, для этого свойства также необходимо задать свойство По умолчанию: |
|
cloned-mac-address string |
Это поле D-Bus устарело; вместо него рекомендуется использовать В libnm и nmcli это поле называется |
|
generate-mac-address-mask string |
При настройке Обратите внимание: младший бит первого MAC-адреса всегда сбрасывается, чтобы создать индивидуальный MAC-адрес. Если свойство имеет значение Если значение по-прежнему равно Если значение содержит один MAC-адрес, он используется в качестве маски. Установленные биты маски заполняются текущим MAC-адресом устройства, а сброшенные биты рандомизируются. Значение Если после маски значение содержит еще один MAC-адрес, он используется вместо текущего MAC-адреса для заполнения битов, которые не должны рандомизироваться. Например, значение Значение Если значение содержит более одного дополнительного MAC-адреса, один из них выбирается случайным образом. Например, |
|
boolean |
Если задано В режиме инфраструктуры для более надежного обнаружения скрытых сетей используются различные обходные решения, например сканирование SSID с помощью пробных запросов. Однако такие обходные решения выявляют присущую сетям со скрытым SSID уязвимость, поэтому использовать их следует с осторожностью. В режиме точки доступа созданная сеть не передает свой SSID. Обратите внимание: пометка сети как скрытой может создать угрозу конфиденциальности для вас (в режиме инфраструктуры) или клиентских станций (в режиме точки доступа), поскольку явные пробные запросы легко распознаются в эфире. Допустимые значения:
|
|
mac-address string |
Если задано, это подключение применяется только к Wi-Fi-устройству, постоянный MAC-адрес которого совпадает с указанным. Это свойство не изменяет MAC-адрес устройства (например, для подмены MAC-адреса). |
|
mac-address-blacklist list / elements=string |
Список постоянных MAC-адресов Wi-Fi-устройств, к которым это подключение не должно применяться. Каждый MAC-адрес следует указывать в стандартной шестнадцатеричной записи с двоеточиями (например, |
|
mac-address-randomization integer |
Одно из значений: Это свойство устарело; вместо него используйте Допустимые значения:
|
|
mode string |
Режим сети Wi-Fi. Если значение не указано, предполагается Допустимые значения:
|
|
mtu integer |
Если значение не равно нулю, передаются только пакеты указанного размера или меньше; более крупные пакеты разбиваются на несколько кадров Ethernet. По умолчанию: |
|
powersave integer |
Одно из значений: Все остальные значения зарезервированы. Допустимые значения:
|
|
rate integer |
Если значение отлично от нуля, устройству предписывается использовать для связи с точкой доступа только указанную скорость передачи данных. Единицы измерения — Кбит/с, например, Это свойство в значительной степени зависит от драйвера, и не все устройства поддерживают настройку фиксированной скорости передачи данных. По умолчанию: |
|
tx-power integer |
Если значение отлично от нуля, устройству предписывается использовать указанную мощность передачи. Единицы измерения — дБм. Это свойство в значительной степени зависит от драйвера, и не все устройства поддерживают настройку фиксированной мощности передачи. По умолчанию: |
|
wake-on-wlan integer |
Параметры NMSettingWirelessWakeOnWLan, которые нужно включить. Не все устройства поддерживают все параметры. Можно указать любую комбинацию из Чтобы объединить несколько параметров, необходимо указать сумму их значений. По умолчанию: |
wifi_sec dictionary добавлено в community.general 3.0.0 | Настройки безопасности Wi-Fi-подключения. Обратите внимание: список атрибутов подопций может различаться в зависимости от версии NetworkManager/nmcli, установленной на узле. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-802-11-wireless-security.html. Например, чтобы использовать распространённую аутентификацию WPA-PSK с паролем: |
|
auth-alg string |
При использовании WEP (то есть если Одно из значений: При использовании Cisco LEAP (то есть если Варианты:
|
|
fils integer |
Указывает, нужно ли включить для подключения быструю первоначальную настройку соединения (Fast Initial Link Setup, 802.11ai). Одно из значений: Если задано значение Варианты:
|
|
group list / elements=string |
Список алгоритмов группового шифрования/шифрования широковещательных передач, который запрещает подключение к сетям Wi-Fi, не использующим ни один из перечисленных алгоритмов. Для максимальной совместимости оставьте это свойство пустым. Варианты:
|
|
key-mgmt string |
Управление ключами, используемое для подключения. Одно из значений: Это свойство необходимо задавать для любого Wi-Fi-подключения, использующего защиту. Варианты:
|
|
leap-password string |
Пароль для входа в устаревшие подключения LEAP (то есть если |
|
leap-password-flags list / elements=integer |
Флаги, указывающие, как обрабатывать свойство |
|
leap-username string |
Имя пользователя для входа в устаревшие подключения LEAP (то есть если |
|
pairwise list / elements=string |
Список алгоритмов попарного шифрования, который запрещает подключение к сетям Wi-Fi, не использующим ни один из перечисленных алгоритмов. Для максимальной совместимости оставьте это свойство пустым. Варианты:
|
|
pmf integer |
Указывает, нужно ли включить для подключения защищённые кадры управления (Protected Management Frames, 802.11w). Одно из значений: Если задано значение Варианты:
|
|
proto list / elements=string |
Список строк, задающих разрешённые версии протокола WPA. Каждый элемент может иметь значение Если значение не задано, разрешены подключения WPA и RSN. Варианты:
|
|
psk string |
Предварительно установленный ключ для сетей WPA. Для WPA-PSK это либо парольная фраза ASCII длиной от 8 до 63 символов, которая хешируется для получения фактического ключа (как указано в стандарте 802.11i), либо ключ в виде 64 шестнадцатеричных символов. В сетях WPA3-Personal для аутентификации SAE используется парольная фраза произвольной длины. |
|
psk-flags list / elements=integer |
Флаги, указывающие, как обрабатывать свойство |
|
wep-key-flags list / elements=integer |
Флаги, указывающие, как обрабатывать свойства |
|
wep-key-type integer |
Определяет способ интерпретации ключей WEP. Допустимые значения: Варианты:
|
|
wep-key0 string |
Ключ WEP с индексом 0. Это ключ WEP, используемый в большинстве сетей. Описание интерпретации этого ключа см. в свойстве |
|
wep-key1 string |
Ключ WEP с индексом 1. Большинство сетей не используют этот индекс WEP. Описание интерпретации этого ключа см. в свойстве |
|
wep-key2 string |
Ключ WEP с индексом 2. Большинство сетей не используют этот индекс WEP. Описание интерпретации этого ключа см. в свойстве |
|
wep-key3 string |
Ключ WEP с индексом 3. Большинство сетей не используют этот индекс WEP. Описание интерпретации этого ключа см. в свойстве |
|
wep-tx-keyidx integer |
При использовании статического WEP (то есть если Допустимые значения: от Обратите внимание, что некоторые потребительские точки доступа (например, Linksys WRT54G) нумеруют ключи от Варианты:
|
|
wps-method integer |
Флаги, указывающие, какой режим WPS следует использовать, если он вообще используется. Обычно нет необходимости менять значение по умолчанию: NetworkManager автоматически определяет по возможностям точки доступа, можно ли начать регистрацию WPS. WPS можно отключить, задав для этого свойства значение По умолчанию: |
wireguard dictionary добавлено в community.general 4.3.0 | Настройки подключения WireGuard. Обратите внимание: список атрибутов подопций может различаться в зависимости от версии NetworkManager/nmcli, установленной на узле. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-wireguard.html. Например, чтобы настроить порт прослушивания: |
|
fwmark integer |
32-битная метка fwmark для исходящих пакетов. Использование fwmark необязательно и по умолчанию отключено. Значение 0 отключает эту функцию. Обратите внимание: включение |
|
ip4-auto-default-route boolean |
Включает ли специальную обработку маршрута IPv4 по умолчанию. Если параметр включён, маршрут IPv4 по умолчанию из Число fwmark также используется в качестве таблицы маршрутизации для маршрута по умолчанию; если fwmark равен нулю, автоматически выбирается свободная метка fwmark/таблица. Это соответствует поведению wg-quick с Table=auto и функции, которую WireGuard называет «улучшенной маршрутизацией на основе правил». Варианты:
|
|
ip6-auto-default-route boolean | |
|
listen-port integer |
Порт прослушивания подключения WireGuard. Если он не задан, при активации интерфейса порт выбирается случайным образом. |
|
mtu integer |
Если значение отлично от нуля, передаются только пакеты указанного размера или меньше; более крупные пакеты разбиваются на несколько фрагментов. Если значение равно нулю, используется MTU по умолчанию. Обратите внимание: в отличие от настройки MTU в wg-quick, это значение не учитывает текущие маршруты на момент активации. |
|
peer-routes boolean |
Следует ли автоматически добавлять маршруты для диапазонов AllowedIPs узлов-пиров. Если задано Если задано Обратите внимание: если AllowedIPs узла-пира равен Варианты:
|
|
private-key string |
256-битный закрытый ключ в кодировке Base64. |
|
private-key-flags integer | |
xmit_hash_policy string добавлено в community.general 5.6.0 | Используется только с типом xmit_hash_policy для bond. |
zone string добавлено в community.general 2.0.0 | Уровень доверия подключения. При изменении этого свойства у уже активированного подключения изменения вступают в силу немедленно. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: full | Может работать в режиме |
diff_mode | Поддержка: full | В режиме сравнения возвращает подробную информацию об изменениях (или возможных изменениях в |
Примеры
# These examples are using the following inventory:
#
# ## Directory layout:
#
# |_/inventory/cloud-hosts
# | /group_vars/openstack-stage.yml
# | /host_vars/controller-01.openstack.host.com
# | /host_vars/controller-02.openstack.host.com
# |_/playbook/library/nmcli.py
# | /playbook-add.yml
# | /playbook-del.yml
# ```
#
# ## inventory examples
# ### groups_vars
# ```yml
# ---
# #devops_os_define_network
# storage_gw: "192.0.2.254"
# external_gw: "198.51.100.254"
# tenant_gw: "203.0.113.254"
#
# #Team vars
# nmcli_team:
# - conn_name: tenant
# ip4: '{{ tenant_ip }}'
# gw4: '{{ tenant_gw }}'
# - conn_name: external
# ip4: '{{ external_ip }}'
# gw4: '{{ external_gw }}'
# - conn_name: storage
# ip4: '{{ storage_ip }}'
# gw4: '{{ storage_gw }}'
# nmcli_team_slave:
# - conn_name: em1
# ifname: em1
# master: tenant
# - conn_name: em2
# ifname: em2
# master: tenant
# - conn_name: p2p1
# ifname: p2p1
# master: storage
# - conn_name: p2p2
# ifname: p2p2
# master: external
#
# #bond vars
# nmcli_bond:
# - conn_name: tenant
# ip4: '{{ tenant_ip }}'
# gw4: ''
# mode: balance-rr
# - conn_name: external
# ip4: '{{ external_ip }}'
# gw4: ''
# mode: balance-rr
# - conn_name: storage
# ip4: '{{ storage_ip }}'
# gw4: '{{ storage_gw }}'
# mode: balance-rr
# nmcli_bond_slave:
# - conn_name: em1
# ifname: em1
# master: tenant
# - conn_name: em2
# ifname: em2
# master: tenant
# - conn_name: p2p1
# ifname: p2p1
# master: storage
# - conn_name: p2p2
# ifname: p2p2
# master: external
#
# #ethernet vars
# nmcli_ethernet:
# - conn_name: em1
# ifname: em1
# ip4:
# - '{{ tenant_ip }}'
# - '{{ second_tenant_ip }}'
# gw4: '{{ tenant_gw }}'
# - conn_name: em2
# ifname: em2
# ip4: '{{ tenant_ip1 }}'
# gw4: '{{ tenant_gw }}'
# - conn_name: p2p1
# ifname: p2p1
# ip4: '{{ storage_ip }}'
# gw4: '{{ storage_gw }}'
# - conn_name: p2p2
# ifname: p2p2
# ip4: '{{ external_ip }}'
# gw4: '{{ external_gw }}'
# ```
#
# ### host_vars
# ```yml
# ---
# storage_ip: "192.0.2.91/23"
# external_ip: "198.51.100.23/21"
# tenant_ip: "203.0.113.77/23"
# second_tenant_ip: "204.0.113.77/23"
# ```
## playbook-add.yml example
- hosts: openstack-stage
remote_user: root
tasks:
- name: Install needed network manager libs
ansible.builtin.package:
name:
- NetworkManager-libnm
- nm-connection-editor
- libsemanage-python
- policycoreutils-python
state: present
##### Working with all cloud nodes - Teaming
- name: Try nmcli add team - conn_name only & ip4 gw4
community.general.nmcli:
type: team
conn_name: '{{ item.conn_name }}'
ip4: '{{ item.ip4 }}'
gw4: '{{ item.gw4 }}'
state: present
with_items:
- '{{ nmcli_team }}'
- name: Try nmcli add teams-slave
community.general.nmcli:
type: team-slave
conn_name: '{{ item.conn_name }}'
ifname: '{{ item.ifname }}'
master: '{{ item.master }}'
state: present
with_items:
- '{{ nmcli_team_slave }}'
##### Working with all cloud nodes - Bonding
- name: Try nmcli add bond - conn_name only & ip4 gw4 mode
community.general.nmcli:
type: bond
conn_name: '{{ item.conn_name }}'
ip4: '{{ item.ip4 }}'
gw4: '{{ item.gw4 }}'
mode: '{{ item.mode }}'
state: present
with_items:
- '{{ nmcli_bond }}'
- name: Try nmcli add bond-slave
community.general.nmcli:
type: bond-slave
conn_name: '{{ item.conn_name }}'
ifname: '{{ item.ifname }}'
master: '{{ item.master }}'
state: present
with_items:
- '{{ nmcli_bond_slave }}'
##### Working with all cloud nodes - Ethernet
- name: Try nmcli add Ethernet - conn_name only & ip4 gw4
community.general.nmcli:
type: ethernet
conn_name: '{{ item.conn_name }}'
ip4: '{{ item.ip4 }}'
gw4: '{{ item.gw4 }}'
state: present
with_items:
- '{{ nmcli_ethernet }}'
## playbook-del.yml example
- hosts: openstack-stage
remote_user: root
tasks:
- name: Try nmcli del team - multiple
community.general.nmcli:
conn_name: '{{ item.conn_name }}'
state: absent
with_items:
- conn_name: em1
- conn_name: em2
- conn_name: p1p1
- conn_name: p1p2
- conn_name: p2p1
- conn_name: p2p2
- conn_name: tenant
- conn_name: storage
- conn_name: external
- conn_name: team-em1
- conn_name: team-em2
- conn_name: team-p1p1
- conn_name: team-p1p2
- conn_name: team-p2p1
- conn_name: team-p2p2
- name: Add an Ethernet connection with static IP configuration
community.general.nmcli:
conn_name: my-eth1
ifname: eth1
type: ethernet
ip4: 192.0.2.100/24
gw4: 192.0.2.1
state: present
- name: Add an Team connection with static IP configuration
community.general.nmcli:
conn_name: my-team1
ifname: my-team1
type: team
ip4: 192.0.2.100/24
gw4: 192.0.2.1
state: present
autoconnect: true
- name: Optionally, at the same time specify IPv6 addresses for the device
community.general.nmcli:
conn_name: my-eth1
ifname: eth1
type: ethernet
ip4: 192.0.2.100/24
gw4: 192.0.2.1
ip6: 2001:db8::cafe
gw6: 2001:db8::1
state: present
- name: Add two IPv4 DNS server addresses
community.general.nmcli:
conn_name: my-eth1
type: ethernet
dns4:
- 192.0.2.53
- 198.51.100.53
state: present
- name: Make a profile usable for all compatible Ethernet interfaces
community.general.nmcli:
ctype: ethernet
name: my-eth1
ifname: '*'
state: present
- name: Change the property of a setting e.g. MTU
community.general.nmcli:
conn_name: my-eth1
mtu: 9000
type: ethernet
state: present
- name: Change the property of a setting e.g. MTU and reload connection
community.general.nmcli:
conn_name: my-eth1
mtu: 1500
type: ethernet
state: present
conn_reload: true
- name: Disable connection
community.general.nmcli:
conn_name: my-eth1
state: down
- name: Reload and enable connection
community.general.nmcli:
conn_name: my-eth1
state: up
conn_reload: true
- name: Add second ip4 address
community.general.nmcli:
conn_name: my-eth1
ifname: eth1
type: ethernet
ip4:
- 192.0.2.100/24
- 192.0.3.100/24
state: present
- name: Add second ip6 address
community.general.nmcli:
conn_name: my-eth1
ifname: eth1
type: ethernet
ip6:
- 2001:db8::cafe
- 2002:db8::cafe
state: present
- name: Add VxLan
community.general.nmcli:
type: vxlan
conn_name: vxlan_test1
vxlan_id: 16
vxlan_local: 192.168.1.2
vxlan_remote: 192.168.1.5
- name: Add VxLan via multicast on a bridge
community.general.nmcli:
type: vxlan
conn_name: vxlan_test2
vxlan_id: 17
vxlan_parent: eth1
vxlan_local: 192.168.1.2
vxlan_remote: 239.192.0.17
slave_type: bridge
master: br0
- name: Add gre
community.general.nmcli:
type: gre
conn_name: gre_test1
ip_tunnel_dev: eth0
ip_tunnel_local: 192.168.1.2
ip_tunnel_remote: 192.168.1.5
- name: Add ipip
community.general.nmcli:
type: ipip
conn_name: ipip_test1
ip_tunnel_dev: eth0
ip_tunnel_local: 192.168.1.2
ip_tunnel_remote: 192.168.1.5
- name: Add sit
community.general.nmcli:
type: sit
conn_name: sit_test1
ip_tunnel_dev: eth0
ip_tunnel_local: 192.168.1.2
ip_tunnel_remote: 192.168.1.5
- name: Add zone
community.general.nmcli:
type: ethernet
conn_name: my-eth1
zone: external
state: present
# nmcli exits with status 0 if it succeeds and exits with a status greater
# than zero when there is a failure. The following list of status codes may be
# returned:
#
# - 0 Success - indicates the operation succeeded
# - 1 Unknown or unspecified error
# - 2 Invalid user input, wrong nmcli invocation
# - 3 Timeout expired (see --wait option)
# - 4 Connection activation failed
# - 5 Connection deactivation failed
# - 6 Disconnecting device failed
# - 7 Connection deletion failed
# - 8 NetworkManager is not running
# - 9 nmcli and NetworkManager versions mismatch
# - 10 Connection, device, or access point does not exist.
- name: Create the wifi connection
community.general.nmcli:
type: wifi
conn_name: Brittany
ifname: wlp4s0
ssid: Brittany
wifi_sec:
key-mgmt: wpa-psk
psk: my_password
autoconnect: true
state: present
- name: Create a hidden AP mode wifi connection
community.general.nmcli:
type: wifi
conn_name: ChocoMaster
ifname: wlo1
ssid: ChocoMaster
wifi:
hidden: true
mode: ap
autoconnect: true
state: present
- name: Create a gsm connection
community.general.nmcli:
type: gsm
conn_name: my-gsm-provider
ifname: cdc-wdm0
gsm:
apn: my.provider.apn
username: my-provider-username
password: my-provider-password
pin: my-sim-pin
autoconnect: true
state: present
- name: Create a macvlan connection
community.general.nmcli:
type: macvlan
conn_name: my-macvlan-connection
ifname: mymacvlan0
macvlan:
mode: 2
parent: eth1
autoconnect: true
state: present
- name: Create a wireguard connection
community.general.nmcli:
type: wireguard
conn_name: my-wg-provider
ifname: mywg0
wireguard:
listen-port: 51820
private-key: my-private-key
autoconnect: true
state: present
- name: >-
Create a VPN L2TP connection for ansible_user to connect on vpn.example.com
authenticating with user 'brittany' and pre-shared key as 'Brittany123'
community.general.nmcli:
type: vpn
conn_name: my-vpn-connection
vpn:
permissions: "{{ ansible_user }}"
service-type: org.freedesktop.NetworkManager.l2tp
gateway: vpn.example.com
password-flags: 2
user: brittany
ipsec-enabled: true
ipsec-psk: "0s{{ 'Brittany123' | ansible.builtin.b64encode }}"
autoconnect: false
state: present
## Creating bond attached to bridge example
- name: Create bond attached to bridge
community.general.nmcli:
type: bond
conn_name: bond0
slave_type: bridge
master: br0
state: present
- name: Create master bridge
community.general.nmcli:
type: bridge
conn_name: br0
method4: disabled
method6: disabled
state: present
## Creating vlan connection attached to bridge
- name: Create master bridge
community.general.nmcli:
type: bridge
conn_name: br0
state: present
- name: Create VLAN 5
community.general.nmcli:
type: vlan
conn_name: eth0.5
slave_type: bridge
master: br0
vlandev: eth0
vlanid: 5
state: present
## Creating VRF and adding VLAN interface to it
- name: Create VRF
community.general.nmcli:
type: vrf
ifname: vrf10
table: 10
state: present
conn_name: vrf10
method4: disabled
method6: disabled
- name: Create VLAN interface inside VRF
community.general.nmcli:
conn_name: "eth0.124"
type: vlan
vlanid: "124"
vlandev: "eth0"
master: "vrf10"
slave_type: vrf
state: "present"
ip4: '192.168.124.50'
gw4: '192.168.124.1'
## Defining ip rules while setting a static IP
## table 'production' is set with id 200 in this example.
- name: Set Static ips for interface with ip rules and routes
community.general.nmcli:
type: ethernet
conn_name: 'eth0'
ip4: '192.168.1.50'
gw4: '192.168.1.1'
state: present
routes4_extended:
- ip: "0.0.0.0/0"
next_hop: "192.168.1.1"
table: "production"
routing_rules4:
- "priority 0 from 192.168.1.50 table 200"
## Creating an OVS bridge and attaching a port
- name: Create OVS Bridge
community.general.nmcli:
conn_name: ovs-br-conn
ifname: ovs-br
type: ovs-bridge
state: present
- name: Create OVS Port for OVS Bridge Interface
community.general.nmcli:
conn_name: ovs-br-interface-port-conn
ifname: ovs-br-interface-port
master: ovs-br
type: ovs-port
state: present
## Adding an ethernet interface to an OVS bridge port
- name: Add Ethernet Interface to OVS Port
community.general.nmcli:
conn_name: eno1
ifname: eno1
master: ovs-br-interface-port
slave_type: ovs-port
type: ethernet
state: present
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/nmcli_module.html