Anterior: Ponte de rede para QEMU, Acima: Máquinas Virtuais [Conteúdo][Índice]
Se a máquina que hospeda suas máquinas virtuais estiver conectada sem fio à
rede, você não poderá usar uma ponte de rede verdadeira, conforme explicado
na seção anterior (veja Ponte de rede para QEMU). Nesse caso, a próxima
melhor opção é usar uma ponte virtual com roteamento estático e
configurar uma máquina virtual com libvirt para usá-la (por meio da GUI
virt-manager
, por exemplo). Isso é semelhante ao modo de operação
padrão do QEMU/libvirt, exceto que, em vez de usar NAT (Network
Address Translation), ele depende de rotas estáticas para unir o endereço IP
da VM (máquina virtual) à LAN (rede local). Isso fornece
conectividade bidirecional de e para a máquina virtual, necessária para
expor serviços hospedados na máquina virtual.
Uma ponte de rede virtual consiste em alguns componentes/configurações, como
uma interface TUN (túnel de rede), servidor DHCP (dnsmasq) e regras de
firewall (iptables). O comando virsh
, fornecido pelo pacote
libvirt
, torna muito fácil criar uma ponte virtual. Primeiro, você
precisa escolher uma sub-rede de rede para sua ponte virtual; se sua LAN
doméstica estiver na rede ‘192.168.1.0/24’, você pode optar por usar,
por exemplo, ‘192.168.2.0/24’. Defina um arquivo XML, por exemplo,
/tmp/virbr0.xml, contendo o seguinte:
<network> <name>virbr0</name> <bridge name="virbr0" /> <forward mode="route"/> <ip address="192.168.2.0" netmask="255.255.255.0"> <dhcp> <range start="192.168.2.1" end="192.168.2.254"/> </dhcp> </ip> </network>
Em seguida, crie e configure a interface usando o comando virsh
,
como root:
virsh net-define /tmp/virbr0.xml virsh net-autostart virbr0 virsh net-start virbr0
A interface ‘virbr0’ agora deve estar visível, por exemplo, via o comando ‘ip address’. Ela será iniciada automaticamente toda vez que sua máquina virtual libvirt for iniciada.
Se você configurou sua máquina virtual para usar sua interface de ponte virtual ‘virbr0’ recém-criada, ela já deve receber um IP via DHCP, como ‘192.168.2.15’ e ser acessível a partir do servidor que a hospeda, por exemplo, via ‘ping 192.168.2.15’. Há uma última configuração necessária para que a VM possa alcançar a rede externa: adicionar rotas estáticas ao roteador da rede.
Neste exemplo, a rede LAN é ‘192.168.1.0/24’ e a página da web de configuração do roteador pode ser acessada por meio de, por exemplo, a página http://192.168.1.1. Em um roteador executando o firmware libreCMC, você navegaria até a página Network → Static Routes (https://192.168.1.1/cgi-bin/luci/admin/network/routes) e adicionaria uma nova entrada em ‘Static IPv4 Routes’ com as seguintes informações:
rede local
192.168.2.0
255.255.255.0
servidor-ip
unicast
onde server-ip é o endereço IP da máquina que hospeda as VMs, que deve ser estático.
Depois de salvar/aplicar essa nova rota estática, a conectividade externa deve funcionar de dentro da sua VM; você pode, por exemplo, executar ‘ping gnu.org’ para verificar se ela funciona corretamente.
Anterior: Ponte de rede para QEMU, Acima: Máquinas Virtuais [Conteúdo][Índice]