
Я запускаю простую виртуальную машину на базе KVM на хосте Ubuntu. Виртуальная машина подключена к виртуальной сети NAT. К ней можно получить доступ с хоста, но она не может подключиться обратно к хосту.
Из виртуальной машины я могу пинговать IP хоста, но не могу запустить traceroute или ssh к хосту. Однако я могу выполнить traceroute к IP шлюза хоста в локальной сети (IP маршрутизатора).
На хосте/ВМ не запущен брандмауэр/iptables, а net.ipv4.ip_forward = 1
он установлен на хосте. Что еще я упускаю, чтобы разрешить ВМ получить доступ к хосту?
Спасибо.
решение1
По моему опыту, лучший способ настроить связь Host <-> Guest в KVM — настроить вторую сетевую карту на виртуальной машине, используемую специально для этой цели. Вот хорошая статья, в которой объясняются все тонкости:
На самом деле, это так же просто, как настроить вторую сеть, использующую macVLAN, или даже мостовую сеть, которая помещает виртуальную машину непосредственно в ту же сеть, что и ваш хост (в зависимости от того, как настроена ваша сеть и как вы хотите ограничить доступ виртуальной машины к сети хоста, это может сработать или не сработать для вас).
После добавления второй сетевой карты к виртуальной машине настройте статический IP-адрес в гостевой ОС, а затем используйте его для связи хоста с гостем.
Конечно, вам нужно убедиться, что вы разрешаете трафик не только на хосте, но и в гостевой ОС (в виртуальной машине).