NAT模式实现局域网物理机与虚拟机的互通访问「建议收藏」

NAT模式实现局域网物理机与虚拟机的互通访问「建议收藏」玩过虚拟机的朋友都知道,不管是vbox还是vm,最常用的网络设置也不外乎3种:1、桥接模式:此模式下,虚拟机的操作系统就像和物理机同一段网络中的物理机一样,它可以访问网络中的任何机器,同时只要物理机可以访问网络,虚拟机也可以实现上网。此模式是懒人模式首选!但换来一个问题就是,如果你的物理机网络IP发生变化,虚拟机的IP也会相应的改变。如果IP变化对虚拟机有影响的环境,此模式慎用!

大家好,又见面了,我是你们的朋友全栈君。

玩过虚拟机的朋友都知道,不管是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.net/149798.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS 7安装图形化界面

    CentOS 7安装图形化界面在安装CentSO7时,如果选择“最小化安装“,那么系统只有命令行界面,没有图形化界面。有些小伙伴喜欢使用图形化界面,本文笔者带小伙伴们一起安装图形化界面。1、开启CentOS7以root用户登录(普通用户权限不够),如下图所示:2、配置网络网卡,确保与外网连通(后续要下载相应的包):在命令行界面输入命令cd/etc/sysconfig/network-scripts/进入network-scripts目录,再输入ls命令查看目录下的文件,我们可以看到ifcfg-ens32(有可能有区别)

    2022年5月20日
    48
  • 研华acdp手机版_generation z

    研华acdp手机版_generation z上帝手中有 N 种世界元素,每种元素可以限制另外 1 种元素,把第 i 种世界元素能够限制的那种世界元素记为 A[i]。现在,上帝要把它们中的一部分投放到一个新的空间中去建造世界。为了世界的和平与安宁,上帝希望所有被投放的世界元素都有至少一个没有被投放的世界元素限制它。上帝希望知道,在此前提下,他最多可以投放多少种世界元素?输入格式第一行是一个整数 N,表示世界元素的数目。第二行有 N 个整数 A[1],A[2],…,A[N]。A[i] 表示第 i 个世界元素能够限制的世界元素的编号。输出格式

    2022年8月11日
    2
  • redis和couchbase的比较

    redis和couchbase的比较

    2022年2月19日
    38
  • 电脑apk文件怎么打开_python pkl文件

    电脑apk文件怎么打开_python pkl文件importpickledoc=open(r’D:\dataset\st_gcn_processed_data\data\NTU_RGB_D\xview\val_label.txt’,’a’)#打开一个存储文件,并依次写入test=open(r’D:\dataset\st_gcn_processed_data\data\NTU_RGB_D\xview\val_label.pkl’,’rb’)data=pickle.load(test)print(data,file=doc).

    2025年8月26日
    5
  • JDBC概述(JDBC是什么,主要作用,驱动类型等)「建议收藏」

    JDBC概述(JDBC是什么,主要作用,驱动类型等)「建议收藏」JDBC是一种可用于执行SQL语句的JAVAAPI,是链接数据库和JAVA应用程序的纽带

    2022年6月23日
    28
  • 身份验证错误 要求的函数不受支持 Windows远程桌面连接

    身份验证错误 要求的函数不受支持 Windows远程桌面连接PhpStorm绝对是PHP开发最好的开发工具。之前好好的能远程桌面连接到服务器,但是今天来就不能连接上了,并提示:身份验证错误。要求的函数不受支持。猜想可能是Windows又更新了什么鬼,后面查询资料知道是由于CredSSP加密Oracle修正的原因,这里我整理了下解决方案,希望能帮到你。微软给出解决方案:https://support.microsoft.com/zh-…

    2022年6月11日
    532

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号