Не удается получить доступ к виртуальной машине VMware через SSH


3

У меня есть VMware Server 2 на хосте CentOS 5.6. Я могу получить доступ к своим виртуальным машинам с хост-машины, но не могу получить к ней доступ с других машин.

Я настроил переадресацию порта NAT. Но почему-то у меня нет доступа к ВМ с помощью ssh, Я проверил все настройки брандмауэра, и они кажутся правильными.

Что может вызвать эту проблему?


1
Привет Билал - кому-то понадобится гораздо больше подробностей, чтобы ответить на твой вопрос. Насколько я понимаю, у вас есть ESX v2 box с Cent 5.6 VM на нем? Если это так, то о каком брандмауэре вы говорите - на гипервизоре (блок ESX) или на виртуальной машине? Где другая система, с которой вы работаете? Похоже, ваш vSwitch нуждается в любви, но мне нужно больше деталей.
mbb

нет у меня vmware сервер 2 на centos 5.6, как я уже говорил. Я говорю о брандмауэре хост-машины. У меня есть доступ SSH от хоста к VM, у меня есть доступ SSH через Интернет (вне сети) к хосту, но у меня нет прямого доступа к VM через SSH.
bilal

Это имеет больше смысла - спасибо за разъяснения
mbb

Ответы:


2

Если вы в состоянии ssh в удаленный хост, чем нужно проверить брандмауэр на хосте, если ssh порты (22) перенаправляются на vm.

Есть похожий вопрос Вот ,

Там это брандмауэр UFW, который должен иметь правило, как

ufw route allow 2222/tcp to 192.168.130.128 port 22

разрешить подключение к хосту через порт 2222 и пересылать tcp гостевой виртуальной машине по IP 192.168.130.128:22

А также этот пользователь упомянул, что ufw это фронтенд iptablesтак что зайдите на ваш сайт или отредактируйте iptables в этом роде.

iptables -t nat -A PREROUTING -m tcp -p tcp --dport 2222 -j DNAT --to-destination 192.168.130.128:22

Недостающая часть

Укороченная версия Вы сказали iptables добавить PREROUTING править вашим nat table, Недостающая часть:

#---------------------------------------------------------------
# After DNAT, the packets are routed via the filter table's
# FORWARD chain.
# Connections on port 22 to the target machine on the private
# network must be allowed.
#---------------------------------------------------------------
# The `\` masks the `linebreak` in the `bash command`
# You can `copy & paste` all the lines at once

# From the manual
# Changing to specific IP and Interfaces  
# being:
# `eth0` your host adapter and
# `vmnet8` your guest adapter

Это соединение с целевой машиной:

iptables -A FORWARD -p tcp -i eth0 -o vmnet8 -d 192.168.130.128 \
    --dport 22 --sport 2222 -m state --state NEW -j ACCEPT

И это фильтр от host interface на ваш guest interface и наоборот.

iptables -A FORWARD -t filter -o eth0 -m state \
         --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -t filter -i vmnet8 -m state \
         --state ESTABLISHED,RELATED -j ACCEPT

1

Здесь вы имеете дело с двумя отдельными сетями. Я приведу вам пример:

IP, который дает вам ваш провайдер = 22.24.42.44
IP вашего роутера = 192.168.2.1
IP хост-системы = 192.168.2.2
IP вашей ВМ = 10.5.5.4

Эта конфигурация - то, как выглядит сеть моей виртуальной среды. Таким образом, у вас на самом деле есть две сети, через которые вы должны были бы перенести порт, чтобы получить общий доступ к вашей виртуальной машине. Думайте об этом как о вашем гипервизоре (хост-системе) ЯВЛЯЕТСЯ маршрутизатор для вашей виртуальной машины.

Я последовал за это как настроить мой конфиг, но у вас может быть более сложная конфигурация .. это зависит от того, какое приложение вы хотите запустить - RDC, apache, ssh. Там больше хорошей информации Вот , Вы должны будете дать больше подробностей, чем я хотел бы попросить на общедоступном сайте, чтобы я помог с подробностями. Принципы всегда одинаковы - создайте localhost: & lt; & gt; подключение к вашей физической системе через VMware Server 2 к порту VM, к которому вы хотите получить доступ (22 для SSH).


моя конфигурация точно такая же, как ваша инструкция. я пересылаю IP на моем хосте, например: 2222 до 22 моего виртуального компьютера в моей конфигурации nat. 2222: xxx.xxx.xxx.xxx:22
bilal

кстати я получаю сервер неожиданно закрыл сетевое соединение, если он дает больше информации
bilal

вы можете SSH в той же подсети? С хоста в том же диапазоне IP ( 192.168.2.x в приведенном выше примере)?
mbb

0

У вашего хоста есть виртуальная сетевая карта в сети NAT?

При использовании VMware Workstation 9 в Win7 вам необходимо открыть диспетчер сети и установить флажок «Подключить виртуальный адаптер хоста к этой сети», прежде чем хост подключится к сети NAT. Там, вероятно, аналогичный процесс для Linux.

Это сделано намеренно и позволяет создать безопасную виртуальную сеть, в которой нет «маршрута к хосту» к гипервизору.


0

на хосте centOS 5.6 service iptables stop В большинстве случаев бэкэнд-хосты не нуждаются в работе iptables, и это может / заблокирует ваши соединения.

Вы пересылаете ВСЕ порты? 80/443 / 902/903 /

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.