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

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

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

Из виртуальной машины я могу пинговать IP хоста, но не могу запустить traceroute или ssh к хосту. Однако я могу выполнить traceroute к IP шлюза хоста в локальной сети (IP маршрутизатора).

На хосте/ВМ не запущен брандмауэр/iptables, а net.ipv4.ip_forward = 1он установлен на хосте. Что еще я упускаю, чтобы разрешить ВМ получить доступ к хосту?

Спасибо.

решение1

По моему опыту, лучший способ настроить связь Host <-> Guest в KVM — настроить вторую сетевую карту на виртуальной машине, используемую специально для этой цели. Вот хорошая статья, в которой объясняются все тонкости:

https://www.furorteutonicus.eu/2013/08/04/enablebling-host-guest-networking-with-kvm-macvlan-and-macvtap/

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

После добавления второй сетевой карты к виртуальной машине настройте статический IP-адрес в гостевой ОС, а затем используйте его для связи хоста с гостем.

Конечно, вам нужно убедиться, что вы разрешаете трафик не только на хосте, но и в гостевой ОС (в виртуальной машине).

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