Regras de NAT de Origem

Esta é uma API para cadastro de regras de NAT de origem do roteador.

Esta API é autenticada usando OAuth2, ver documentação de autenticação

Buscar uma regra de NAT de origem

GET /api/v1/cdm/routers/router_id/fw/snat/rules/id

API para buscar uma regra de NAT de origem

Exemplo requisição

GET /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/snat/rules/Aoyc5feKgmFGhgESFupoL HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "Aoyc5feKgmFGhgESFupoL",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "Regra de NAT 01",
  "interface": "wan1",
  "original_source_ip": "192.168.16.1",
  "translated_source_ip": "203.50.3.21",
  "protocol": "tcp",
  "port": 8080,
  "priority": 9
}

Dados para criação de uma nova regra de NAT de origem

GET /api/v1/cdm/routers/router_id/fw/snat/rules/new

API de busca de dados necessários para criação de uma regra de NAT de origem

Exemplo requisição

GET /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/snat/rules/new HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "rules_groups": [
    {
      "id": "AyUKCnMcDYhYQzUz1MHp7",
      "name": "Grupo01"
    },
    {
      "id": "AyUKDTkbRaStLrsRUodVk",
      "name": "Grupo02"
    },
    {
      "id": "AyUKDtevfEmBi1tG99Hv3",
      "name": "Grupo03"
    },
  ]
}

Criar uma regra de NAT de origem

GET /api/v1/cdm/routers/router_id/fw/snat/rules/new

API para criação de uma nova regra de NAT de origem

Exemplo requisição

POST /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/snat/rules HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "Regra de NAT 05",
  "interface": "wan1",
  "original_source_net": "192.168.16.0/24",
  "translated_source_ip": "203.100.50.21",
  "protocol": "tcp/udp",
  "port_range": {
    "start": 3000,
    "end": 3500,
  },
  "priority": 5,
}

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "AyUJUnsgV8FPifMrGRLwx",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "Regra de NAT 05",
  "interface": "wan1",
  "original_source_net": "192.168.16.0/24",
  "translated_source_ip": "203.100.50.21",
  "protocol": "tcp/udp",
  "port_range": {
    "start": 3000,
    "end": 3500,
  },
  "priority": 5,
}

Atualizar uma regra de NAT de origem

PUT /api/v1/cdm/routers/router_id/fw/snat/rules/id

API para atualização de uma regra de NAT de origem

Exemplo requisição

PUT /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/snat/rules/AyUJUnsgV8FPifMrGRLwx HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "priority": 1
}

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "AyUJUnsgV8FPifMrGRLwx",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "Regra de NAT 05",
  "interface": "wan1",
  "original_source_net": "192.168.16.0/24",
  "translated_source_ip": "203.100.50.21",
  "protocol": "tcp/udp",
  "port_range": {
    "start": 3000,
    "end": 3500,
  },
  "priority": 1,
}

Apagar uma regra de NAT de origem

DELETE /api/v1/cdm/routers/router_id/fw/snat/rules/id

API para apagar uma regra de NAT de origem

Exemplo requisição

DELETE /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/snat/rules/AyUJUnsgV8FPifMrGRLwx HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo resposta

HTTP/1.1 200 OK
Content-Type: application/json

Formato dos dados

Parâmetros da url

idstring Identificador da regra de NAT de origem
router_idstring Identificador do roteador ao qual a regra de NAT de origem pertence

Requisição

rules_group_idstringrequerido Grupo de regras ao qual a regra de NAT de origem pertence
descriptionstringrequerido único Descrição sobre a regra de NAT de origem
interfacestringrequerido Interface de saída do tráfego da regra de NAT de origem Interfaces possíveis: * wan1 * wan2
prioritystringrequerido Prioridade da regra de NAT de origem Valor mínimo: 1
Valor máximo: 99
protocolstringrequerido Protocolo sobre o qual a regra de NAT de origem atua Protocolos possíveis: * tcp * udp * tcp/udp * ip * icmp * pptp * ipsec

Os protocos TCP, UDP e TCP/UDP estão associados a utilização de portas. Dessa forma, ao cadastrar uma regra de NAT de origem utilizando esses protocolos, é necessário utilizar uma porta (port) ou uma faixa de portas (port_range)


A regra de NAT de origem pode ser aplicada sobre uma porta específica (port) ou sobre uma faixa de portas (port_range)

ATENÇÃO: a regra de NAT de origem pode ter somente uma das formas preenchida

portinteger

Porta para a qual a regra de NAT de origem será aplicada

Valor mínimo: 1
Valor máximo: 65000

port_range.startinteger

Início da faixa de portas para a qual a regra de NAT de origem será aplicada

Valor mínimo: 1
Valor máximo: 65000

OBS: Se o campo start estiver preenchido, o campo end deve, obrigatoriamente, estar preenchido também

port_range.endinteger

Final da faixa de portas para a qual a regra de NAT de origem será aplicada

Valor mínimo: 1
Valor máximo: 65000

OBS: Se o campo end estiver preenchido, o campo start deve, obrigatoriamente, estar preenchido também


A regra de NAT será aplicada sobre uma origem que pode ser definida de três formas: como um endereço de origem original (original_source_ip), uma rede de origem original (original_source_net) ou todos as redes (original_source_any=true)

ATENÇÃO: a regra de NAT de origem deve ter somente uma das formas de origem preenchida

original_source_anyboolean

A regra de NAT de origem será aplicada para todas as origens

Valor padrão: false

original_source_ipstring

IP de origem original para o qual a regra de NAT será aplicada

Exemplo: 192.168.0.5

original_source_netstring

Rede de origem original para a qual a regra de NAT será aplicada

Exemplo: 192.168.0.0/24


translated_source_ipstringrequerido

IP de origem final para o qual a regra de NAT de origem será aplicada

Exemplo: 203.100.50.24

Resposta

rules_group_idstring Grupo de regras ao qual a regra de NAT de origem pertence
descriptionstring Descrição sobre a regra de NAT de origem
interfacestring Interface de saída do tráfego da regra de NAT de origem Interfaces possíveis: * wan1 * wan2
prioritystring Prioridade da regra de NAT de origem
protocolstring Protocolo sobre o qual a regra de NAT de origem atua Protocolos possíveis: * tcp * udp * tcp/udp * ip * icmp * pptp * ipsec
portinteger Porta para a qual a regra de NAT de origem será aplicada
port_range.startinteger Início da faixa de portas para a qual a regra de NAT de origem será aplicada
port_range.endinteger Final da faixa de portas para a qual a regra de NAT de origem será aplicada
original_source_anyboolean A regra de NAT de origem será aplicada para todas as origens
original_source_ipstring IP de origem original para o qual a regra de NAT será aplicada
original_source_netstring Rede de origem original para a qual a regra de NAT será aplicada
translated_source_ipstring IP de origem final para o qual a regra de NAT de origem será aplicada
rules_groupsarray<object> Grupos de regras de NAT de origem que pertencem ao roteador