Eu tenho
É igual a este gráfico de Configurar endereços IP públicos em VMs do KVM
Comofazerisso?
Atualmente,usoumdispositivoumapontevirtualparaconectararedefísicacomtodasasportasethernetdaVMesimplesmenteconfiguraroIPnasVMs.Agoraqueroadotarrederoteadaparasegurança(asVMsnãopodemfalsificaroendereçoIPdeoutraVM)econfiguraçãomaisfácil(detalhesdeconfiguraçãodeIPnãodevemserinseridosemtodasasinstalaçõesdeVM).
Meuhostertemumaredemaior(digamos/24paraIPv4),masconfigurouseusswitchespararotearsomenteosmeusendereçosIPparaaportadomeuswitch.ParasinalizarqueosendereçosIPdaVMestãodisponíveisnoendereçoMACdomeuhost,euprecisohabilitaroproxyARP.
EuusooatualDebianLinux9Stretchcomtodosossoftwaresdospacotesdadistribuição.
AchoqueeupoderiacriarumdispositivodepontenoLinuxeconfigurarumservidorDHCPparacadaendereçoIPv4eregrasdoiptablesmanualmenteeconectarcadaVMaumadaspontes.Masalibvirtpareceterrecursosparasimplificarisso.
Amelhordescriçãodeumaconfiguraçãosemelhantequeencontreiéo
Acho complicado copiar o endereço MAC da porta ethernet da VM e reescrever o arquivo XML da rede e reiniciar a rede para todas VMs. Em vez disso, gostaria de selecionar o endereço IPv4 ao configurar a VM.
Acho que criar 1 rede por endereço IPv4 com um nome como static-192.168.1.2
(com um endereço IP público) e um intervalo DHCP para apenas esse endereço permitiria isso. Para mais endereços, isso pode não escalar, mas para 8 eu considero isso. Existe uma solução melhor?
Eu tentei criar uma rede refletindo a rede local com um curto intervalo DHCP para fornecer dois exemplos de endereços IPv4 em uma configuração de teste. 192.168.23.0/24 é a rede local e o host da VM tem 192.168.23.7 em br1
.
<network>
<name>static</name>
<bridge name="br1" />
<forward mode="route"/>
<ip address="192.168.23.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.23.8" end="192.168.23.10"/>
</dhcp>
</ip>
</network>
mas não consigo começar
# virsh net-create net.xml
error: Failed to create network from net.xml
error: internal error: Network is already in use by interface br1
Eu já configurei uma ponte conectada à interface física porque achei que o IPv4 do host nessa interface a bloquearia. Como definir uma rede libvirt roteada com um DHCP que contenha um único endereço IPv4 da rede local?
Eu acho isso bastante complexo porque eu nunca trabalhei com libvirt ainda e provavelmente alguma informação está faltando. Vou atualizar a questão conforme necessário.