Как получить доступ к VM внутри VM через VNC?
По некоторым причинам я установил виртуальные машины внутри виртуальной машины, например так:
A (B (C))
где A - это физическая машина, B - это vm, а тип сети - NAT. И C также является виртуальной машиной, и тип сети является мостовым.
Операционные системы - Ubuntu 12.04, а гипервизоры - KVM.
Я могу получить доступ к B через VNC и через ssh из A, но для CI не могу использовать ssh, потому что C не имеет IP-адреса в начале. И я предполагаю, что могу получить доступ к C только через VNC.
Я пробовал что-то вроде (на А):
iptables -t nat -A PREROUTING -d $ip-of-A -p tcp --dport 6500 -j DNAT --to-destination $ip-of-B:5900
(Я говорил об этом)
Но это не работает. И я читаю справочные страницы iptables и надеюсь, что кто-нибудь может помочь:)
1 ответ
У меня недостаточно репутации, чтобы комментировать.
Предполагая, что все машины имеют один сетевой адаптер. 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 и других сервисов.