|
本帖最后由 万里云 于 2022-8-11 15:48 编辑
这得看虚拟机网络设置。
如果是桥接模式,相当于虚拟机和主机A连接到了同一个路由器上。比如主机A是192.168.1.2,虚拟机是192.168.1.3,那么连接到同一台路由的其它主机(192.168.1.4)就可以用192.168.1.3直接访问虚拟机。
如果是网络地址转换,相当于主机A做了个软路由,只有它才能解析虚拟机的IP地址。比如主机在物理局域网中的IP是192.168.1.2,在和虚拟机组成的虚拟局域网中ip是192.168.56.1,虚拟机IP是192.168.56.2。这时候主机192.168.1.4去访问192.168.56.2,就直接把路由器给整不会了。路由器也不知道怎么处理这个数据包,八成就给丢了。
解决方法就是在虚拟机设置中添加端口转发,把到192.168.1.2的XX端口的数据转发给虚拟机的22端口。然后另一台主机用ssh 192.168.1.2 -p xx访问虚拟机。这样路由器一看是给主机A的,就给转过去了。主机A根据端口转发规则一看是给虚拟机的,就转发到虚拟机的22端口了。然后就可以访问了。
举个实际的例子:
我们办公室放了一台服务器用来测试程序。服务器连在路由器上,IP是192.168.1.2,办公室内都可以访问。但隔壁的隔壁也是我们组的,路由器信号穿不过去,他们要服务器怎么连?需要在我们办公室的路由器上添加端口转发规则。假设路由器的WAN口IP是10.10.50.7,端口转发规则是10022 -> 192.168.1.2:22,另一个办公室只需要ssh 10.10.50.7 -p 10022即可。
你把例子中的路由器当成主机A,服务器当成虚拟机。原理是一样的。
|
评分 Rate
-
查看全部评分 View all ratings
|