Os endereços IP da VPS, as sub-redes IPv6, o DNS reverso (PTR) e o redirecionamento de domínio para a VPS.

Antes de começar, veja API do Virtualizor para revendedores: primeiros passos: lá estão a chave de API, o formato da chamada e as funções virt_api usadas nos exemplos em PHP, Python e Node.js.

Neste artigo

  1. Ver os IPs de uma VPS — act=ips
  2. Ver as sub-redes IPv6 de uma VPS — act=managesubnets
  3. Listar o DNS reverso — act=rdns
  4. Criar DNS reverso para um IP — act=rdns
  5. Apagar um DNS reverso — act=rdns
  6. Listar os redirecionamentos de domínio — act=managevdf
  7. Criar um redirecionamento de domínio — act=managevdf
  8. Alterar um redirecionamento de domínio — act=managevdf
  9. Apagar redirecionamentos de domínio — act=managevdf

Ver os IPs de uma VPS

Ação: act=ips · Método: GET

Lista os endereços IPv4 e IPv6 atribuídos à VPS.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=ips&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"

PHP

$r = virt_api('ips', [
    'svs' => '101',
]);
print_r($r);

Python

r = virt_api("ips", get={
    "svs": "101",
})
print(r)

Node.js

const r = await virtApi('ips', {
  svs: '101',
});
console.log(r);

Resposta

ips traz os endereços da VPS.

Cuidados

  • O exemplo em curl da documentação oficial não manda api=json. Sem ele, a resposta não vem em JSON — os exemplos deste artigo sempre mandam.

Documentação oficial: IP.


Ver as sub-redes IPv6 de uma VPS

Ação: act=managesubnets · Método: GET

Mostra as sub-redes IPv6 atribuídas à VPS.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=managesubnets&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"

PHP

$r = virt_api('managesubnets', [
    'svs' => '101',
]);
print_r($r);

Python

r = virt_api("managesubnets", get={
    "svs": "101",
})
print(r)

Node.js

const r = await virtApi('managesubnets', {
  svs: '101',
});
console.log(r);

Resposta

ipr_ips traz as sub-redes e ips os endereços.

Cuidados

  • A documentação oficial só mostra a leitura das sub-redes, embora o título fale em gerenciar.
  • A URL de exemplo dela carrega também do=add. Não é necessário para ler.

Documentação oficial: Manage Subnets.


Listar o DNS reverso

Ação: act=rdns · Método: GET

Lista os registros de DNS reverso (PTR) da conta: qual nome responde quando alguém consulta um IP seu.

Parâmetros

Nenhum além da ação e da autenticação.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=rdns&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"

PHP

$r = virt_api('rdns');
print_r($r);

Python

r = virt_api("rdns")
print(r)

Node.js

const r = await virtApi('rdns');
console.log(r);

Resposta

rdns_records traz os registros, com o id de cada um; allowed_ip lista os IPs da conta que podem ter DNS reverso.

Cuidados

  • DNS reverso coerente com o hostname é o que servidor de e-mail confere antes de aceitar mensagem. Configure-o em VPS que mandam e-mail.

Documentação oficial: List Reverse DNS.


Criar DNS reverso para um IP

Ação: act=rdns · Método: POST

Define o nome que um IP da conta devolve na consulta reversa (registro PTR).

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
rdnscorpo (POST)1simConfirma a criação.
rdns_ipcorpo (POST)textosimIP da conta; tem de estar em allowed_ip.
rdns_domaincorpo (POST)textosimNome que o IP vai devolver.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=rdns&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
  --data-urlencode 'rdns=1' \
  --data-urlencode 'rdns_ip=203.0.113.10' \
  --data-urlencode 'rdns_domain=vps1.exemplo.com.br'

PHP

$r = virt_api('rdns', [], [
    'rdns' => '1',
    'rdns_ip' => '203.0.113.10',
    'rdns_domain' => 'vps1.exemplo.com.br',
]);
print_r($r);

Python

r = virt_api("rdns", post={
    "rdns": "1",
    "rdns_ip": "203.0.113.10",
    "rdns_domain": "vps1.exemplo.com.br",
})
print(r)

Node.js

const r = await virtApi('rdns', {}, {
  rdns: '1',
  rdns_ip: '203.0.113.10',
  rdns_domain: 'vps1.exemplo.com.br',
});
console.log(r);

Resposta

done confirma; rdns_records traz os registros já com o novo.

Cuidados

  • O exemplo em curl da página oficial é de outra operação (cria zona de DNS) e não serve para esta. Os exemplos aqui foram montados pela tabela e pelo exemplo em PHP dela.
  • O nome deve ter um registro A (ou AAAA) apontando de volta para o mesmo IP, senão a verificação de e-mail falha do mesmo jeito.

Documentação oficial: Add Reverse DNS.


Apagar um DNS reverso

Ação: act=rdns · Método: GET

Remove um registro de DNS reverso.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
deleteURLnúmerosimId do registro, da lista em rdns_records.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=rdns&delete=23&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"

PHP

$r = virt_api('rdns', [
    'delete' => '23',
]);
print_r($r);

Python

r = virt_api("rdns", get={
    "delete": "23",
})
print(r)

Node.js

const r = await virtApi('rdns', {
  delete: '23',
});
console.log(r);

Resposta

done confirma; deleted traz o que foi apagado e rdns_records o que sobrou.

Cuidados

  • A tabela oficial lista delete como POST; os exemplos oficiais mandam pela URL, como aqui.

Documentação oficial: Delete Reverse DNS.


Listar os redirecionamentos de domínio

Ação: act=managevdf · Método: GET

Lista os redirecionamentos de domínio da VPS. No redirecionamento, o servidor recebe o acesso a um hostname e porta e o repassa para um IP e porta da VPS — útil para publicar um site em VPS sem IP público próprio.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=managevdf&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"

PHP

$r = virt_api('managevdf', [
    'svs' => '101',
]);
print_r($r);

Python

r = virt_api("managevdf", get={
    "svs": "101",
})
print(r)

Node.js

const r = await virtApi('managevdf', {
  svs: '101',
});
console.log(r);

Resposta

haproxydata traz os redirecionamentos, cada um com o id usado para editar (vdfid) e apagar (ids); supported_protocols os protocolos aceitos; arr_haproxy_src_ips os IPs de entrada.

Cuidados

  • A URL de exemplo da documentação oficial carrega novnc e do=add, sobras de outra página. Não são necessários.

Documentação oficial: List Domain Forwarding.


Criar um redirecionamento de domínio

Ação: act=managevdf · Método: POST

Cria um redirecionamento de um hostname e porta de entrada para um IP e porta da VPS.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
vdf_actioncorpo (POST)textosimSempre addvdf para criar.
protocolcorpo (POST)textosimProtocolo, da lista em supported_protocols.
src_hostnamecorpo (POST)textosimHostname pelo qual o visitante chega.
src_portcorpo (POST)númerosimPorta de entrada.
dest_ipcorpo (POST)textosimIP da VPS que recebe o acesso.
dest_portcorpo (POST)númerosimPorta da VPS que recebe o acesso.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=managevdf&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
  --data-urlencode 'vdf_action=addvdf' \
  --data-urlencode 'protocol=HTTP' \
  --data-urlencode 'src_hostname=loja.exemplo.com.br' \
  --data-urlencode 'src_port=80' \
  --data-urlencode 'dest_ip=10.0.0.15' \
  --data-urlencode 'dest_port=8080'

PHP

$r = virt_api('managevdf', [
    'svs' => '101',
], [
    'vdf_action' => 'addvdf',
    'protocol' => 'HTTP',
    'src_hostname' => 'loja.exemplo.com.br',
    'src_port' => '80',
    'dest_ip' => '10.0.0.15',
    'dest_port' => '8080',
]);
print_r($r);

Python

r = virt_api("managevdf", get={
    "svs": "101",
}, post={
    "vdf_action": "addvdf",
    "protocol": "HTTP",
    "src_hostname": "loja.exemplo.com.br",
    "src_port": "80",
    "dest_ip": "10.0.0.15",
    "dest_port": "8080",
})
print(r)

Node.js

const r = await virtApi('managevdf', {
  svs: '101',
}, {
  vdf_action: 'addvdf',
  protocol: 'HTTP',
  src_hostname: 'loja.exemplo.com.br',
  src_port: '80',
  dest_ip: '10.0.0.15',
  dest_port: '8080',
});
console.log(r);

Resposta

done confirma. haproxydata traz os redirecionamentos da VPS, supported_protocols os protocolos aceitos e arr_haproxy_src_ips os IPs de entrada do servidor.

Cuidados

  • O DNS do hostname de entrada precisa apontar para um dos IPs em arr_haproxy_src_ips.

Documentação oficial: Add Domain Forwarding.


Alterar um redirecionamento de domínio

Ação: act=managevdf · Método: POST

Altera um redirecionamento existente. Mande todos os campos, não só os que mudam.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
vdf_actioncorpo (POST)textosimSempre editvdf para alterar.
vdfidcorpo (POST)númerosimId do redirecionamento, da lista.
protocolcorpo (POST)textosimProtocolo.
src_hostnamecorpo (POST)textosimHostname de entrada.
src_portcorpo (POST)númerosimPorta de entrada.
dest_ipcorpo (POST)textosimIP da VPS.
dest_portcorpo (POST)númerosimPorta da VPS.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=managevdf&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
  --data-urlencode 'vdf_action=editvdf' \
  --data-urlencode 'vdfid=313' \
  --data-urlencode 'protocol=HTTP' \
  --data-urlencode 'src_hostname=loja.exemplo.com.br' \
  --data-urlencode 'src_port=80' \
  --data-urlencode 'dest_ip=10.0.0.15' \
  --data-urlencode 'dest_port=8081'

PHP

$r = virt_api('managevdf', [
    'svs' => '101',
], [
    'vdf_action' => 'editvdf',
    'vdfid' => '313',
    'protocol' => 'HTTP',
    'src_hostname' => 'loja.exemplo.com.br',
    'src_port' => '80',
    'dest_ip' => '10.0.0.15',
    'dest_port' => '8081',
]);
print_r($r);

Python

r = virt_api("managevdf", get={
    "svs": "101",
}, post={
    "vdf_action": "editvdf",
    "vdfid": "313",
    "protocol": "HTTP",
    "src_hostname": "loja.exemplo.com.br",
    "src_port": "80",
    "dest_ip": "10.0.0.15",
    "dest_port": "8081",
})
print(r)

Node.js

const r = await virtApi('managevdf', {
  svs: '101',
}, {
  vdf_action: 'editvdf',
  vdfid: '313',
  protocol: 'HTTP',
  src_hostname: 'loja.exemplo.com.br',
  src_port: '80',
  dest_ip: '10.0.0.15',
  dest_port: '8081',
});
console.log(r);

Resposta

done confirma. haproxydata traz os redirecionamentos da VPS, supported_protocols os protocolos aceitos e arr_haproxy_src_ips os IPs de entrada do servidor.

Cuidados

  • A descrição desta página na documentação oficial foi copiada da de listar. A tabela e os exemplos são os de alterar.

Documentação oficial: Edit Domain Forwarding.


Apagar redirecionamentos de domínio

Ação: act=managevdf · Método: POST

Apaga um ou mais redirecionamentos de uma vez.

Parâmetros

ParâmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
vdf_actioncorpo (POST)textosimSempre delvdf para apagar.
idscorpo (POST)lista de númerossimIds dos redirecionamentos, separados por vírgula.

Exemplos

curl

curl -sS "https://$VIRT_HOST:4083/index.php?act=managevdf&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
  --data-urlencode 'vdf_action=delvdf' \
  --data-urlencode 'ids=313,314'

PHP

$r = virt_api('managevdf', [
    'svs' => '101',
], [
    'vdf_action' => 'delvdf',
    'ids' => '313,314',
]);
print_r($r);

Python

r = virt_api("managevdf", get={
    "svs": "101",
}, post={
    "vdf_action": "delvdf",
    "ids": "313,314",
})
print(r)

Node.js

const r = await virtApi('managevdf', {
  svs: '101',
}, {
  vdf_action: 'delvdf',
  ids: '313,314',
});
console.log(r);

Resposta

done confirma. haproxydata traz os redirecionamentos da VPS, supported_protocols os protocolos aceitos e arr_haproxy_src_ips os IPs de entrada do servidor.

Documentação oficial: Delete Domain Forwarding.


Texto da Vitt Host, escrito a partir da documentação oficial da Virtualizor, lida em 07/10/2026. Onde a documentação oficial se contradiz, o artigo segue os exemplos dela e aponta a diferença em Cuidados.