Назад | Перейти на главную страницу

Libvirt: переход от гостя к гостю

TL; DR: я хочу получить доступ к порту 443 на IP-адресе хоста из виртуальной машины на том же хосте и перенаправить свой запрос на другую виртуальную машину на том же хосте.

Я использую Libvirt для управления некоторыми виртуальными машинами, работающими на QEMU / KVM на хосте Debian 9. Я использовал Libvirt для настройки сети NAT (подсеть 192.168.122.0/24 со шлюзом 192.168.122.1) и у меня есть сценарий ловушки, который устанавливает следующие правила iptables:

iptables -D FORWARD -m state -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -D PREROUTING -p tcp -d 192.168.0.2 --dport 443 -j DNAT --to-destination 192.168.122.128:443

По сути, они перенаправляют соединения от хост-порта к гостевому. Это позволяет службе, работающей на порту 443 виртуальной машины по адресу 192.168.122.128, быть доступной через внешний IP-адрес хоста (192.168.0.2) на 443.

Я хочу иметь доступ к службам с перенаправлением портов (192.168.0.2:443 или 192.168.122.1:443) с виртуальных машин, работающих на том же хосте. В настоящее время мои запросы не пересылаются, когда я обращаюсь к порту 443 на виртуальной машине в той же сети NAT.

Как я могу перенаправить порт с хоста на гостя и с гостя на гостя с помощью iptables?