Como o KVM define suas próprias regras de netfilter?

1

Eu andei bisbilhotando com as VMs do KVM no Centos 6.4 não tendo uma conexão com a internet na minha VM, encontrei algo curioso:

Ao inicializar a máquina, o iptables tem regras na cadeia FORWARD para permitir o tráfego para a VM e tudo está bem. Quando executo service iptables restart , no entanto, parece que ele puxa as regras de configuração de /etc/sysconfig/iptables (configurações padrão que rejeitam todo o encaminhamento) e, portanto, tenho sido relegado a descartar o firewall completamente no host físico ou reinicializar obtenha as regras FORWARD adicionadas para que funcione novamente.

Editar:
Na verdade, eu poderia apenas modificar as regras do firewall para permitir isso, mas não é o foco dessa questão. Estou mais focado na seguinte questão 1:

Minhas perguntas são:

  1. Em que ponto (ou por qual mecanismo) essas regras FORWARD são adicionadas?
  2. Como posso recuperar as regras FORWARD sem reiniciar a máquina?

Francamente, nem sei por onde começar a procurar por esse problema. Eu encontrei esta página que diz para modificar /etc/sysctl.conf com as seguintes variáveis que supostamente fazem com que o netfilter ignore o tráfego de conexões em ponte:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

O problema é que meu sysctl.conf já está configurado e o netfilter ainda funciona, bloqueando tudo para a VM.

    
por Seananigans 25.10.2013 / 04:01

1 resposta

2

O próprio KVM não faz nada além de executar a VM. Regras do iptables são postas em prática pelo libvirt, (ou scripts do qemu-ifup se você estiver fazendo coisas hardcore e manuais)

Em qualquer caso, se você quiser evitar a complicação iptables, não use VMs em uma configuração NAT, e mude para usando uma ponte ou OVS.

configuração do OVS

Rede em ponte

    
por 25.10.2013 / 22:49