zoukankan      html  css  js  c++  java
  • [VirtaulBox]网络连接设置

    由于前几天老师要检查大作业,而我们的数据库是放在虚拟机里的(不想在本机里放太多东西,保持轻便快速...),

    平时是用的桥接模式,但是考虑到可能教室里不好上网(图书馆底下信号比较差...),所以就试了试断网情况,却

    发现无法连接到数据库,因此专门找了资料学习了一下虚拟机的网络环境,网上信息比较杂,粘贴党太多,害苦了

    我,因此写这篇文章供大家参考,也供自己以后参考。全是经过测试的,绝非粘贴。

    本文以VirtualBox为例

    如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭

    一、NAT模式

    特点:

    1、如果主机可以上网,虚拟机可以上网

    2、虚拟机之间不能ping通

    3、虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)

    4、主机不能ping通虚拟机

    应用场景:

    虚拟机只要求可以上网,无其它特殊要求,满足最一般需求

    配置方法:

    连接方式 选择 网络地址转换(NAT)

    高级-控制芯片 选择 PCnet-FAST III

    高级-混杂模式 拒绝

    高级-接入网线 √

    (虚拟机ip自动获取)

    ip样式:

    ip 10.0.2.15

    网关 10.0.2.2

    注意此处的网关在不同虚拟机中可能是同一个值,但是这归属于不同的NAT Engine,因此实际上各个虚拟机用的不是同一个网关

    原理:

    虚拟机的请求传递给NAT Engine,由它来利用主机进行对外的网络访问,返回的数据包再由NAT Engine给虚拟机。

    二、Bridged Adapter模式(桥接模式)

    特点:

    1、如果主机可以上网,虚拟机可以上网

    2、虚拟机之间可以ping通

    3、虚拟机可以ping通主机

    4、主机可以ping通虚拟机

    以上各点基于一个前提:主机可以上网

    5、如果主机不可以上网,所有1-4特点均无

    应用场景:

    虚拟机要求可以上网,且虚拟机完全模拟一台实体机

    配置方法:

    连接方式 选择 桥接网卡

    界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)

    高级-控制芯片 选择 PCnet-FAST III

    高级-混杂模式 拒绝

    高级-接入网线 √

    (虚拟机ip自动获取)

    ip样式:

    ip 与本机ip在同一网段内

    网关 与本机网关相同

    原理:

    通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和

    在网络中的真实机器一样。

    (虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没

    有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全

    消失咯)

    三、Host-only Adapter模式

    特点:

    1、虚拟机不可以上网

    2、虚拟机之间可以ping通

    3、虚拟机可以ping通主机(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip

    是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)

    4、主机可以ping通虚拟机

    应用场景:

    在主机无法上网的情况下(主机可以上网的情况下可以用host-only,也可以用桥接),需要搭建一个模拟局域网,所有机器可以互访

    配置方法:

    连接方式 选择 仅主机(Host-Only)适配器

    界面名称 选择 VirtualBox Host-Only Ethernet Adapter

    高级-控制芯片 选择 PCnet-FAST III

    高级-混杂模式 拒绝

    高级-接入网线 √

    (虚拟机ip自动获取,也可以自己进行配置,网关配置为主机中虚拟网卡的地址【默认为192.168.56.1】,ip配置为与虚拟网卡地址同网段地址)

    ip样式:

    ip 与本机VirtualBox Host-Only Network的网卡ip在同一网段内(默认192.168.56.*)

    网关 本机VirtualBox Host-Only Network的网卡ip(默认192.168.56.1)

    原理:

    通过VirtualBox Host-Only Network网卡进行通信,虚拟机以此ip作为网关,因此模拟了一个本机与各个虚拟机的局域网,如名称所指,

    应该是无法上网的(但是有人说可以通过对VirtualBox Host-Only Network网卡进行桥接等操作使虚拟机可以上网,但如此就不如直接

    采用桥接来的容易了,而且,呵呵,我没试成功,有的人也说不可以,因为主机不提供路由服务,我也不好乱说到底行不行,你自己试吧~~)

    四、Internal模式(内网模式)

    特点:

    1、虚拟机不可以上网

    2、虚拟机之间可以ping通

    3、虚拟机不能ping通主机

    4、主机不能ping通虚拟机

    应用场景:

    让各台虚拟机处于隔离的局域网内,只让它们相互通信,与外界(包括主机)隔绝

    配置方法:

    连接方式 选择 内部网络

    界面名称 选择 intnet(可以重新命名,所有放在同一局域网内的虚拟机此名称相同)

    高级-控制芯片 选择 PCnet-FAST III

    高级-混杂模式 拒绝

    高级-接入网线 √

    (虚拟机ip:对于XP自动获取ip即可,但对于linux,必须手动配置ip和子网掩码,手动配置时需保证各个虚拟机ip在同一网段)

    ip样式:

    ip 169.254.147.9

    子网掩码 255.255.0.0

    默认网关 无

    原理:

    各个虚拟机利用VirtualBox内置的DHCP服务器得到ip,数据包传递不经过主机所在网络,因此安全性高,防止外部抓包~

    五、NAT模式+端口映射

    将虚拟机某端口映射到主机某端口,可以使主机和外部机器访问虚拟机提供的服务哦~~

    命令如下:

    (在命令行模式下,先到VirtualBox的安装目录下面,否则找不到命令)

    vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/Protocol" TCP

    vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/GuestPort" 80

    vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/HostPort" 8000

  • 相关阅读:
    第十三节:实际开发中使用最多的监视锁Monitor、lock语法糖的扩展、混合锁的使用(ManualResetEvent、SemaphoreSlim、ReaderWriterLockSlim)
    第十二节:深究内核模式锁的使用场景(自动事件锁、手动事件锁、信号量、互斥锁、读写锁、动态锁)
    第十一节:深究用户模式锁的使用场景(异变结构、互锁、旋转锁)
    第十节:利用async和await简化异步编程模式的几种写法
    第九节:深究并行编程Parallel类中的三大方法 (For、ForEach、Invoke)和几大编程模型(SPM、APM、EAP、TAP)
    C# DataTable列名不区分大小写
    如何很好的使用Linq的Distinct方法
    Java读写记事本文件
    c# 获取方法所在的命名空间 类名 方法名
    C#中类的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/webapplee/p/3767484.html
Copyright © 2011-2022 走看看