Хост блокирует все кроме icmp

У меня странная проблема на хосте Centos 7 VM (qemu-kvm).

У меня есть две виртуальные машины, которые до недели назад прекрасно работали с мостовыми сетями. Теперь они больше не могут получить доступ к чему-либо в сети или в Интернете (за исключением самого хоста). Единственный способ заставить их общаться с внешним миром - это изменить источник сети на Virtual/NAT. Это явно не идеально, так как они больше не подключены напрямую к моей сети.

Исключением является трафик ICMP. Я могу пинговать другие устройства в сети (и в Интернете), пока они соединены мостом, но весь трафик TCP/UDP заблокирован.

Возвращаясь к моим шагам, последнее, что я сделал до того, как это произошло, - запустил на хосте сервис докера (который по какой-то причине был остановлен), но проблемы с сетевым подключением начались только через 10-20 секунд после этого. Здесь следует отметить, что на хосте не настроено ни одного контейнера.

Мой инстинкт инстинкта подсказывает мне, что где-то есть правило iptables, которое все портит, но я, честно говоря, не знаю, как такое правило могло быть создано (кроме как автоматически докером), и я не знаю, каким именно я должен быть находясь в поиске.

Для записи у меня есть две сети (192.168.0.0, 192.168.1.0), которые разделены на отдельные VLAN. Хост-машина имеет два сетевых адаптера, один из которых подключен к каждой VLAN, а виртуальные машины подключены к обеим сетям. 0.0 подключен к интернету, а 1.0 не является. Хост VM не действует как шлюз.

Это мои дампы iptables:

Это мой конфиг 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:

[РЕДАКТИРОВАТЬ]

Я добавляю вывод iptables -S здесь, как это явно более полезно: https://pastebin.com/wKAtSKPG

Кроме того, я подтвердил, что это проблема с брандмауэром после того, как я остановил firewalld и смог подключиться к внешнему миру с виртуальных машин.

1 ответ

Мой инстинкт инстинкта подсказывает мне, что где-то есть правило iptables, которое все портит, но я, честно говоря, не знаю, как такое правило могло быть создано (кроме как автоматически докером), и я не знаю, каким именно я должен быть находясь в поиске.

Я предполагаю, что ваши инстинкты абсолютно верны. Docker использует IPtables для внутренней маршрутизации и смешивает существующие правила с собственными. В прошлом я отлаживал проблемы с этой настройкой, сравнивая состояние IPtables до и после запуска демона Docker (задержка, с которой вы столкнулись, вероятно, является временем установки).

Если вы видите, что Docker действительно нарушает вашу настройку, вы можете добавить правила Docker вручную или перенести демон Docker на другую машину.

Другие вопросы по тегам