6.2 KiB
Модуль decort_pfw
Обзор модуля decort_pfw
Модуль decort_pfw предназначен для настройки правил переадресации портов (port forwarding, destination NAT) на виртуальном маршрутизаторе заданной внутренней сети для заданной виртуальной машины.
Модуль поддерживает выполнение следующих действий над правилами:
- добавить
- получить информацию
- удалить
Параметры модуля decort_pfw
Ниже приведен список параметров для модуля decort_pfw (за исключением общих параметров авторизации):
| Параметр | Тип, допустимые значения | Описание |
|---|---|---|
| compute_id | (int) | Идентификатор виртуальной машины. IP-адрес, который данная ВМ имеет во внутренней сети, заданной параметром vins_id, будет использоваться как внутренний IP-адрес в правилах. Обязательный параметр. |
| rules | (list) | Список словарей, описывающих правила переадресации портов для заданной ВМ (параметр compute_id) на виртуальном маршрутизаторе заданной внутренней сети (параметр vins_id).Ключи словаря: • local_port (int) (обязательный) - внутренний порт; значения: от 1 до 65535• proto (str) (обязательный) - протокол; значения: tcp или udp• public_port_end (int) (необязательный) - верхняя граница диапазона внешних портов; значения: от значения ключа public_port_start до 65535;• public_port_start (int) (обязательный) - нижняя граница диапазона внешних портов; значения: от 1 до 65535 |
| state | (str) Значения: presentabsentDefault: present |
Целевое состояние правил. Если state=absent, то, независимо от содержания параметра rules, будут удалены все правила для заданной ВМ (параметр compute_id) на виртуальном маршрутизаторе заданной внутренней сети (параметр vins_id). |
| vins_id | (int) | Идентификатор внутренней сети, на виртуальном маршрутизаторе которой настраиваются правила переадресации портов. Заданная ВМ (параметр compute_id) должна быть подключена к этой сети. Обязательный параметр. |
Возвращаемые значения модуля decort_pfw
Модуль decort_pfw возвращает информацию о правилах переадресации портов и сопутствующую информацию в виде словаря facts со следующими ключами:
| Ключ | Тип данных | Описание |
|---|---|---|
| compute_id | int | Идентификатор ВМ. |
| public_ip | string | IP-адрес во внешней сети, настроенный на виртуальном маршрутизаторе внутренней сети. |
| rules | list | Список словарей, описывающих правила переадресации портов. Ключи словаря: • id (int) - идентификатор правила• localIp (str) - IP-адрес ВМ• localPort (int) - внутренний порт• protocol (str) - протокол• publicPortEnd (int) - верхняя граница диапазона внешних портов• publicPortStart (int) - нижняя граница диапазона внешних портов• vmId (int) - идентификатор ВМ• vmName (str) - имя ВМ |
| state | string | Статус правил. Значения: PRESENT или ABSENT. |
| vins_id | int | Идентификатор внутренней сети. |
Пример использования модуля decort_pfw
В данном примере для существующей ВМ (параметр compute_id), подключённой к внутренней сети (параметр vins_id), настраиваются два правила переадресации портов:
- Правило для одного порта: внешний порт
30022на внутренний порт22по протоколуtcp. - Правило для диапазона портов: внешние порты с
30080по30085на внутренние порты с30080по протоколуudp.
- name: Add port forwarding rules
decort_pfw:
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
authenticator: oauth2
compute_id: "{{ my_vm.facts.id }}"
controller_url: "https://cloud.digitalenergy.online"
oauth2_url: "https://sso.digitalenergy.online"
rules:
- local_port: 22
proto: tcp
public_port_start: 30022
- local_port: 30080
proto: udp
public_port_end: 30085
public_port_start: 30080
vins_id: "{{ my_vins.facts.id }}"
register: my_pfw_rules
В данном примере результат выполнения модуля decort_pfw записывается в переменную my_pfw_rules. Для доступа к списку правил используйте следующую конструкцию:
"{{ my_pfw_rules.facts.rules }}"