VirtualBox是现在最流行的虚拟机软件之一,要折腾linux,又不想影响原来的系统的话,基本绕不过virtualbox和VMware了。

virtualBox虚拟机有三种上网方式,NAT,Host-Only,桥接。

简单介绍一下三种上网方式,NAT就是把宿主机当做一个网管,做地址转化以后可以上外网,上网关系上宿主机跟虚拟机相当于父子,桥接就是相当于宿主机孕育出来一个同级别的
上网设备,虚拟机也可以从宿主机上层网关获取ip,宿主机和虚拟机相当于兄弟。这两者虚拟机都可以上外网。
Host-Only就是虚拟机与外界完全隔离,只有宿主机可以访问。这个对初学者来说用的比较少,因为连外网都访问不了的话,yum之类的命令就没法用了,想装个mysql都不容易。
更具体的,可以搜索“虚拟机的三种上网方式”

三种上网方式的对比如下:

来源:https://blog.csdn.net/bifengmiaozhuan/article/details/79887692
这么一看表面是没有问题,想要主机跟虚拟机通信用桥接,不需要这个功能就用nat。但是很多小伙伴就会有这么一个场景,比如我公司,公司的wifi认证是一台电脑一个ip地址,不能再申请另一个ip,所以桥接方式就不能用了。
要做linux学习,网络得需要的吧,所以host-only也淘汰了。
好像只剩nat了,可是nat有一个问题,宿主机不能访问虚拟机。
这意味着什么呢,xshell不能用了,你要忍受丑丑的linux界面,不能复制,很难输中文,winscp这些也不能用了。
噢还有,比如python的SSH连接同步开发也用不了了。

这么看来,既让虚拟机能上网,又让虚拟机跟宿主机之间能双向通信,看起来是必须的。那么,这个时候,网上的解决方案是,双网卡。
如下面这个教程:
https://blog.csdn.net/liuxiao723846/article/details/44261539
思路也很简单,网卡一设置host-only,这样宿主机可以访问虚拟机,网卡二设置nat上网。
但是这个方法,好像还是有点难度的。而我方法,前面的图片其实已经剧透了。

首先,我虚拟机的地址,
10.0.2.15,这个地址是ping不通的,


此时我是桥接上网,我的网络也是通的
此时在virtualBox主界面选择好虚拟机,然后点【设置】-【网络】,即可打开上面的界面。
接着选择【端口转发】
此时,底下那两条不用看,我只是做了个临时的端口映射来跑别的服务的。看第一条规则,我把127.0.0.1(宿主机)的2222端口映射到的10.0.2.15(虚拟机)的22端口,22端口就是默认的ssh端口,这个时候我的宿主机就可以通过22端口访问虚拟机了。

xshell输入ssh localhost 2222,就是访问本机的2222端口,会自动映射到虚拟机中去。同理,mysql的3306等端口也可以映射出去。

输入完账号密码后,成功登入,实现了在nat上网模式下的双向通信。
不过值得注意的是,在调试python的flask框架的时候遇到了一个问题,我监听的ip地址只设置的127.0.0.1,就是主机,此时服务器只会监听来自表头源ip地址为10.0.2.15的数据包,从主机发过来的数据包表头为10.0.2.2(我也不知道为什么,默认的吧),所以会被丢弃。把ip改成0.0.0.0,就是自动监听所有ip发来的数据包,就解决了。
这也是我本人的学习笔记,有说的不对的欢迎各位大佬在评论区指出。

virtualBox虚拟机NAT上网方式并实现主机虚拟机双向通信教程相关推荐

  1. 图文:centos5.3下VMware虚拟机NAT上网实现

    图文:centos5.3下VMware虚拟机NAT上网实现 1.打开VMware,Fedora 4关机状态,在Devices区域中鼠标双击Ethernet,选择"NAT". 2.2 ...

  2. linux 虚拟机桥接上网方式

    一.桥接上网 1.打开虚拟机 2.进入虚拟网络编辑器 3.点击更改设置 进入设置界面,设置wmnet0,自动桥接. 4.设置vmnet1 5.设置vmnet8 6.设置网络连接方式 7.设置桥接,如果 ...

  3. 一台物理机机利用VM ESXi6.5+ROS5.20实现局域网组建和虚拟机NAT上网。

    公司有一台服务器托管在了电信的机房,只有一个外网IP,这个服务器做了VM的虚拟化,用的ESXi6.5的版本.为了省上一个路由器的购买和托管费用个,所以想利用软路由来实现虚拟机的局域网和外网上网,但网上 ...

  4. VMware Ubuntu NAT上网方式配置

    1.查看虚拟机网络参数 1.1打开虚拟机,选择edit-->virtual machine editor, 1.2  记录图中子网IP(subnet IP):192.168.2.0 记录子网掩码 ...

  5. VMWare虚拟机NAT上网方法 亲测可用

    首先虚拟机的网卡要选择NAT 然后 在Virtual Network Editor中一定选上DHCP功能. 还要主机的服务必须开启.主机的VMnet8对应NAT模式,这个VMnet8的配置保持默认不要 ...

  6. 18.虚拟机linux上网问题

    18.虚拟机linux上网问题 1.1.VMware中虚拟机网络的三种设置 第一种:桥接(bridged) 第二种:NAT 第三种:Host only .该模式下仅主机可以上网,虚拟机不能上网. 1. ...

  7. linux重启网络服务_vm上linux虚拟机NAT模式配置

    分享一篇之前搭建虚拟机过程中整理的linux虚拟机nat模式配置. 1.修改虚拟机的网络配置 右键点击虚拟机,然后点击settings,打开虚拟机的设置界面,然后点击Network Adapter,将 ...

  8. 虚拟机NAT模式的网络设置

    一.原理部分 1.我们都晓得,各电脑连接同一个交换机,才能同处于一个网段,进而相互通信.由此可以总结相互通信的条件,即: ① 把各个主机的网卡连接到同一个交换机(同一个网络) ②各个网卡的ip地址设置 ...

  9. 虚拟机WMware NAT方式共享物理主机IP地址上网设置方式

    物理主机:通常也叫作宿主机,是安装 VMware 软件的主机. 虚拟机:是运行在 VMware 软件上的主机. 虚拟机网卡认识: VMnet0:虚拟机桥接模式的网卡. VMnet1:虚拟机仅主机模式的 ...

最新文章

  1. Silverlight与数据库的三种互操作[源代码]
  2. 转:Oracle SQL 内置函数大全 (一)
  3. 在Linux系统安装Nodejs
  4. 在SAP HANA Express Edition里进行文本分析
  5. OkHttp+Stetho+Chrome调试android网络部分(原创)
  6. github生成燃尽图
  7. UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。...
  8. mysql least 参数_MySQL中MIN()和LEAST()的区别
  9. 搭建简单JAVA分布式爬虫系统
  10. PFC2D学习笔记——geometry的使用
  11. Android MD5加密
  12. python 中sg表示什么_十分钟带你入门最Python风格的Gui库
  13. Linux常用命令(四)
  14. Python 将汉字转为拼音
  15. 【物联家居】第四章:传输协议--mqtt配置与测试
  16. MNE初学入门(一)
  17. 4键电子手表说明书_电子表通用说明书
  18. CATIA无法连接到服务器解决方案
  19. /usr/bin/ld: cannot find -lxxx的错误
  20. 易推影视推手系统,支持苹果v8 v10影视系统

热门文章

  1. python从零开始爬东方财富网
  2. 基于HDP版本的YDB安装部署(转)
  3. 不会水的人,如何自学游泳
  4. Nginx+https+Trojan
  5. 〖Python APP 自动化测试实战篇⑥〗- 实战 - appium 定位手机元素之常用的元素定位方法
  6. ArgoCD的安装与部署
  7. 艾瑞咨询发布国内首份数据库云管平台市场报告!
  8. 中国地质大学的计算机专业咋样,中国地质大学武汉计算机专业好还是武汉理工大学的好...
  9. 乐山农行机器人_内江首部超级柜台农行“机器人”为您服务(图)
  10. 【Python】字符串的创建与驻留机制