VMware设置静态ip地址及不同网络模式讲解
此处的静态IP配置选用的是使用NAT方式连接网络【如果之前配置有错误,可以尝试暴力方法:将虚拟机网络配置重新恢复为默认,然后从头开始配置】
1 将Linux虚拟机和Windows主机IP配置在一个网段
1.查看VMware给Linux虚拟机分配的ip所在网段:
(1)右键点击VMware中的【编辑】菜单栏,打开【虚拟网络编辑器】,然后选中【VMnet8】,并点击【NAT设置】;
(2)查看VMware的虚拟网络配置中默认给虚拟机分配IP的在哪个网段。这里可以看到我的VMware中的NAT设置中的子网IP为192.168.145.0,这里的第三个位置中的十进制数表示网段,所以我的VMware给Linux虚拟机分配的ip在145这个网段;
上面的145网段是VMware默认给虚拟机分配的网段,我们自己也可以修改为自己的网段,如137等
2 修改本机Win10的虚拟网卡
①Win+R,输入control,打开控制面板,在网络和Internet中找到VM8网卡
②右击,选择属性
③选中Internet协议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在同一网段,通信不需要经过网关,所以这里的网关暂时可以先不配置。配置完成之后,点击【确定】;
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"
然后输入: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地址,发现配置成功
-
ping baidu
-
ping win10主机
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只是用于虚拟机与主机通信,并不影响虚拟机联网
- 虚拟出来的网段和NAT模式虚拟网卡的网段是一样的,包括NAT服务器的IP地址也是这个网段。在安装VMware之后同样会生成一个虚拟DHCP服务器,为NAT服务器分配IP地址。
- 当主机和虚拟机进行通信的时候,就会调用VMware Network Adapter VMnet8虚拟网卡,因为它们都在同一个网段,所以通信不是问题
- 实际上,VMware Network Adapter VMnet8虚拟网卡的作用就是为主机和虚拟机的通信提供一个接口,即使主机的物理网卡被关闭,虚拟机仍然可以连接到Internet,但是主机和虚拟机之间就不能互访了。
- VMware Network Adapter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。
- 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命令无法解析域名
- 查看配置文件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服务器
发现上述都没问题之后,启动网络报错:
“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网络配置
我的网关ip之前设置为了192.168.145.2,一般都是为1,但是此处懒得改了
②虚拟机win7配置
③虚拟机win7,ip配置
此处dns配置需要设置为网关地址或者通用的dns服务器地址(114.114.114.114)
④总结
以后配置ip一定要看自己的网关地址到底是多少,不能想当然文章来源:https://www.toymoban.com/news/detail-790245.html
参考文章:
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网络服务问题文章来源地址https://www.toymoban.com/news/detail-790245.html
到了这里,关于VMware设置静态ip地址及不同网络模式讲解【Linux网络问题】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!