community.general.nmcli модуль — Управление сетью
Примечание
Этот модуль входит в коллекцию community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля требуются дополнительные зависимости. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.general.nmcli.
Описание
- Управление сетевыми устройствами. Создание, модификация и управление различными типами подключений и устройств, например, Ethernet, командами, группами, VLAN и т. д.
- В системах типа CentOS 8 и Fedora >=29 требования могут быть выполнены путём установки следующих пакетов: NetworkManager.
- В системах типа CentOS 7 и Fedora <=28 требования могут быть выполнены путём установки следующих пакетов: NetworkManager-tui.
- В системах типа Ubuntu и Debian требования могут быть выполнены путём установки следующих пакетов: network-manager
- В системах openSUSE требования могут быть выполнены путём установки следующих пакетов: NetworkManager.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- nmcli
Параметры
Параметр | Комментарии |
|---|---|
addr_gen_mode6 string added in 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 | Должно ли соединение запускаться при загрузке. Может ли профиль соединения активироваться автоматически Варианты:
|
conn_name string / required | Имя, используемое для вызова соединения. Шаблон: <тип>[-<ifname>][-<num>]. |
conn_reload boolean added in community.general 9.5.0 | Следует ли перезагрузить соединение, если оно было изменено. Варианты:
|
dhcp_client_id string | Идентификатор клиента DHCP, отправляемый на DHCP-сервер. |
dns4 list / elements=string | Список из до 3 DNS-серверов. Записи должны быть IPv4-адресами, например |
dns4_ignore_auto boolean added in community.general 3.2.0 | Игнорировать автоматически настроенные IPv4-серверы имен. Варианты:
|
dns4_options list / elements=string added in community.general 7.2.0 | Список параметров DNS. |
dns4_search list / elements=string | Список поисковых доменов DNS. |
dns6 list / elements=string | Список из до 3 DNS-серверов. Записи должны быть IPv6-адресами, например |
dns6_ignore_auto boolean added in community.general 3.2.0 | Игнорировать автоматически настроенные IPv6-серверы имен. Варианты:
|
dns6_options list / elements=string added in community.general 7.2.0 | Список параметров DNS. |
dns6_search list / elements=string | Список поисковых доменов DNS. |
downdelay integer | Используется только с bond - downdelay. |
egress string | Используется только с VLAN - сопоставление приоритета исходящего трафика VLAN. |
flags string | Используется только с VLAN - флаги. |
forwarddelay integer | Используется только с bridge - [forward-delay <2-30>] задержка пересылки STP, в секундах. Значение по умолчанию: |
gsm словарь добавлено в community.general 3.7.0 | Настройка подключения GSM. Обратите внимание, что список атрибутов подвариантов может отличаться в зависимости от версии NetworkManager/nmcli, установленной на хосте. Полный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-gsm.html. Например, для использования apn, pin, имени пользователя и пароля: |
|
apn строка |
Имя точки доступа GPRS, определяющее APN, используемый при установлении сессии данных с GSM-сетью. APN часто определяет, как будет рассчитываться плата пользователя за использование сети и будет ли у него доступ к Интернету или только к ограниченному пространству поставщика, поэтому важно использовать правильный APN для мобильного плана пользователя. APN может содержать только символы a-z, 0-9, ., и - в соответствии с GSM 03.60, раздел 14.9. |
|
auto-config булево |
Если Выбор:
|
|
device-id строка |
Уникальный идентификатор устройства (предоставленный службой управления Если указано, подключение будет применяться только к указанному устройству. |
|
home-only булево |
Если Подключения к роуминговым сетям не будут устанавливаться. Выбор:
|
|
mtu целое число |
Если значение не равно нулю, передаются только пакеты указанного размера или меньше, а большие пакеты разбиваются на несколько Ethernet-кадров. По умолчанию: |
|
network-id строка |
Идентификатор сети (формат GSM LAI, т.е. MCC-MNC) для принудительной регистрации в конкретной сети. Если указан идентификатор сети, NetworkManager попытается принудительно зарегистрировать устройство только в указанной сети. Это можно использовать для предотвращения роуминга, когда прямой контроль роуминга устройства недоступен. |
|
number строка |
Устаревшее значение, которое раньше помогало устанавливать сессии PPP для GSM-модемов. |
|
password строка |
Пароль, используемый для аутентификации в сети, если требуется. Многие провайдеры не требуют пароль или принимают любой пароль. Но если пароль требуется, он указывается здесь. |
|
password-flags целое число |
NMSettingSecretFlags, указывающие, как обрабатывать свойство Доступные варианты: Выбор:
|
|
pin строка |
Если SIM-карта заблокирована PIN-кодом, она должна быть разблокирована перед выполнением других операций. Укажите PIN-код здесь, чтобы разрешить работу устройства. |
|
pin-flags целое число |
NMSettingSecretFlags, указывающие, как обрабатывать свойство См. Выбор:
|
|
sim-id строка |
Уникальный идентификатор SIM-карты (предоставленный службой управления Если указано, подключение будет применяться ко всем устройствам, также разрешенным |
|
sim-operator-id строка |
Строка MCC/MNC, например Если указано, подключение будет применяться ко всем устройствам, также разрешенным |
|
username строка |
Имя пользователя, используемое для аутентификации в сети, если требуется. Многие провайдеры не требуют имя пользователя или принимают любое имя пользователя. Но если имя пользователя требуется, оно указывается здесь. |
gw4 строка | IPv4-шлюз для этого интерфейса. Используйте формат Этот параметр исключает параметр never_default4. |
gw4_ignore_auto boolean added in community.general 3.2.0 | Игнорировать автоматически настроенные маршруты IPv4. Choices:
|
gw6 string | Шлюз IPv6 для этого интерфейса. Используйте формат |
gw6_ignore_auto boolean added in community.general 3.2.0 | Игнорировать автоматически настроенные маршруты IPv6. Choices:
|
hairpin boolean | Используется только с «bridge-slave» — «режим hairpin» для подчинённого устройства, который позволяет отправлять фреймы обратно через подчинённое устройство, на котором был принят фрейм. Изменение значения по умолчанию на Choices:
|
hellotime integer | Используется только с bridge - [hello-time <1-10>] Время ожидания STP (в секундах). Default: |
ifname string | Интерфейс, к которому будет привязано соединение. Соединение будет применимо только к этому имени интерфейса. Специальное значение Аргумент ifname обязателен для всех типов соединений, кроме bond, team, bridge, vlan и vpn. Этот параметр по умолчанию равен |
ignore_unsupported_suboptions boolean added in community.general 3.6.0 | |
ingress string | Используется только с VLAN — сопоставление приоритетов входящего трафика VLAN. |
ip4 list / elements=string | Список адресов IPv4 для этого интерфейса. Используйте формат Если определено и |
ip6 list / elements=string | Список адресов IPv6 для этого интерфейса. Используйте формат Если определено и |
ip_privacy6 string added in community.general 4.2.0 | Если включено, заставляет ядро генерировать временный адрес IPv6 в дополнение к общедоступному. Choices:
|
ip_tunnel_dev string | Используется с GRE/IPIP/SIT — родительское устройство этого туннеля GRE/IPIP/SIT, может использовать ifname. |
ip_tunnel_input_key string added in community.general 3.6.0 | Ключ, используемый для входящих пакетов туннеля. Используется только при |
ip_tunnel_local string | Используется с GRE/IPIP/SIT — локальный IP-адрес GRE/IPIP/SIT. |
ip_tunnel_output_key string added in community.general 3.6.0 | Ключ, используемый для исходящих пакетов туннеля. Используется только при |
ip_tunnel_remote string | Используется с GRE/IPIP/SIT — целевой IP-адрес GRE/IPIP/SIT. |
mac string | MAC-адрес соединения. Обратите внимание, что для этого требуется функция недавнего ядра, первоначально представленная в ядре 3.15. |
macvlan dictionary added in community.general 6.6.0 | Конфигурация соединения MAC VLAN. Обратите внимание, что список атрибутов подпараметров может варьироваться в зависимости от версии NetworkManager/nmcli, установленной на хосте. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-macvlan.html. |
|
режим целое число / обязательно |
Режим macvlan, определяющий механизм взаимодействия между несколькими macvlan на одном нижнем устройстве. Разрешены следующие варианты: Варианты:
|
|
родитель строка / обязательно |
Если указано, задаёт имя родительского интерфейса или UUID родительского подключения, из которого должен быть создан этот интерфейс MAC-VLAN. Если этот параметр не указан, подключение должно содержать значение «802-3-ethernet» с параметром «mac-address». |
|
promiscuous логическое значение |
Указывает, должен ли интерфейс быть помещён в режим promiscuous. Варианты:
|
|
tap логическое значение |
Указывает, должен ли интерфейс быть MACVTAP. Варианты:
|
главный строка | Главный интерфейс <master (имя_интерфейса, или UUID подключения или имя_подключения)> для моста, команды, бонда, подключения master ovs-port. Обязательно, если определено |
макс_возраст целое число | Используется только с мостом - [макс_возраст <6-42>] - максимальный возраст сообщения STP, в секундах. По умолчанию: |
может_провадится4 логическое значение добавлено в community.general 3.3.0 | |
метод4 строка добавлено в community.general 2.2.0 | Метод конфигурации для IPv4. Если Варианты:
|
метод6 строка добавлено в community.general 2.2.0 | Метод конфигурации для IPv6. Если
Варианты:
|
miimon целое число | Используется только с бондом - miimon. Этот параметр по умолчанию |
режим строка | Тип устройства или сетевого подключения, которое вы хотите создать для бонда или моста. Варианты:
|
mtu целое число | MTU подключения, например, 9000. Не может быть применено при создании интерфейса и используется после создания интерфейса. Может использоваться при модификации команды, VLAN, Ethernet (будущие планы по реализации wifi, gsm, pppoe, infiniband) Этот параметр по умолчанию |
никогда_по_умолчанию4 логическое значение добавлено в community.general 2.0.0 | Установить как маршрут по умолчанию. Этот параметр взаимоисключающий с параметром gw4. Варианты:
|
стоимость_пути целое число | Используется только с ‘bridge-slave’ - [<1-65535>] - стоимость порта STP для адресатов через этот slave. По умолчанию: |
первичный строка | Используется только с бондом и представляет имя первичного интерфейса (для режима «active-backup»), обычно это ‘имя_интерфейса’. |
приоритет целое число | Используется только с ‘мост’ - задаёт приоритет STP. По умолчанию: |
метрика_маршрута4 целое число добавлено в community.general 2.0.0 | Установить уровень метрики маршрутов ipv4, сконфигурированных на интерфейсе. |
route_metric6 integer added in community.general 4.4.0 | Задать уровень метрики маршрутов IPv6, настроенных на интерфейсе. |
routes4 list / elements=string added in community.general 2.0.0 | Список маршрутов IPv4. Используйте формат Чтобы указать более сложные маршруты, используйте параметр |
routes4_extended list / elements=dictionary | Список маршрутов IPv4. |
|
cwnd integer |
Ограничение для окна задержки. |
|
ip string / required |
IP-адрес или префикс маршрута. Используйте формат |
|
metric integer |
Метрика маршрута. |
|
mtu integer |
Если не равно нулю, передавать только пакеты указанного размера или меньше. |
|
next_hop string |
Используйте формат |
|
onlink boolean |
Притвориться, что следующий узел напрямую подключен к этой связи, даже если он не соответствует ни одному префиксу интерфейса. Варианты:
|
|
table integer |
Таблица, в которую нужно добавить этот маршрут. Значение по умолчанию зависит от |
|
tos integer |
Тип обслуживания. |
routes6 list / elements=string added in community.general 4.4.0 | Список маршрутов IPv6. Используйте формат Чтобы указать более сложные маршруты, используйте параметр |
routes6_extended list / elements=dictionary | Список маршрутов IPv6 с параметрами. |
|
cwnd integer |
Ограничение для окна задержки. |
|
ip string / required |
IP-адрес или префикс маршрута. Используйте формат |
|
metric integer |
Метрика маршрута. |
|
mtu integer |
Если не равно нулю, передавать только пакеты указанного размера или меньше. |
|
next_hop string |
Используйте формат |
|
onlink boolean |
Притвориться, что следующий узел напрямую подключен к этой связи, даже если он не соответствует ни одному префиксу интерфейса. Варианты:
|
|
table integer |
Таблица, в которую нужно добавить этот маршрут. Значение по умолчанию зависит от |
routing_rules4 list / elements=string added in community.general 3.3.0 | Аналогично команде |
runner string added in community.general 3.4.0 | Это тип устройства или сетевого соединения, которое вы хотите создать для группы. Варианты:
|
runner_fast_rate boolean added in community.general 6.5.0 | Параметр указывает скорость, с которой наш сетевой партнер запрашивает передачу пакетов LACPDU. Если это Доступен только для Варианты:
|
runner_hwaddr_policy string added in community.general 3.4.0 | Определяет политику задания MAC-адресов устройства группы и портовых устройств на протяжении всего жизненного цикла группы. Варианты:
|
slave_type string added in community.general 7.0.0 | Тип устройства подключения «мастер» данного подчиненного устройства (например, Тип Варианты:
|
slavepriority integer | Используется только с ‘bridge-slave’ - [<0-63>] - приоритет STP данного подчиненного устройства. По умолчанию: |
ssid string added in community.general 3.0.0 | Имя беспроводного маршрутизатора или точки доступа. |
state string / обязательный | Указывает, должно ли устройство существовать или нет, выполняя действия, если состояние отличается от заданного. Использование Использование Варианты:
|
stp boolean | Используется только для мостов и управляет включением протокола Spanning Tree Protocol (STP) для этого моста. Варианты:
|
transport_mode string added in community.general 5.8.0 | Этот параметр устанавливает тип подключения для устройств Infiniband IPoIB. Варианты:
|
type string | Тип устройства или сетевого подключения, которое вы хотите создать или изменить. Тип Тип Тип Тип Тип Тип Тип Тип Тип Тип Использование Если вы хотите управлять не-ethernet подключением, присоединенным к Варианты:
|
updelay integer | Используется только с bond - updelay. |
vlandev string | Используется только с VLAN - родительское устройство, на котором находится этот VLAN, можно использовать ifname. |
vlanid integer | Используется только с VLAN - идентификатор VLAN в диапазоне <0-4095>. |
vpn dictionary added in community.general 5.1.0 | Настройка VPN-подключения (PPTP и L2TP). Для использования L2TP необходимо убедиться, что |
|
gateway string / обязательный |
Шлюз для подключения. Это может быть IP-адрес (например, |
|
ipsec-enabled boolean |
Включить или выключить IPSec туннель к хосту L2TP. Этот параметр необходим, когда Варианты:
|
|
ipsec-psk string |
Предопределённый ключ (PSK) в кодировке 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_remote string | Используется только с VXLAN - конечный IP-адрес VXLAN. |
wifi dictionary добавлено в community.general 3.5.0 | Настройка подключения WiFi. Обратите внимание, что список подпараметров может различаться в зависимости от версии NetworkManager/nmcli, установленной на хосте. Полный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-802-11-wireless.html. Например, для создания скрытой точки доступа WiFi: |
|
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 подключения. Устройство будет подключаться только к (или создавать для Ad-Hoc сетей) Wi-Fi сети на указанном канале. Поскольку номера каналов перекрываются между диапазонами, это свойство также требует, чтобы свойство По умолчанию: |
|
cloned-mac-address string |
Это поле D-Bus устарело в пользу Для libnm и nmcli это поле называется |
|
generate-mac-address-mask string |
При установке Обратите внимание, что наименее значимый бит первого MAC-адреса всегда будет сброшен для создания одноадресного MAC-адреса. Если свойство имеет значение Если значение по-прежнему равно Если значение содержит один MAC-адрес, этот адрес используется в качестве маски. Установленные биты маски должны быть заполнены текущим MAC-адресом устройства, а сброшенные биты подвергаются рандомизации. Установка Если значение содержит один дополнительный MAC-адрес после маски, этот адрес используется вместо текущего MAC-адреса для заполнения битов, которые не должны быть рандомизированы. Например, значение Значение Если значение содержит более одного дополнительного MAC-адреса, один из них выбирается случайным образом. Например, |
|
boolean |
Если В режиме инфраструктуры используются различные обходные пути для более надежного обнаружения скрытых сетей, таких как зондирование SSID. Однако эти обходные пути раскрывают присущие недостатки сетей со скрытым SSID, и поэтому сети со скрытым SSID следует использовать с осторожностью. В режиме AP созданная сеть не передает свой SSID. Обратите внимание, что пометка сети как скрытой может быть проблемой конфиденциальности для вас (в режиме инфраструктуры) или клиентских станций (в режиме AP), поскольку явные зондирования четко распознаются в эфире. Варианты:
|
|
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 | Настройка безопасности WiFi соединения. Обратите внимание, что список атрибутов дополнительных параметров может варьироваться в зависимости от версии NetworkManager/nmcli, установленной на хосте. Актуальный список поддерживаемых атрибутов можно найти здесь: https://networkmanager.dev/docs/api/latest/settings-802-11-wireless-security.html. Например, для использования общей авторизации WPA-PSK с паролем: |
|
auth-alg string |
При использовании WEP (то есть, если Один из При использовании Cisco LEAP (то есть, если Варианты:
|
|
fils integer |
Указывает, следует ли включать Быструю начальную настройку связи (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 |
Указывает, следует ли включать Защищенные фреймы управления (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 отключает fwmark. Обратите внимание, что включение |
|
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 | Используется только с типом bond - xmit_hash_policy. |
зона строка добавлен в community.general 2.0.0 | Уровень доверия подключения. При обновлении этого свойства в активном подключении изменения вступают в силу немедленно. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
режим_проверки | Поддержка: полная | Может работать в режиме |
режим_сравнения | Поддержка: полная | Возвращает подробности о том, что изменилось (или, возможно, что необходимо изменить в |
Примеры
# 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
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 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
## 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/nmcli_module.html