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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149798.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 大整数相乘java_大整数乘法—java实现

    大整数相乘java_大整数乘法—java实现大整数相乘参考博客:https://blog.csdn.net/oh_maxy/article/details/10903929https://blog.csdn.net/u010867294/article/details/77482306大整数相乘,对于计算机来说,由于整数的范围存在限制,如果数值太大,则两个较大整数及其结果在表示时就将可能产生溢出。因此,对于两个大整数的乘法我们就需要将其转化…

  • maria和mysql_mysql为什么没有淘汰

    maria和mysql_mysql为什么没有淘汰mysql:driver驱动类为:com.mysql.jdbc.Driverurl为:jdbc:mysql://localhost:3306/testmariadbdriver驱动类为:org.mariadb.jdbc.Driverurl为:jdbc:mariadb://localhost:3306/test

    2022年10月28日
  • 面试官,不要再问我“Java虚拟机类加载机制”了

    面试官,不要再问我“Java虚拟机类加载机制”了关于Java虚拟机类加载机制往往有两方面的面试题:根据程序判断输出结果和讲讲虚拟机类加载机制的流程。其实这两类题本质上都是考察面试者对Java虚拟机类加载机制的了解。面试题试水现在有这样一道判断程序输出结果的面试题,先看看打印的结果是什么?publicclassSuperClass{static{System.out.println(“SuperCla…

  • PAT乙级1009. 说反话(C语言)

    PAT乙级1009. 说反话(C语言)PAT乙级真题题解目录/**1.输入含空格的字符串:用gets()读取*2.句子颠倒,单词本身字母不颠倒:*2.1从末尾单词开始输出*2.2利用指针使单词本身正序*2.3空格是单词结束的标识*/#include<stdio.h>#include<string.h>…

  • java db4o,DB4O–java对象数据库[通俗易懂]

    java db4o,DB4O–java对象数据库[通俗易懂]特点直接存储java对象,抛弃对象映射的繁琐可以使用简单的查询语句致命缺点与java语言绑定demogitee地址https://gitee.com/ichiva/db4o-demo.git主要依赖org.fudaa.com.db4odb4o-java55.5.1编写测试用例官方实体类@DatapublicclassCar{privateIntegerid;privateString…

  • dwr a ajax 提交,ajax – Does Java offer a timestamp??…..DWR – Stack Overflow

    dwr a ajax 提交,ajax – Does Java offer a timestamp??…..DWR – Stack OverflowImusingDWR,whichimfairlynewto…IusingajaxtosubmitacommenttothepageandIgotrequesttoseeIficanshowatmestampwhenthecommentissubmitted:Inanutshell—Thebeanhasavaria…

发表回复

您的电子邮箱地址不会被公开。

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