
В случае если виртуальная машина KVM находится за NAT и появляется необходимость пробросить порты для доступа к ней можно воспользоваться iptables для настройки.

На хосте в таком случае функционирует виртуальный коммутатор virbr0

В моем случае хост имеет ip 192.168.122.1 на виртуальном коммутаторе и 10.0.0.90 на физическом устройстве eno1 с доступом в локальную сеть, а виртуальная машина 192.168.122.59
Пробросим порт 443 для доступа к виртуальной машине по HTTPS
sudo iptables -t nat -A PREROUTING --dst 10.0.0.90 -p tcp --dport 443 -j DNAT --to-destination 192.168.122.59
sudo iptables -I FORWARD 1 -i eno1 -o virbr0 -d 192.168.122.59 -p tcp -m tcp --dport 443 -j ACCEPT
Таким образом при обращении из локальной сети на адрес 10.0.0.90:443 мы будем попадать на виртуальную машину.
Еще больше заметок о работе системного администратора на главной странице https://geekadmin.ru