По некоторым причинам я установил виртуальные машины внутри виртуальной машины, например:
А (В (С))
где A - физическая машина, B - виртуальная машина, а тип сети - NAT. C также является виртуальной машиной, а тип сети - мостовой.
Операционные системы - Ubuntu 12.04, а гипервизоры - kvm.
Я могу получить доступ к B через VNC и через ssh из A, но для C я не могу использовать ssh, потому что C изначально не имеет IP-адреса. И я предполагаю, что могу получить доступ к C только через VNC.
Я пробовал что-то вроде (на A):
iptables -t nat -A PREROUTING -d $ip-of-A -p tcp --dport 6500 -j DNAT --to-destination $ip-of-B:5900
(Я упомянул этот)
Но не работает. И я читаю страницы руководства iptables и надеюсь, что кто-то может помочь :)
У меня недостаточно репутации, чтобы комментировать.
Предполагая, что все машины имеют один сетевой адаптер. B - NAT, а C - мостовой. Вы можете получить доступ к B через A.
Можно ли получить доступ к C через B?
Можно ли получить доступ к C через A?
Если доступ к C возможен через B, вам придется перенаправить порт от A к B и переадресовать этот порт от B к порту 5900 C.
Предполагая, что порт 65535 A перенаправлен на порт 65535 B, порт 65535 B будет перенаправлен на порт 5900 C для доступа VNC. То же самое можно сделать для SSH и других сервисов.