Host bloqueando todos, exceto icmp

1

Estou tendo um problema estranho em um host da VM do Centos 7 (qemu-kvm).

Eu tenho duas VMs que, até uma semana atrás, funcionavam perfeitamente bem com redes em ponte. Agora eles não podem mais acessar nada na rede ou na internet (com exceção do próprio host). A única maneira de fazer com que eles se comuniquem com o mundo exterior é mudando a fonte da rede para Virtual / NAT. Obviamente, isso não é ideal, já que eles não estão mais conectados diretamente à minha rede.

A exceção a isso é o tráfego ICMP. Posso fazer ping em outros dispositivos na rede (e na internet) enquanto estiver em ponte, mas todo o tráfego TCP / UDP está bloqueado.

Rastreando meus passos, a última coisa que fiz antes disso aconteceu foi iniciar o serviço docker no host (que foi interrompido por algum motivo), mas os problemas de conectividade de rede só começaram talvez 10 a 20 segundos depois disso. Devo observar aqui que não tenho nenhum contêiner configurado no host.

Meu instinto me diz que há uma regra iptables em algum lugar que está estragando as coisas, mas eu sinceramente não sei como tal regra poderia ter sido criada (diferente de automaticamente pelo docker), e não sei exatamente o que Eu deveria estar procurando.

Para o registro, eu tenho duas redes ( 192.168.0.0 , 192.168.1.0 ) que são segregadas em VLANs separadas. A máquina host possui duas NICs, uma conectada a cada VLAN, e as VMs são conectadas a ambas as redes. 0.0 está conectado à internet, enquanto 1.0 não está. O host da VM não está agindo como um gateway.

Estes são meus dumps de iptables:

Esta é a minha configuração do firewalld:

internal (active)
  target: default
  icmp-block-inversion: no
  interfaces: bridge0
  sources: 
  services: ssh mdns samba-client dhcpv6-client samba mountd rpc-bind nfs ntp dns
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

cameras (active)
  target: default
  icmp-block-inversion: no
  interfaces: bridge1
  sources: 192.168.1.4/32
  services: ntp
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

[EDITAR]

Estou adicionando a saída de iptables -S aqui, pois é claramente mais útil: link

Além disso, confirmei que é um problema de firewall depois que parei de usar o firewalld e consegui me conectar ao mundo externo a partir das VMs

    
por Toasty 29.09.2018 / 03:56

1 resposta

0

My gut instinct tells me that there's an iptables rule somewhere that's screwing things up, but I honestly don't know how such a rule could have been created (other than automatically by docker), and I don't know what exactly I should be looking for.

Meu palpite seria que seus instintos estão exatamente certos. O Docker usa IPtables para seu roteamento interno e mistura suas regras existentes com as suas próprias. Eu depurei problemas com essa configuração no passado comparando o estado IPtables antes e depois do início do daemon do Docker (o atraso que você experimentou é provavelmente o tempo de configuração).

Se você perceber que o Docker realmente perturba sua configuração, talvez queira inserir as regras do Docker manualmente ou mover o daemon do Docker para outra máquina.

    
por 01.10.2018 / 13:55