VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】

VMware设置静态ip地址及不同网络模式讲解

此处的静态IP配置选用的是使用NAT方式连接网络【如果之前配置有错误,可以尝试暴力方法:将虚拟机网络配置重新恢复为默认,然后从头开始配置】

1 将Linux虚拟机和Windows主机IP配置在一个网段

1.查看VMware给Linux虚拟机分配的ip所在网段:

(1)右键点击VMware中的【编辑】菜单栏,打开【虚拟网络编辑器】,然后选中【VMnet8】,并点击【NAT设置】;
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第1张图片
(2)查看VMware的虚拟网络配置中默认给虚拟机分配IP的在哪个网段。这里可以看到我的VMware中的NAT设置中的子网IP为192.168.145.0,这里的第三个位置中的十进制数表示网段,所以我的VMware给Linux虚拟机分配的ip在145这个网段;
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第2张图片

上面的145网段是VMware默认给虚拟机分配的网段,我们自己也可以修改为自己的网段,如137

2 修改本机Win10的虚拟网卡

①Win+R,输入control,打开控制面板,在网络和Internet中找到VM8网卡
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第3张图片
②右击,选择属性
③选中Internet协议4,再选择属性
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第4张图片
④设置对应IP地址

先勾选【使用下面的IP地址】,然后配置IP。因为Linux虚拟机和windows主机需要不经过网关实现互相通信,所以这里配置的IP地址和虚拟机的IP地址要在同一个网段。而上面已经看到我的虚拟机是在145网段,所以这里的ip也要在145网段,也就是这里的IP可以配置为(192.168.145.0 ,192.168.145.255)这个开区间范围中的任意一个IP,我这里配置的是192.168.145.1;然后子网掩码要和虚拟机中的子网掩码保持一致即可;因为配置虚拟机和window主机的IP在同一网段,通信不需要经过网关,所以这里的网关暂时可以先不配置。配置完成之后,点击【确定】;

VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第5张图片

3 配置虚拟机静态IP

①输入命令(以root身份):

vim /etc/sysconfig/network-scripts/ifcfg-ens33

然后编辑配置文件。
②添加以下内容
按下键盘上的i,进行插入模式

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.145.13"
NETMASK="255.255.255.0"
GATEWAY="192.168.145.2"
DNS1="192.168.145.2"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f92c386d-e32b-4085-b8ba-2b8d6924eb88"
DEVICE="ens33"
ONBOOT="yes"

VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第6张图片
然后输入:wq保存退出

  • IPADDR: 表示你配置的静态IP。上面我们已经查看了自己的VMware给虚拟机的IP的所在网段,并且也将windows主机中的虚拟网络ip配置在了这个网段,所以这里给Linux虚拟机配置的静态IP也要在这个网段。例如,我的VMware分配IP的网段是145,所以这里我给Linux虚拟机配置的静态IP也要在145这个网段,而一个网段的IP范围为0~255,所以这里我指定的IP的取值为:192.168.145.0 ~ 192.168.145.255 。
  • GATEWAY: 表示配置的网关。因为虚拟机需要与外围通信,所以需要配置,而这个值就是上面查看VMware的虚拟网络配置中的网关IP。
  • DNS1: DNS的值也与GATEWAY的值配置为一样的即可。
  • ONBOOT: 这个属性的值要改为yes。
  • BOOTPROTO: 这个属性的值要改为static,表示启用静态IP。

③重启网卡

service network restart

4 测试

在centos7中输入命令(不同发行版命令不同):

ifconfig

  • 查看对应ip地址,发现配置成功
    VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第7张图片

  • ping baidu
    VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第8张图片

  • ping win10主机
    VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第9张图片

5 拓展:VMware的虚拟交换机及不同模式

5.1 VMnet0:用于虚拟机桥接网络下的虚拟交换机

桥接网络(Bridged Networking)

  • 本地物理网卡和虚拟网卡通过VMnet0虚拟交换机,物理网卡和虚拟网卡在拓扑图上处于同等地位(虚拟网卡既不是Adapter VMnet1也不是Adapter VMnet8)
  • 那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。
  • 物理网卡和虚拟网卡的IP地址处于同一个网段,子网掩码、网关、DNS参数等都相同,两个网卡在拓扑结构中是相对独立的。

物理主机就好像一个交换机,将物理主机和虚拟机连接在一个局域网内。和主机的关系就像局域网汇中一台独立的主机,和主机同等地位。获取外网IP进行上网。

物理机上有一个自身的网卡,虚拟机有一个虚拟网卡,两者可以直接连接到外网。桥接模式下,虚拟机和主机必须处在同一网段,DNS和网关也必须相同

"桥接模式":
	- 虚拟机和物理机连接同一网络。
	- 虚拟机与物理机地位相当
	- 类比于你的电脑和你的手机同时连接这个路由器提供的WIFI

5.2 VMnet1:用于虚拟机Host-Only网络下的虚拟交换机

相当于NAT模式除去了NAT设置,虚拟机是一个独立的系统,只能实现虚拟机和主机间的通信,如果虚拟机需要联网的话,需要主机共享网卡。

"仅主机模式":
	- 虚拟机只能访问物理机,不能上网
	- 相当于拿一根网线直接连接虚拟机和物理机

5.3 VMnet8:用于虚拟机NAT网络下

这种模式的好处就是兼容性强,物理机的网络环境发生变化时,虚拟机的网络不会受到影响。比如:你上班时,把物理机连接在公司的网络环境中,下班后又把物理机连接在你家的路由器上。你公司的网段有可能和你家的网段是不同的。桥接模式下,虚拟机和物理机一样,都要自动获取IP才能上网,而我们做实验的时候,需要把虚拟机设置为静态IP,这样就会导致虚拟机网络不稳定。而设置为NAT模式,虚拟机网络并不需要依赖你家公司的网络或你家的网络环境。

物理机上有一个自身的网卡,和虚拟NAT设备直连,还有一个虚拟网卡直接连到虚拟交换机上。虚拟NAT设备与虚拟DHCP服务器直接连在虚拟交换机上,虚拟机通过虚拟交换机和NAT设备实现联网,但是和本机的连接是通过物理主机的虚拟网卡VM Adapter8来实现的。

虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此虚拟机在外部网络不具有自己的IP地址。从外部网络来看,虚拟机和主机共用一个IP地址。

"NAT模式"(Network Address Translation):
	- 虚拟机可以上网,可以访问物理机(安装虚拟机的本机)
	- 不依赖于物理机的网络环境状态
	- 发送数据包,都要打"特殊标记"
	- VMware Network Adapter VMnet8只是用于虚拟机与主机通信,并不影响虚拟机联网

VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第10张图片

  1. 虚拟出来的网段和NAT模式虚拟网卡的网段是一样的,包括NAT服务器的IP地址也是这个网段。在安装VMware之后同样会生成一个虚拟DHCP服务器,为NAT服务器分配IP地址。
  2. 当主机和虚拟机进行通信的时候,就会调用VMware Network Adapter VMnet8虚拟网卡,因为它们都在同一个网段,所以通信不是问题
  3. 实际上,VMware Network Adapter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机的物理网卡被关闭,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了。
  4. VMware Network Adapter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。
  5. VMware Network Adapter VMnet8虚拟网卡的IP地址是在安装VMware时由系统指定生成的,我们不要修改这个数值,否则会使主机和虚拟机无法通信。
  • VMware Network Adapter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
    在这里插入图片描述
"仅主机"模式下虚拟机与主机通信的虚拟网卡
  • VMware Network Adapter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡
"NAT"模式下虚拟机与主机通信的虚拟网卡

5.4 总结

网卡 作用
VMnet0 桥接模式(可上网)
VMnet1-4 仅主机模式
VMnet8 NAT模式(可上网)

6 网络问题Bug

6.1 ping命令无法解析域名

  1. 查看配置文件ifcfg-ens33配置文件是否正确【此处我虚拟机的网络模式是NAT】
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.145.26"
NETMASK="255.255.255.0"
GATEWAY="192.168.145.2"
#DNS1="192.168.145.2"
DNS1=8.8.8.8
DNS2=101.6.6.6
DNS3=223.6.6.6
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes" 
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no" 
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="86f677b6-bf9a-4b35-8d02-50188234c2f7" 
DEVICE="ens33" 
ONBOOT="yes

IP地址和网关需要和虚拟机的NAT配置保持一致【IPADDR、GATEWAY】,同时设置正确的DNS服务器
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第11张图片
发现上述都没问题之后,启动网络报错:

“Job for network.service failed because the control process exite”
查阅资料后发现,可能是和 NetworkManager 服务有冲突,直接关闭 NetworkManger 服务就好了

  • 停止网络管理
service NetworkManager stop
  • 禁止开机启动
chkconfig NetworkManager off 
  • 重启网络
service network restart

最后,就可以发现能够ping通了
在这里插入图片描述

6.2 NAT模式无法上网(win7)

ping命令无法使用,找不到主机,但是能ping通其他局域网电脑

在这里插入图片描述

注意:win7网络设置需要和你VMware的网络配置相对应

由于我不知道什么时候将默认网关地址设置为了192.168.145.2,因此导致一致配置不成功
NAT模式,主机相当于另一台机器

①VMware网络配置
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第12张图片

我的网关ip之前设置为了192.168.145.2,一般都是为1,但是此处懒得改了

VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第13张图片
②虚拟机win7配置
VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第14张图片
③虚拟机win7,ip配置

此处dns配置需要设置为网关地址或者通用的dns服务器地址(114.114.114.114)

VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】_第15张图片
④总结

以后配置ip一定要看自己的网关地址到底是多少,不能想当然

参考文章:
https://blog.csdn.net/weixin_55118477/article/details/121272999
https://www.cnblogs.com/weizaiyes/p/9905730.html
https://blog.csdn.net/yishihuakai/article/details/107162914
Linux网络服务问题

你可能感兴趣的:(理论,网络,linux,VMware,网络模式)