Pós Instalação do Proxmox VE
Após a instalação inicial do Proxmox VE, é essencial realizar algumas configurações para garantir a melhor performance, segurança e gerenciamento do seu ambiente. Neste post, apresento um guia básico com os principais passos para você começar a operar o seu Proxmox com confiança.
Ajustes Inicias
Este script oferece opções para gerenciar os repositórios do Proxmox VE, incluindo desativar o repositório Enterprise, adicionar ou corrigir fontes do PVE, habilitar o repositório No-Subscription, adicionar o repositório de testes, desativar o aviso de assinatura, atualizar o Proxmox VE e reiniciar o sistema.
- Execute o comando abaixo no Shell do Proxmox VE.
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"
- O Microcode do processador é uma camada de software de baixo nível que roda no processador e fornece patches ou atualizações para o firmware. As atualizações de microcode podem corrigir bugs de hardware, melhorar o desempenho e aprimorar os recursos de segurança do processador.
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/microcode.sh)"
- Após a reinicialização, você pode verificar se alguma atualização de microcode está em efeito executando o seguinte comando.
journalctl -k | grep -E "microcode" | head -n 1
- Instale algumas coisas que são necessárias mais cedo ou mais tarde
apt install htop ifupdown2 git certbot -y
- Ajuste o swappiness
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
Ajustes no Servidor SSH
- Alerar a porta do SSH (no exemplo está a 2222 mas vc pode escolher qualquer uma mudando o valor
sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
Esse comando encontra a linha que contém #Port 22
(geralmente comentada por padrão) e substitui por Port 2222
.
A opção -i
faz a edição diretamente no arquivo.
- Desative o login do root por ssh
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
Isso descomenta e altera a linha para PermitRootLogin no
.
- Crie um usuário para poder desativar o login do root por ssh
useradd -m -s /bin/bash <usuario> && echo "<usuario>:<senha>" | chpasswd
- Copie a sua chave pública do seu computador para o Servidor
ssh-copy-id -i ~/.ssh/<suachave.pub> <usuario>@<ip-do-servidor>
Esse comando é para ser executado nos computadores que terão acesso ao servidor.
- Desative o login por senha no ssh
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
- Reinicie o servidor SSH
systemctl restart ssh
- Crie um nova bridge sem interface física
Objetivo de ter uma segunda interface para a VM com um roteador Mikrotik CHR. O comando a abaixo vai criar uma bridge sem interface física com o ip 172.21.21.254/24, mude para o ip que desejar, ou deixe como está.
sed -i '$ a\
auto vmbr1\n\
iface vmbr1 inet static\n\
\taddress 172.21.21.254/24\n\
\tbridge_ports none\n\
\tbridge_stp off\n\
\tbridge_fd 0' /etc/network/interfaces
Para aplicar use:
ifreload -a
Monitoramento
O Netdata é uma ferramenta de monitoramento de performance em tempo real, de código aberto, projetada para fornecer insights sobre o desempenho e a saúde de sistemas e aplicações. É comumente utilizado por administradores de sistemas, profissionais de DevOps e desenvolvedores para monitorar e solucionar problemas em servidores e outros dispositivos.
Para instalar/desinstalar o Netdata no Proxmox VE, execute o comando abaixo no Shell do Proxmox VE.
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/netdata.sh)"
Depois estará disponível em http://<SEU-IP>:19999
Configure o SSL / HTTPs
- Crie um subdominio no seu servidor de DNS e aponte para o IP do seu servidor
....
- Instale e configure o certificado SSL
Para evitar conflitos, pare o serviço pveproxy
antes de solicitar o certificado:
systemctl stop pveproxy &&
certbot certonly --standalone -d <sub.dominio.com> --register-unsafely-without-email --agree-tos
Use o comando acima para solicitar um certificado para o subdomínio sub.dominio.com
Este comando fará o Certbot utilizar seu próprio servidor HTTP temporário para verificar o subdomínio e emitir o certificado. Caso a configuração DNS esteja correta e o domínio esteja apontando para o IP do Proxmox, o Certbot deve obter o certificado.
Copie o Certificado para o Diretório do Proxmox:
cp /etc/letsencrypt/live/<sub.dominio.com>/fullchain.pem /etc/pve/local/pveproxy-ssl.pem
cp /etc/letsencrypt/live/<sub.dominio.com>/privkey.pem /etc/pve/local/pveproxy-ssl.key
chmod 640 /etc/pve/local/pveproxy-ssl.pem
chmod 640 /etc/pve/local/pveproxy-ssl.key
Com os certificados no lugar, reinicie o serviço pveproxy para aplicar as mudanças:
systemctl start pveproxy
Configurar o Crontab para renovar o certificado sozinho
sed -i '$ a\0 2 * * 1 certbot renew --quiet &&
systemctl restart pveproxy' /var/spool/cron/crontabs/root
Firewall
Crie o arquivo de firewall (se necessário):
echo -e "[OPTIONS]\nenable: 1\n\n[RULES]" > /etc/pve/nodes/pve1/host.fw
Adicione regras usando sed:
sed -i '/\[RULES\]/a\
IN ACCEPT -p tcp -dport 2222 -log nolog\
IN ACCEPT -p tcp -dport 8006 -log nolog\
IN ACCEPT -p icmp -log nolog' /etc/pve/nodes/pve1/host.fw
Lembre-se que mudamos a porta do Servidor SSH para 2222, caso tenha escolhida outra precisa mudar na regra antes de ariver o firewall
Ative o firewall no Datacenter:
pve-firewall start
Verifique o status para garantir que está ativo:
pve-firewall status
NAT
Na nossa planta o Proxmox terá um NAT para conversar com a bridge vmbr1 com saída para a internet pela rede 172.21.21.0/24.
- Primeiro, habilite o roteamento no sistema para permitir a comunicação entre as interfaces de rede:
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
- Adicione a regra utilizando o iptables em /etc/network/interfaces
sed -i '$ a\#NAT\n\
post-up iptables -t nat -A POSTROUTING -s \'172.21.21.0/24\' -o eno1 -j MASQUERADE\n\
post-down iptables -t nat -D POSTROUTING -s \'172.21.21.0/24\' -o eno1 -j MASQUERADE' /etc/network/interfaces