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
- Ver os IPs de uma VPS —
act=ips - Ver as sub-redes IPv6 de uma VPS —
act=managesubnets - Listar o DNS reverso —
act=rdns - Criar DNS reverso para um IP —
act=rdns - Apagar um DNS reverso —
act=rdns - Listar os redirecionamentos de domínio —
act=managevdf - Criar um redirecionamento de domínio —
act=managevdf - Alterar um redirecionamento de domínio —
act=managevdf - 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
rdns | corpo (POST) | 1 | sim | Confirma a criação. |
rdns_ip | corpo (POST) | texto | sim | IP da conta; tem de estar em allowed_ip. |
rdns_domain | corpo (POST) | texto | sim | Nome 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
delete | URL | número | sim | Id 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
deletecomo 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id 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
novncedo=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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
vdf_action | corpo (POST) | texto | sim | Sempre addvdf para criar. |
protocol | corpo (POST) | texto | sim | Protocolo, da lista em supported_protocols. |
src_hostname | corpo (POST) | texto | sim | Hostname pelo qual o visitante chega. |
src_port | corpo (POST) | número | sim | Porta de entrada. |
dest_ip | corpo (POST) | texto | sim | IP da VPS que recebe o acesso. |
dest_port | corpo (POST) | número | sim | Porta 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
vdf_action | corpo (POST) | texto | sim | Sempre editvdf para alterar. |
vdfid | corpo (POST) | número | sim | Id do redirecionamento, da lista. |
protocol | corpo (POST) | texto | sim | Protocolo. |
src_hostname | corpo (POST) | texto | sim | Hostname de entrada. |
src_port | corpo (POST) | número | sim | Porta de entrada. |
dest_ip | corpo (POST) | texto | sim | IP da VPS. |
dest_port | corpo (POST) | número | sim | Porta 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âmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
vdf_action | corpo (POST) | texto | sim | Sempre delvdf para apagar. |
ids | corpo (POST) | lista de números | sim | Ids 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.