Configurações de Rede

Alterar as configurações de rede local e, além disso, se conectar a outras redes com OpenVPN.

Alterar configurações de rede

Altera as configurações de rede do equipamento. O método HTTP usado é o POST.

POST /set_system_network.fcgi

Parâmetros

  • ip (string) : Texto representando o endereço IP que o equipamento deve assumir. Exemplo: "192.168.0.33".
  • netmask (string) : Texto representando a máscara de rede que o equipamento deve assumir. Exemplo: "255.255.255.0".
  • gateway (string) : Endereço IP do gateway da rede. Exemplo: "192.168.0.1".
  • custom_hostname_enabled (bool) : Habilita configuração para criar um hostname customizado para o dispositivo. Valores: "true" para habilitar e "false" para desabilitar.
  • device_hostname (string) : Quando custom_hostname_enabled está habilitado, este parâmetro deve receber o hostname customizado pelo usuário. Exemplo: "ControlID". Quando custom_hostname_enabled está desabilitado, o hostname padrão do dispositivo será : "CID-" + serial do dispositivo. Exemplo: "CID-0M0200-C0FF33".
  • web_server_port (int) : Número da porta de comunicação do Acesso. Exemplo: 80.

Resposta

  • Esta chamada não possui retorno.

Exemplo de requisição

Alterar o endereço IP, a máscara de rede, gateway e porta do equipamento:

$.ajax({
    url: "/set_system_network.fcgi?session=" + session,
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify({
        ip: "192.168.0.33",
        netmask: "255.255.255.0",
        gateway: "192.168.0.1",
        custom_hostname_enabled: true,
        device_hostname: "ControlID",
        web_server_port: 80
    })
});

OpenVPN

Altera as configurações de rede para utilização do utilitário da OpenVPN através do endpoint /set_vpn_information. Para o funcionamento correto, é necessário o carregamento de um arquivo de configuração, no endpoint /set_vpn_file, em formato .conf, contendo nele os certificados, chaves e/ou credenciais necessárias para o acesso. O arquivo também pode ser carregado junto de um arquivo em formato .zip, contendo os certificados (.crt), chaves (*.key) e/ou credenciais em arquivos distintos. Exemplos de parametrização do arquivo de configuração podem ser obtidos através do endpoint /get_vpn_file. Além disso, para controle de status e conexões exitem três endpoints: /get_vpn_information, que retorna as configurações de conexão; /get_vpn_status, que verifica o estado da conexão, e /has_vpn_file, que verifica se já existe algum arquivo de configuração presente.

Alterar configurações de OpenVPN

Altera as configurações de rede para utilização do utilitário da OpenVPN. O método HTTP usado é o POST.

POST /set_vpn_information.fcgi

Parâmetros

  • enabled (bool) : Representa se a VPN está habilitada. Padrão: "false".
  • login_enabled (bool) : Representa se a VPN é acessada a partir de login e senhas manuais. Padrão: "false".
  • login (string) : Representa o usuário do login utilizado caso login_enabled estiver ativado. Exemplo : "Admin".
  • password (string) : Representa a senha do login utilizado caso login_enabled estiver ativado. Exemplo : "Admin".

Resposta

  • Esta chamada não possui retorno.

Exemplo de requisição

Habilita o utilitário e permite atualizar usuário e senha manual:

$.ajax({
    url: "/set_vpn_information.fcgi?session=" + session,
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify({
        "enabled": true,
        "login_enabled": true,
        "login": "Admin",
        "password": "Admin"
    })
});

Altera os arquivos de acesso a VPN

Altera os arquivos de carregamento do utilitário, podendo ser um arquivo em formato .conf ou um arquivo em formato .zip contendo todos os dados necessários. O método HTTP usado é o POST.

POST /set_vpn_file.fcgi

Parâmetros

  • file_type (string) : Identificador do tipo de arquivo enviado. Valores: "zip" para arquivos .zip e "config" para arquivos de configuração .conf. Esse parâmetro é passado na Query String.

Resposta

  • Esta chamada não possui retorno.

Exemplo de requisição

Esta requisição irá definir o arquivo de configuração utilizado na VPN.

$.ajax({
    url: "/set_vpn_file.fcgi?file_type=zip&session=" + session,
    type: 'POST',
    contentType: 'application/octet-stream',
    data: [bytes do arquivo VPN]
});

Receber os arquivos de exemplo

Recebe os arquivos de exemplo de parametrização do arquivo de configuração do utilitário. O método HTTP usado é o GET.

GET /get_vpn_file.fcgi

Parâmetros

  • Esta chamada não possui parâmetros.

Resposta

  • Arquivo em formato zip.

Exemplo de requisição

Esta requisição retorna o arquivo de configuração utilizado na VPN.

$.ajax({
    url: "/get_vpn_file.fcgi?&session=" + session,
    type: 'GET',
    contentType: 'application/octet-stream'
});

Receber configurações de OpenVPN

Recebe as configurações de rede do utilitário da OpenVPN. O método HTTP usado é o GET.

GET /get_vpn_information.fcgi

Parâmetros

  • Esta chamada não possui parâmetros.

Resposta

  • enabled (bool) : Representa se a VPN está habilitada. Padrão: "false".
  • login_enabled (bool) : Representa se a VPN é acessada a partir de Login e senhas manuais. Padrão: "false".
  • login (string) : Representa o usuário do login utilizado caso login_enabled estiver ativado. Exemplo : "Admin".
  • password (bool) : Representa se há senha de login configurada caso login_enabled estiver ativado. Exemplo : "true"

Exemplo de requisição

Esta requisição retorna as configurações utilizadas na OpenVPN.

$.ajax({
    url: "/get_vpn_information.fcgi?&session=" + session,
    type: 'GET',
    contentType: 'application/json'
});

Exemplo de resposta

{
    "enabled": true,
    "login_enabled": false,
    "login": "Admin",
    "password": true
}

Receber Status da conexão OpenVPN

Recebe os status de rede do utilitário da OpenVPN. O método HTTP usado é o GET.

GET /get_vpn_status.fcgi

Parâmetros

  • Esta chamada não possui parâmetros.

Resposta

  • status (int) : Representa um dos estados abaixo do OpenVPN.
    • 0 (connected) : Representa que o OpenVPN está conectado.
    • 1 (auth_failed) : Representa que o servidor OpenVPN está rejeitando a conexão durante o estágio de autenticação.
    • 2 (ca_missing) : Representa que está faltando a unidade certificadora para aprovação do OpenVPN.
    • 3 (ca_failed) : Representa que o servidor OpenVPN não conseguiu verificar unidade certificadora.
    • 4 (crt_key_missing) : Representa que pode estar faltando o certificado público, a chave privada ou ambos.
    • 5 (crt_failed) : Representa que a chave certificadora pública não foi aprovada pelo servidor do OpenVPN
    • 6 (key_failed) : Representa uma falha na autenticação pelo servidor OpenVPN utilizando a chave privada.
    • 7 (tls_failed) : Representa falha no protocolo de segurança TLS.
    • 8 (disconnected) : Representa que o OpenVPN está desabilitada.
    • 9 (trying_to_connect) : Representa que o OpenVPN está ativo porém ainda não atingiu nenhum dos status mapeados.
    • 10 (no connection) : Representa que a rede está desconectada.

Exemplo de requisição

Esta requisição retorna o status da conexão OpenVPN.

$.ajax({
    url: "/get_vpn_status.fcgi?&session=" + session,
    type: 'GET',
    contentType: 'application/json'
});

Exemplo de resposta

{
    "status": "0"
}

Confirmar a existência do arquivo de configuração

Recebe a confirmação da existência do arquivo de configuração no dispositivo para o utilitário da OpenVPN. O método HTTP usado é o GET.

GET /has_vpn_file.fcgi

Parâmetros

  • Esta chamada não possui parâmetros.

Resposta

  • has_file (bool) : Representa se já existe um arquivo de configuração OpenVPN no dispositivo.

Exemplo de requisição

Esta requisição retorna o status do arquivo OpenVPN.

$.ajax({
    url: "/has_vpn_file.fcgi?&session=" + session,
    type: 'GET',
    contentType: 'application/json'
});

Exemplo de resposta

{
    "has_file": true
}