在上一节,咱使用VMware安装了虚拟机,网络设置选择了 “桥接模式” ,本节咱们来具体讨论一下网络连接方式和网络设置。
实验环境:CentOS7 + VMware
当我们设置桥接模式时,虚拟机是直接使用物理网络。
如下图:
虽然虚拟机不是一台真正的物理设备,但是,他却和物理机在 “同级别的使用真实的物理网络” ,就像是局域网中的一台独立的主机。
桥接模式下,虚拟机的IP地址、子网掩码等要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。
这会导致一个结果:物理机的网络环境变化,虚拟机跟着变化。
设置为桥接模式即可,其他不用做任何设置,因为默认情况下,就是DHCP(自动获取)的方式获取IP。但是自动获取的弊端是,可能下次开机,获取的就是新地址了,无法固定不变。
网卡所在路径:/etc/sysconfig/network-scripts
,网卡文件名是:ifcfg-ens33
(根据自己虚拟机而定)
查询网络的命令:ifconfig
,可以看到目前正在使用的网卡是:ens33,也可能叫其他名字,根据自己的情况来定。还可以看到 目前自动获取到的ip,子网掩码等。
如果网卡没有相关信息(ip,子网掩码等),有可能网卡没有正常启动,需使用命令启动。
service NetworkManager start
顺便咱们去看下默认情况下的,网卡ens33的配置内容,查看命令:
cat /etc/sysconfig/network-scripts/ifcfg-ens33
内容如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp" #dhcp 表示自动获取ip地址
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="03a003d5-4ac7-4d94-a67b-55990fcd15e5" #网卡唯一标识
DEVICE="ens33" #设备名
ONBOOT="yes" #为yes表示系统启动时加载该配置文件
如果在桥接模式下设置静态ip,就必须先知道物理机所在的网络信息,虚拟机必须和物理机保持一致。(一般没人这么干,因为物理网络一旦发生变化,又要手动修改配置,很麻烦。)
① 查看物理机网络参数
② 设置虚拟机静态ip
第一步:打开网卡配置文件,设置ip等相关信息
#1.编辑网卡信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33#2.修改为静态ip信息
YPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #改为静态设置
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"
DEVICE="ens33"
ONBOOT="yes"IPADDR=176.199.100.153 #ip地址(同物理机在一个网段)
NETMASK=255.255.255.0 #子网掩码
GATEWAY=176.199.100.1 #默认网关
DNS1=114.114.114.114 #dns
第二步:重启网卡即可
service network start #启动
service network stop #停止
service network restart #重启或者systemctl start network #启动
systemctl stop network #停止
systemctl restart network #重启
NAT(Network Address Translation)是指网络地址转换,把内部私有网络地址转换成合法网络IP地址的技术。家用路由器一般都是NAT模式。
专业的话可能有点听不懂,我们画个图来说明。
在安装vm时,一同安装了VMnet8虚拟网卡,该网卡用于支持NAT模式的通信,虚拟机的网络相当于是在物理机中虚拟了一个私有的专用网络,该网络使用VMnet8网卡实现NAT模式的通信。
NAT的好处是,不会因为外界物理网络发生变化,虚拟机中的私有网络就跟着变化,因为VMnet8提供的私有网络网段可以是固定的。所以,推荐这种方式,一次设置就无需再改动网络配置。
第一步:设置网络连接为NAT模式。
第二步:编辑网卡信息,仅需设置为 dbcp即可 。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp" #修改 dhcp 方式
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"
DEVICE="ens33"
ONBOOT="yes"
第三步:重启网卡
service network restart
第四步:查看
问题:为什么ip自动获取的是:192.168.229.5 ? 因为这都是基于VMnet8而来的。
查看VMnet8网卡信息
从上图中可以查看到如下信息:
可使用的ip范围:192.168.229.3 ~ 192.168.229.224
子网掩码:255.255.255.0
网关:192.168.229.2
但是,因为是自动获取,所以重启后还有可能变化。只不过仅会在 192.168.229.3 ~ 192.168.229.224 中间变化。
① 基于VMnet8网卡信息设置静态ip
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #修改为静态ip方式
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"
DEVICE="ens33"
ONBOOT="yes"IPADDR=192.168.229.4 #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.229.2 #网关
DNS1=192.168.229.2 #dns
② 重启网卡即可