无法通过 SSH 访问 VMware 虚拟机

无法通过 SSH 访问 VMware 虚拟机

我在 CentOS 5.6 主机上安装了 VMware Server 2。我可以从主机访问我的虚拟机,但无法从其他机器访问它。

我已经配置了 NAT 端口转发。但不知何故我无法使用 访问虚拟机ssh。我检查了所有防火墙设置,它们似乎都正确。

什么可能导致这个问题?

答案1

如果您能够ssh从远程进入主机,则需要检查主机上的防火墙,看看ssh端口(22)是否转发到虚拟机。

有一个类似的问题这里

那里是 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

答案2

这里你要处理的是两个独立的网络。我给你举个例子:

您的 ISP 为您提供的 IP =22.24.42.44
您的路由器的 IP =192.168.2.1
主机系统 IP =192.168.2.2
您的 VM 的 IP =10.5.5.4

此配置就是我的虚拟环境的网络。因此,您实际上有两个网络,您必须通过端口转发才能获得对 VM 的公共访问权限。可以将其视为虚拟机管理程序(主机系统)适用于您的虚拟机的路由器。

我跟着本指南设置我的配置,但你的配置可能更复杂。这取决于你想运行什么应用程序 - RDC、apache、ssh。还有更多有用的信息这里。您必须提供比我在公共网站上要求的更多详细信息,我才能帮助您解决具体问题。原则始终相同 - 建立与物理系统的 localhost:<> 连接,通过 VMware Server 2 转发到您要访问的 VM 端口(SSH 为 22)。

答案3

您的主机在NAT网络中是否有虚拟网卡?

在 Win7 上使用 VMware Workstation 9 时,需要打开网络管理器,勾选“将主机虚拟适配器连接到此网络”,然后主机才能连接到 NAT 网络。Linux 可能也有类似的过程。

这是有意为之,允许创建一个到虚拟机管理程序没有“主机路由”的安全虚拟网络。

答案4

在 centOS 5.6 主机上service iptables stop 大多数情况下后端主机不需要运行 iptables,这可能会/将会阻止您的连接。

您是否转发了所有端口?80/443/902/903/

相关内容