Antes de tudo, verifique se os ‘parâmetros de virtualização’ estão habilitados no BIOS usando:
LC_ALL=C lscpu | grep Virtualization
Se não aparecer nada, deve ir na sua BIOS e habilitar a virtualização, para depois voltar aqui na matéria.
qemu-desktop já é bom. Para instalar COMPLETO (1 GB) trocar o pacote para
qemu-full
na instalação.
sudo pacman -S virt-manager qemu-desktop swtpm dmidecode dnsmasq bridge-utils
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
sudo usermod -aG libvirt-qemu $USER
grep libvirt /etc/group
sudo systemctl enable --now libvirtd.service
Inicie e configure a rede NAT para iniciar de forma automatica:
sudo virsh net-start default
sudo virsh net-autostart default
Para saber se a configuração deu certo, basta fazer o seguinte comando:
sudo virsh net-list
Se você deseja definir portas específicas de bridge para uso no Virt Manager (por exemplo, de br0
a br9
), use o seguinte comando:
for i in {0..9}; do echo "allow br$i" | sudo tee -a /etc/qemu/bridge.conf ; done
Esse comando adiciona permissões para as interfaces br0
a br9
no arquivo /etc/qemu/bridge.conf
, permitindo que o Virt Manager ou QEMU utilize essas interfaces como bridges para máquinas virtuais.
Se você prefere liberar o uso de qualquer bridge para o Virt Manager/QEMU (sem restringir a interfaces específicas), utilize:
echo "allow all" | sudo tee -a /etc/qemu/bridge.conf
Isso permite que todas as bridges configuradas no sistema sejam usadas pelas VMs, sem a necessidade de especificar individualmente cada interface.
Para garantir que o tráfego da rede seja roteado corretamente pela interface bridge (br0
), você deve habilitar o encaminhamento de pacotes IPv4 no kernel. Isso é especialmente importante ao usar NAT (Network Address Translation).
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.d/99-sysctl.conf
sudo sysctl -w net.ipv4.ip_forward=1
Esses comandos garantem que o encaminhamento de pacotes esteja ativo, permitindo que as VMs conectadas à bridge acessem outras redes (como a internet) através da interface host.
Para garantir que o libvirt
utilize o iptables
como backend de firewall, é necessário ajustar o arquivo de configuração network.conf
. Execute os seguintes comandos:
# Remove qualquer configuração existente do firewall_backend
sed -i '/^firewall_backend/d' /etc/libvirt/network.conf
# Define o firewall_backend como iptables
echo 'firewall_backend = "iptables"' | sudo tee -a /etc/libvirt/network.conf > /dev/null
# Reinicia o serviço libvirtd para aplicar as mudanças
sudo systemctl restart libvirtd.service
Essa configuração assegura que o libvirt
gerencie as regras de firewall utilizando o iptables
, o que é essencial para garantir a segurança e o correto funcionamento das redes das máquinas virtuais.
A criação da porta Bridge (br0) será adicionado futuramente. Está em edição