Quando seu servidor foi entregue, um endereço IPv4 foi configurado nele e os demais ficaram intocados. Isso é proposital, e esta página mostra como terminar o trabalho. Há três maneiras de fazer isso e nenhuma delas demora muito: coloque a máquina diretamente na rede com seu próprio endereço, encaminhe o tráfego dela pelo host ou esconda um conjunto inteiro de máquinas atrás do endereço que você já tem. Testamos as três em nossa própria rede antes de escrever este guia.
Leia os dois primeiros. Depois disso, os passos três, quatro e cinco são alternativas — escolha o que combina com o que você está montando.
Procure o e-mail com o título Configuração do Servidor Dedicado, enviado no dia em que a máquina foi criada. Ele lista tudo o que foi alocado para o servidor: primeiro os endereços IPv4, depois qualquer IPv6. A mesma lista está na sua conta, na página do servidor, no painel chamado Acesso, Rede e rDNS.
Em um servidor Proxmox, esse e-mail acrescenta uma linha abaixo da lista, informando que o host recebeu apenas o primeiro endereço e que os restantes são seus para distribuir — para máquinas virtuais, ou para o próprio host se você quiser que ele tenha mais de um. Configuramos um único endereço para que a máquina fique acessível ao iniciar, e então paramos. Configure todos no host e ele responderá por todos eles, deixando suas máquinas virtuais sem nada para reivindicar.
Dois números importam toda vez que você digita um endereço. A máscara de rede é /24, que é 255.255.255.0. O gateway é o próprio intervalo do endereço, terminando em .1 — então um endereço em 203.0.113.0/24 usa 203.0.113.1. Endereços emitidos juntos ficam lado a lado e compartilham um gateway. Endereços adicionados a um servidor meses depois podem vir de um intervalo diferente nosso, e então usam seu próprio .1. Errar isso é o motivo mais comum pelo qual uma nova máquina virtual não consegue alcançar nada, e custa uma tarde inteira às pessoas.
Para DNS, configuramos 209.244.0.3 no host. Aponte suas máquinas virtuais para onde preferir.
Entre via SSH como root e dê uma olhada:
ip -br addr cat /etc/network/interfaces
Em uma máquina que acabamos de montar, esse arquivo se parece aproximadamente com isto, com o nome da sua interface e seu próprio primeiro endereço no lugar dos mostrados:
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 203.0.113.10/24
gateway 203.0.113.1
bridge-ports eno1
bridge-stp off
bridge-fd 0 O que vale notar é que vmbr0 já é uma bridge, e a placa de rede já está conectada a ela. Nada mais é necessário para o passo três, e é por isso que o passo três pede que você não mude nada aqui.
O Proxmox VE 9 roda sobre Debian 13 e usa ifupdown2, então as mudanças de rede entram em vigor sem reiniciar a máquina. Salve o arquivo e execute:
ifreload -a
Editar pela interface web do Proxmox, em vez disso, grava suas alterações em /etc/network/interfaces.new e as mantém até você pressionar Aplicar Configuração. Seja qual for o método, abra o console pela sua conta primeiro. Um erro de digitação neste arquivo e a máquina cai da rede; o console entra por outro caminho e continuará funcionando.
Comece por aqui. Sua máquina virtual se comporta como um computador separado plugado no mesmo switch, fala com nossos roteadores por conta própria e o host não precisa de nenhuma alteração.
No Proxmox, adicione um dispositivo de rede à máquina, defina a bridge como vmbr0 e deixe o endereço MAC que o Proxmox preencheu. Depois defina o endereço dentro da máquina. Debian ou Ubuntu com a configuração clássica:
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 203.0.113.58/24
gateway 203.0.113.1
dns-nameservers 209.244.0.3 1.1.1.1 Ubuntu com netplan, em /etc/netplan/01-netcfg.yaml:
network:
version: 2
ethernets:
ens18:
addresses: [203.0.113.58/24]
routes:
- to: default
via: 203.0.113.1
nameservers:
addresses: [209.244.0.3, 1.1.1.1] No Windows, os mesmos três valores vão nas configurações IPv4 do adaptador. Realmente não importa o que a máquina executa; para nós, é apenas mais um computador na rede.
Não há nada para nos avisar antes. Você não precisa nos enviar o endereço MAC de cada máquina virtual, e não limitamos quantos sua porta pode usar. Várias empresas de hospedagem fazem isso, e as instruções delas pedem que você preencha um formulário para cada nova máquina. Nós verificamos em vez de presumir: a porta em que seu servidor está não tem limite de MAC definido e a segurança de porta está desligada, e antes de publicar isto colocamos um segundo endereço e MAC na porta de uma máquina da equipe e o alcançamos pela internet pública.
Três coisas que vale acertar:
• Cada máquina precisa do seu próprio endereço MAC. Duas máquinas compartilhando um, ou copiando o do host, e nenhuma funciona direito.
• Use o gateway pertencente ao intervalo daquele endereço, do passo um.
• Use apenas endereços que estão na sua conta. Esta bridge está voltada para uma rede real com máquinas de outras pessoas. Um endereço que não é seu leva o tráfego delas junto.
Pelo mesmo motivo: nada que distribua endereços pertence à vmbr0. Sem servidor DHCP, sem anúncios de roteador. Se quiser entregar endereços às suas próprias máquinas automaticamente, use o passo cinco, onde a bridge não tem saída e não alcança mais ninguém.
Escolha isto quando quiser que o host veja cada pacote, para que o firewall dele possa agir sobre ele, ou quando preferir que suas máquinas nunca apareçam na rede compartilhada. Elas ainda recebem endereços públicos reais da sua conta; só o caminho muda.
O endereço público sai da bridge e vai para a placa de rede, o host é instruído a encaminhar e responde em nome das máquinas atrás dele. No host:
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 203.0.113.10/24
gateway 203.0.113.1
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp
auto vmbr0
iface vmbr0 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
up ip route add 203.0.113.58/32 dev vmbr0
down ip route del 203.0.113.58/32 dev vmbr0 Uma linha up e down para cada endereço roteado dessa forma. Dentro da máquina o endereço é um /32, e o host precisa ser alcançado por uma rota explícita antes da padrão:
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 203.0.113.58/32
post-up ip route add 203.0.113.10 dev ens18
post-up ip route add default via 203.0.113.10
dns-nameservers 209.244.0.3 1.1.1.1 Não remova a linha proxy_arp. Nossos roteadores perguntam à rede quem detém cada endereço, e essa linha é o que faz o host responder pelas máquinas atrás dele. Deixe-a de fora e elas ficam simplesmente invisíveis. As duas linhas post-up echo são a maneira do próprio Proxmox de escrever isso. Para defini-las permanentemente, em vez disso, coloque um arquivo em /etc/sysctl.d/ contendo:
net.ipv4.ip_forward=1 net.ipv4.conf.eno1.proxy_arp=1
O que você compra com o trabalho extra é um host que pode filtrar e registrar cada pacote. Se não precisa disso, o passo três tem menos coisas para dar errado.
Muitas máquinas só iniciam conversas: executores de build, trabalhadores de fila, um banco de dados que nada de fora deveria tocar. Dê a elas um endereço privado em uma bridge sem saída própria e deixe o host traduzir o tráfego delas para o endereço dele no caminho. Isso não usa nada da sua alocação, então você pode rodar quantas o hardware aguentar.
Adicione uma segunda bridge, deixando a vmbr0 exatamente como está:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE Coloque as máquinas na vmbr1, dê a cada uma um endereço nesse intervalo com 10.10.10.1 como gateway, e elas estão prontas. Para o resto da internet, elas parecem seu servidor. Nada as alcança de fora a menos que você peça, e pedir é mais uma regra ao lado da primeira, em uma porta que o host ainda não esteja usando:
post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443 post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443
Esta bridge não tem porta física, então um servidor DHCP nela é seguro e é uma maneira organizada de endereçar as máquinas atrás dela.
O que você tem é um punhado de endereços IPv6 separados, não um bloco para dividir. Eles estão no final do mesmo e-mail de configuração e são colocados um de cada vez, exatamente como os IPv4: um no host se você quiser que o host seja acessível por IPv6, os outros nas máquinas que precisarem deles. O instalador não configura nenhum deles, então tudo isso é seu para adicionar.
Escreva cada um com um /64 no final, e o gateway é o prefixo com ::1 depois dele — um endereço dentro de 2001:db8:1234::/64 usa 2001:db8:1234::1. No host, ao lado da bridge que já existe:
iface vmbr0 inet6 static
address 2001:db8:1234::2/64
gateway 2001:db8:1234::1 E em uma máquina na bridge:
iface ens18 inet6 static
address 2001:db8:1234::5/64
gateway 2001:db8:1234::1 Depois ifreload -a, como antes. Como são endereços individuais em vez de um bloco seu, não anuncie rotas nem distribua endereços que não lhe foram dados. Precisa de mais? Fale conosco.
Você mesmo configura o DNS reverso, em qualquer endereço, sem perguntar a ninguém. Entre, abra o servidor e encontre o painel chamado Acesso, Rede e rDNS. Cada endereço é listado com o nome ao qual responde atualmente e um botão Editar rDNS ao lado. Endereços IPv6 funcionam da mesma forma.
O campo pede um nome de host: letras, números, hífens e pontos, cada parte entre 1 e 63 caracteres, pelo menos duas partes, e o ponto final é adicionado para você. Dê alguns minutos para entrar em vigor.
Se a máquina envia e-mail, o endereço a nomear é aquele de onde o e-mail realmente sai — com o passo cinco é o endereço do host, não o da máquina — e você também vai querer o registro direto correspondente no seu provedor de DNS. Os servidores de e-mail do outro lado verificam se os dois concordam e recusam mensagens quando não concordam.
O que as pessoas nos perguntam depois de seguir esta página.