大家好,又见面了,我是你们的朋友全栈君。
玩过虚拟机的朋友都知道,不管是vbox还是vm,最常用的网络设置也不外乎3种: 1、桥接模式:此模式下,虚拟机的操作系统就像和物理机同一段网络中的物理机一样,它可以访问网络中的任何机器,同时只要物理机可以访问网络,虚拟机也可以实现上网。此模式是懒人模式首选!但换来一个问题就是,如果你的物理机网络IP发生变化,虚拟机的IP也会相应的改变。如果IP变化对虚拟机有影响的环境,此模式慎用! 2、Host-only模式:在一些网络环境中,由于安全,调试等原因,可能需要讲虚拟机和真实的物理环境隔离开来,那么此模式是首选。此模式下的所有虚拟机可以相互访问,但和真实的物理网络环境是隔离开的,此模式下的IP信息,是由host-only虚拟网络的DHCP服务器来分配的。当然了,此模式由于是和真实环境隔离开的,如果要上网,可能比较麻烦,博主没试过,有兴趣的可以自己研究下。 3、NAT模式:使用NAT模式,就是让虚拟机借助NAT(网络地址转换)功能,通过物理机来访问网络。此模式下,如果物理机可以访问互联网,那么虚拟机也可以,默认情况下 和物理机同一网络中的其它机器不能访问虚拟机,但虚拟机可以访问其它物理机。
上面说默认情况下,物理机的其它机器不能访问NAT模式下的虚拟机,但是通过端口转发功能可以实现物理机和NAT模式下的虚拟机的相互通信功能,下面说说如何设置:以vm为例(vbox一样)
打开vm的虚拟网络编辑器,如下:
添加一个NAT模式的网络,然后点开NAT设置,
在端口转发一项里面,添加,下面是一个示例:
其中,主机端口:即是网络中其它机器访问此物理机的端口。也是在xshell里面配置ssh的端口或者要访问的ftp服务器的端口。
虚拟机IP:也就是NAT模式下,分配给虚拟机的IP地址
虚拟机端口:是虚拟机设置的供外部访问的端口。比如22 80等。
以下是主要的端口转发设置。
这样设置以后,那么在其它物理机的xshell的连接里面,可以这样配置:(假设其它物理机访问宿主机的IP为:10.0.100.23)
上图中,9999端口,也就是在刚才NAT设置里面添加的端口号,此端口是有NAT开放出来,也是宿主机对外提供转发功能的端口。
其它物理机,通过宿主机的IP和9999端口,访问到NAT设置的虚拟网卡,然后NAT对该请求进行转发到IP为192.168.237.10,端口22进行处理,192.168.237.10:22,此IP和端口也就是NAT模式下的真实虚拟机的IP,端口。
在Xshell里面,也可以直接SSH过去,ssh root@10.0.100.23:9999。登录成功后,输入ifconfig,看到的IP信息一定是192.168.237.10,也可以查看到端口22是打开并在连接使用中
如果对以上设置不清楚的地方,可以参考: http://blog.csdn.net/u011031430/article/details/77131830
以上图片的配置 物理机网络中其它主机访问虚拟机服务方式则是 物理机IP:9999
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149798.html原文链接:https://javaforall.cn