预计阅读时间:5 分钟
1.概述
1.1 nat模式
VMware的NAT模式下的虚拟机,是算作网络上的另一个独立设备,而不是“完全共享”主机的IP地址。
它和主机的关系更像是:你的家庭路由器(主机)和连接在这个路由器下的手机或电脑(虚拟机)的关系。
连接机制:
1. 独立的身份:你的主机会建立一个虚拟路由器,而虚拟机连接在这个虚拟路由器下,是另一个独立的设备
2. 独立的IP:虚拟机会从这个虚拟路由器那里获取一个完全独立的私有IP地址(通常是 192.168.x.x 或 172.16.x.x 网段)。这个地址与主机的物理IP地址完全不同。
3. 地址转换:当虚拟机要访问互联网(比如访问 google.com)时,数据包会先发送到虚拟路由器(VMnet8)。这个路由器会做一个“网络地址转换”(Network Address Translation):
- 将数据包的“源地址” 从虚拟机的私有IP(如 192.168.1.10)替换成主机的物理IP地址(如 172.16.1.5)。
- 然后将数据包通过主机的物理网卡发送到真实的网络中去
4. 接收响应:当外部网络返回响应数据包到主机的IP地址时,主机会将这个数据包交给虚拟路由器。虚拟路由器还记得之前的转换关系,于是它再将数据包的“目标地址”从主机IP改回虚拟机的私有IP,并转发给虚拟机。
注:默认的NAT模式设计是“只出不进”,虚拟机可以主动访问外部网络,但外部
(包括你的主机)无法主动发起连接访问虚拟机。
1.2 桥接模式
- 工作原理: 桥接模式要求主机的物理网卡(有线网卡/无线网卡)扮演一个网桥的角色。它需要将虚拟机产生的网络流量“转发”到无线网络中。为此,无线网卡必须支持并允许进入一种叫做 “混杂模式”(Promiscuous Mode) 的状态,在这种模式下,网卡会接收所有流经它的数据包,而不仅仅是发给主机MAC地址的数据包。
注:因为接收所有流经它的数据包,所以无线网卡的情况下通常默认禁止或者根本不支持此功能!!!有巨大的安全隐患
- 结论:在无线网卡的情况下,此模式99%不可用,推荐用NAT模式。
1.3 仅主机模式
仅主机模式创建了一个完全私有的、与世隔绝的虚拟网络,这个网络只存在于你的主机和虚拟机之间。 外界(包括互联网和你所在的局域网)无法访问这个网络,这个网络里的设备也无法访问外界。
它可以想象成:你用一根虚拟的网线,直接将你的主机和虚拟机连接到了一台虚拟的交换机上,而这台交换机没有连接任何外部网络。
2.在NAT模式下配置外界主动连接虚拟机(以ssh为例)
2.1 原理
在主机上选择闲置的端口作为转发端口,通过VMware的配置,将此端口的流量转发给虚拟机的指定端口
2.2 详细配置方法
- 进入虚拟机查询其ipv4地址并记下。Ubuntu 命令为
ip a - 关闭虚拟机
- 点击VMware上面的
编辑 - 点击
虚拟网络编辑器 - 点击右下角
更改设置并赋予管理员权限 - 选择
VMnet8(默认作为nat模式的配置) - 点击
NAT设置 - 点击
添加 -
主机端口选择一个闲置的端口(如8022等)。
类型根据需要选择(ssh为TCP)
虚拟机ipv4地址为前置条件查询到的ipv4
端口填虚拟机需要接收的端口(ssh默认为22) -
应用此配置,选择nat模式并重启虚拟机
2.3 当前主机(或当前局域网内的其他主机)ssh连接方法
-
当前主机:
HostName:localhost或127.0.0.1
Port:你选择的主机的闲置端口(如8022) -
其他主机:
HostName:开放闲置端口的那台主机的ipv4地址
Port:那台主机开放的闲置端口
本文由 changchang 原创,转载请注明出处。