Соединение двух мостов работает только в одном направлении

Соединение двух мостов работает только в одном направлении

У меня есть хост Centos8 с установленными libvirt (KVM) и podman (1.6).

libvirt добавил мост под названием "virbr0", и гости будут подключены к нему с адресом из диапазона 192.168.122.0/24. Сам virbr0 имеет 192.168.122.1. Гости могут общаться друг с другом, с хостом и с интернетом. Пока ничего особенного...

Помимо libvirt у нас есть podman, который поставляется вместе с CNI, который, в свою очередь, предоставляет мост под названием «cni-podman0» и разворачивает сеть с диапазоном 10.88.0.0/16.

Когда я создаю контейнер (с собственным сетевым ns), скажем, экземпляр WordPress, я могу получить доступ к этой службе с хоста и из гостевой системы libvirt, используя IP-адрес контейнера, например:завиток -L 10.88.0.10.

Но с другой стороны, когда я пытаюсь связаться с гостем libvirt из контейнера Podman, я всегда получаю сообщение «curl: (7) Не удалось подключиться к порту 192.168.122.14 8443: соединение отклонено». (<-Нет, это не забытая настройка брандмауэра)

Когда я использую tcpdump, я вижу, что пакеты не идут дальше контейнерного моста "cni-podman0". (После двух "Повторных передач" он сдается)

Мне iptables кажется вполне нормальным:

iptables -nvL -t нат

Chain PREROUTING (policy ACCEPT 1540 packets, 192K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 75 packets, 6929 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 1412 packets, 86218 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  *      *       192.168.122.0/24     224.0.0.0/24        
    0     0 RETURN     all  --  *      *       192.168.122.0/24     255.255.255.255     
    3   180 MASQUERADE  tcp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  udp  --  *      *       192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    !192.168.122.0/24    
    0     0 CNI-df70ac6052cc3121e6aed9de  all  --  *      *       10.88.0.16           0.0.0.0/0            /* name: "podman" id: "ae18985e3e1a0905bc04be8021bcacdd61436e682be24c08e2e53b0705baad33" */

Chain OUTPUT (policy ACCEPT 1412 packets, 86218 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain CNI-df70ac6052cc3121e6aed9de (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            10.88.0.0/16         /* name: "podman" id: "ae18985e3e1a0905bc04be8021bcacdd61436e682be24c08e2e53b0705baad33" */
    0     0 MASQUERADE  all  --  *      *       0.0.0.0/0           !224.0.0.0/4          /* name: "podman" id: "ae18985e3e1a0905bc04be8021bcacdd61436e682be24c08e2e53b0705baad33" */

...если я правильно понял, последняя строка говорит нам о необходимости перехвата всего трафика, предназначенного для целей, не относящихся к многоадресному адресу.

Пожалуйста, кто-нибудь, верните меня на правильный путь. Спасибо!

Связанный контент