登录 立即注册
查看: 26832|回复: 1

[使用经验] 模拟器网络模式

[复制链接]

1156

主题

4183

帖子

4346

积分

超级版主

Rank: 8Rank: 8

积分
4346

逍遥会员章逍遥忠实勋章逍遥荣耀勋章逍遥达人勋章逍遥游戏玩家逍遥论坛达人逍遥新人资格章

发表于 2018-12-30 07:16:16 | 显示全部楼层 |阅读模式
本帖最后由 心芝雨 于 2018-12-30 07:44 编辑

模拟器网络内核基本都已 virtualbox基础上开发(因为开源)网络属性 基本采用其中两种模式 NAT和 BRIDGED(桥接)
QQ截图20181230071411.png

桥接和NAT方式说明
桥接网络(Bridged Networking)

在桥接网络模式下,VirtualBox在你的物理主机上启用了一个设备驱动,用以过滤从物理网络适配器中过来的数据。因此这个驱动被称为“网络过滤”设备。它允许VirtualBox拦截物理网络数据和注入数据有效地在软件中创建一个新的网络接口。当虚拟机在应用这个新的软件接口时,看起来就好像是虚拟机物理地连接到了网线上:物理主机可以通过这个接口与虚拟机进行数据的收发。这意味着你可以在虚拟机和网络之间设置路由和“桥梁”。

Note
桥接无线接口和桥接有线接口是完全不同的,因为大多数无线适配器不支持混合模式。所有通信必须使用主机的无线适配器的MAC地址,因此VirtualBox需要将传出包的以太网报头取代​​源MAC地址,以确保回复将发送到主机接口。当VirtualBox收到一个带有目标IP的传入包时,比对IP从属于虚拟机适配器,VirtualBox将会把以太网报头的目标MAC地址替换到虚拟机适配器的MAC地址中,并接收数据包。为了获取虚拟机的IP地址,VirtualBox会检查ARP和DHCP数据包。

桥接网络的局限性取决于你的物理主机操作系统:
  * Macintosh 主机。使用AirPort(Mac的无线网络)时功能受限。目前的VirtualBox只支持IPv4和IPv6的AirPort。如果要使用其他协议(比如IPX),你必须选择有线接口。


  *  Linux主机。应用无线接口是功能受限,目前的VirtualBox只支持IPv4和IPv6的无线。如果要使用其他协议(比如IPX),你必须选择有线接口。
      此外,Marvell Yukon II EC Ultra Ethernet NIC上的sky2提供的有线接口中把MTU设置为小于1500字节,将会导致丢包现象。
     Linux 内核2.6.27版本不允许通过VLAN适配器实现虚拟机与外部网络之间的中继,Linux以外的操作系统亦然。


  * Solaris主机。不支持使用无线接口。因为Solaris子系统的技术限制,不能完全支持用IPFilter进行虚拟机通信过滤。这些问题将在未来的Solaris 11版本中得到解决。


从VirtualBox4.1开始,在Solaris11的物理主机上(build159及以上版本),无需任何配置就可以通过Solaris的Crossbow Virtual Network Interfaces (VNICs) 直接与VirtualBox相连,但VNIC需单独地与虚拟机网络接口对应。


从VirtualBox2.0.4开始到VirtualBox 4.0,VNIC可被使用,但具有以下注意事项:
  1)将VNIC无法在多个虚拟机网络接口间共享,即每个虚拟机网络接口都必须有自己独有的VNIC
  2)   使用VNIC虚拟网卡和虚拟机VNIC网络接口必须有相同的MAC地址。


使用VLAN接口与VirtualBox时,他们必须根据PPA-hack命名方案(如“e1000g513001”)来命名,否则虚拟机可能会以错误的格式接收数据包。

NAT内部网络(Internal networking)

内部网络模式类似于桥接网络模式那样可以直接与“外部网络”通信。这里的“外部网络”是指连接在内网中的同一台物理主机上的其他虚拟机。

从技术层面上说,内部网络实现网络连接需求,桥接网络模式也可以实现。但是应用内部网络模式能够提高安全性。在桥接网络模式中,所有的数据通信都需要通过主机系统的物理接口。因此可以添加一个数据嗅探器(类似Wireshark)到主机接口和所有通过的数据的日志中。如果你想实现一台机器上的多台虚拟机之间的私下通信,并向物理主机和用户隐藏虚拟机的数据的话,桥接网络就不适合了。

在有需要的情况下,内部网络模式将会自动创建而不需要其他配置。每一个内部网路简单地一名称来区分。一旦多于一个有相同内网ID的网卡活动,VirtualBox的支持驱动会自动连接这些网卡并从当网络交换机的角色。VirtualBox支持驱动实现了一个完整的以太网交换机,并支持支持广播/多播帧和混杂模式。


已上解释可能过于复杂
桥接网卡–常用

注意:虚拟机,主机,Internet全部可以相互访问

特性:

1、虚拟机可以相互访问
2、虚拟机可以访问主机
3、主机可以访问虚拟机
4、模拟器可以访问Internet

NAT网络:–常用特性:

1、是“ 网络地址转换NAT”和“内部网络”的组合体
2、虚拟机之间可以相互访问
3、虚拟机可以访问Internet
4、主机不能访问模拟器(比如使用抓包或者局域网手游)


网络性能和延迟
内部网络、桥接网路和仅主机网络几乎具备相同的网络性能。因为内网模式下的数据包不经过主机网络堆栈,所以运行要更快更节省CPU的占用。NAT模式下,因为NAT提供网络地址解析,所以是最慢(也最安全 简单说模拟器中毒无法通关网络感染主机)的模式。通用驱动附件是特殊的,不能替代其他类型的附件


分配到虚拟机上的CPU数不能提高虚拟机的网络性能,在某些情况下还会有害于虚拟机(),因为这增加了虚拟机的并发
对于提高虚拟机的网络性能,有以下几点需要注意:
  1、Virtio网络适配器,(模拟器桥接后自动设置无需人为);
  2、使用桥接网络模式而不是NAT模式;
  3、主机网卡Internet协议版本4 属性IP和DNS全部自动获取
QQ截图20181230074117.png

简单说 电脑清理NDS缓存 后模拟器设置桥接
CPU要支持虚拟化技术 主板开启VT 关闭Hyper-V 显卡驱动正确 完整系统
回复

使用道具 举报

1156

主题

4183

帖子

4346

积分

超级版主

Rank: 8Rank: 8

积分
4346

逍遥会员章逍遥忠实勋章逍遥荣耀勋章逍遥达人勋章逍遥游戏玩家逍遥论坛达人逍遥新人资格章

发表于 2018-12-30 07:25:52 | 显示全部楼层
NAT:
nat就是network address translate的简称。网络地址转换,这个技术是为了让象192.168.*.*这样的私有ip段能够访问internet而开发的。私有ip段,可以由任何公司和个人使用,所以世界上有无数电脑使用了192.168.0.111这样的地址,而这个地址绝对不能出现在internet上,因为这肯定会造成路由的失败。但是,ip地址的稀缺让我们必须采用这种共享ip的方案,同时还要允许这些机器访问internet。这样的前提下,NAT就应运而生了。

NAT技术应用在internet网关和路由器上,比如192.168.0.111这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即 NAT),以使私有网段的主机能够顺利访问internet。

我想到的一个最典型的例子,就要算我的大学宿舍了。宿舍内部网段192.168.1.× ,通过路由器进入校园局域网10.10.110.×,然后通过学校网关,进入internet。这个过程中,宿舍的路由器做了一次NAT,而学校的网关又做了一次NAT。

VMWare的NAT上网采用的技术是一样的,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后nat,然后由主机的接口发出。

由于在这种条件下,虚拟机和主机不在同一个ip段,但是主机相当于虚拟机的网关,所以虚拟机能ping到主机的ip,但是主机ping不到虚拟机的ip。




BRIDGED:

bridge就是“桥”的意思,说起桥接,就不能不说局域网。比如我们有两个局域网络,他们的ip段都处于192.168.0.*,同时,我们希望把这两个网络链接起来,这中情况下,我们就可以采用桥接。这个时候,“桥”就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在“桥”上,运行着程序,让局域网A中的所有数据包原封不动的流入B,反之亦然。这样,局域网A和B就无缝的在链路层连接起来了(当然要保证两个局域网没有冲突的 IP)。这就是桥的作用,在链路层无缝的沟通两个局域网。

而VMWare的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare软件虚拟而来罢了!当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出,这样,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。

在桥接时,VMWare网卡和物理网卡应该处于同意ip网段,所以在虚拟机中ping物理网卡ip,或者在主机总ping虚拟机网卡ip,都可以ping通。


bridge是通过桥接虚拟机的网卡和物理网卡来实现虚拟机访问internet的,这要求实际的物理网卡必须能访问internet。学校采用的是局域网,这一点可以满足,但是家里采用的adsl。adsl上网,采用的pppoe技术,就是在网卡之上建立起一个ppp连接。这种条件下,所有数据包是通过ppp封装之后发出的,虽然也是从网卡发出,但是包的形式就和普通的internet数据包不一样了。也就是说,实际的物理网卡已经没有直接访问internet的能力了。而必须通过ppp接口封装的数据包,才能访问internet。

为了使虚拟机能够访问internet,我们必须使虚拟机的数据包从ppp接口发出去,也就是从adsl的连接发出去。这个时候,NAT技术就可以派上用场了。只要采用NAT,让虚拟机的数据包经由adsl连接来收发,就可以解决上网问题了。理论如此,实际操作如下:


如上图,选择一块虚拟网卡,作为NAT使用的网卡。并且,设置好虚拟网段(要和虚拟机里系统的ip处于一个网段)。



如上图,将设置好的用于NAT的网卡和虚拟机的虚拟网卡绑定。

然后,进入虚拟机,设置IP,就可以上网了。


其实,无论在什么条件下,只要主机能上网,才用NAT技术,都可以使虚拟机访问internet;只有在主机网卡处在一个可以访问internet的局域网中的时候,虚拟机才能通过bridge访问internet
CPU要支持虚拟化技术 主板开启VT 关闭Hyper-V 显卡驱动正确 完整系统
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|模拟器|手机模拟器|手游模拟器|安卓模拟器|( 沪ICP备14046591号 )

GMT+8, 2024-5-23 13:50 , Processed in 0.029772 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表