虚拟机-网络配置

简介
虚拟机的网络配置是虚拟化技术中非常重要的一环。它决定了虚拟机如何与外部网络进行通信,以及虚拟机之间的网络连接方式。一般有以下 3 种模式。
仅主机模式
虚拟机和宿主机可以互相访问,不能访问外部网络。几乎不用这种模式。
桥接模式
介绍
虚拟机直接连接到物理网络,获得一个独立的IP地址,可以像物理机一样直接访问网络。虚拟机和宿主机共用宿主机的真实网卡,进行对外互联网访问。
VM 配置
服务器配置
首先查看物理机网关配置,比如说宿主机的网卡配置如下图所示: 网关是192.168.1.1 宿主机ip是192.168.1.19 子网掩码是255.255.255.0
进入虚拟机的/etc/sysconfig/network-scripts
目录修改虚拟机的网卡配置,我的网卡名称是ens33,你的可能不一样。
桥接模式分成两种网络 IP 分配机制,一种是自动分配 ip ,一种是固定静态 ip 。
动态
接的自动模式,会根据宿主机网卡的网段内自动为虚拟机分配一个 ip 地址。
修改虚拟机网卡配置,设置为自动模式,修改为一下内容:其中###
备注的为必填项
TYPE="Ethernet" ### 设备类型:以太网
PROXY_METHOD="none" # 代理模式:关闭
BROWSER_ONLY="no" # 支持浏览器:否
BOOTPROTO="dhcp" ### 引导协议:none(手动配置和)/dhcp(动态IP)/ static(静态IP)
DEFROUTE="yes" # 设置该网卡为默认路由
IPV4_FAILURE_FATAL="no" # 是否开启ipv4错误检测
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" ### 网卡连接名称
UUID="cff363cf-0dca-40c4-afc3-e203c75e44a5"
DEVICE="ens33" ### 网卡设备名称
ONBOOT="yes" #### 开机或者重启时自动启动该网卡配置
静态IP
桥接的静态模式,根据虚拟机的网卡配置分配IP
手动写死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"
UUID="cff363cf-0dca-40c4-afc3-e203c75e44a5"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.1.22 ### 设置的静态ip地址,在网段内自己定一个即可,重启虚拟机也不会变
NETMASK=255.255.255.0 ### 掩码,要和物理机的网卡保持一致
GATEWAY=192.168.1.1 ### 网关,要和物理机的网卡保持一致
DNS1=192.168.1.1 ### DNS,要和物理机的网卡保持一致,一般和网关一样即可
验证
无论是动态还是静态,最后通过命令systemctl restart network
重启网络配置即可。
通过命令 ifconfig ens33
查看网卡的配置是否生效
测试宿主机和虚拟机能相互ping通, 虚拟机能ping通互联网就成功了。
NAT模式
介绍
NAT(Network Address Translation)网络是虚拟机通过宿主机共享网络连接,虚拟机获得的IP地址是私有地址,需要通过宿主机进行NAT转换才能访问外部网络。这种方式简单易用,适合个人使用。
VM 配置
首先设置虚拟机的网络配置为 nat 模式,配置如下:
服务器配置
通过上面的虚拟机 VM 配置,可以知道虚拟机的虚拟网卡配置, 网关是192.168.119.2 子网掩码是255.255.255.0
和桥接模式一样也有两种 ip 配置,自动和静态,同理配置 /etc/sysconfig/network-scripts
目录下的网卡配置文件即可。
自动
NAT 的自动模式,会根据虚拟机的虚拟网卡的网段内自动为虚拟机分配一个 ip 地址。
修改虚拟机网卡配置,设置为自动模式,修改为一下内容:其中###
备注的为必填项。
设置后会为虚拟机分配一个192.168.119.*
的随机 ip 地址。
TYPE="Ethernet" ### 设备类型:以太网
PROXY_METHOD="none" # 代理模式:关闭
BROWSER_ONLY="no" # 支持浏览器:否
BOOTPROTO="dhcp" ### 引导协议:none(手动配置和)/dhcp(动态IP)/ static(静态IP)
DEFROUTE="yes" # 设置该网卡为默认路由
IPV4_FAILURE_FATAL="no" # 是否开启ipv4错误检测
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" ### 网卡连接名称
UUID="cff363cf-0dca-40c4-afc3-e203c75e44a5"
DEVICE="ens33" ### 网卡设备名称
ONBOOT="yes" #### 开机或者重启时自动启动该网卡配置
静态
NAT的静态模式,手动写死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"
UUID="cff363cf-0dca-40c4-afc3-e203c75e44a5"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.191.5 ### 设置的静态ip地址,在网段内自己定一个即可,重启虚拟机也不会变
NETMASK=255.255.255.0 ### 掩码,要和虚机网卡保持一致
GATEWAY=192.168.119.2 ### 网关,要和虚机网卡保持一致
DNS1=192.168.119.2 ### DNS,要和虚机网卡保持一致,一般和网关一样即可
最后通过命令systemctl restart network
重启网络配置即可。
总结
桥接和NAT模式的区别仅仅只是虚拟机和宿主机之间通信的网卡不同。
桥接的通信网卡是宿主机的真实网卡
NAT的通信网卡是虚拟机的虚拟网卡
他们都有自动和静态的区别, 直接通过修改配置文件的即可,自动的配置都一样, 静态的配置只要保证网关、掩码、DNS 和通信网卡的配置一样即可。