【OS_Linux】Linux中虚拟机的三种上网方式——桥接、NAT、Host-only
1.桥接
桥接方便做实验,配置ip方便。可以和局域网中的其他机器进行通信,也可以和公网进行通信。缺点是会占用主机所在局域网的一个ip。
2. NAT
NAT模式下虚拟机可以和主机进行通信,可以上网,而且不占用局域网的IP,但是不能和其他机器进行通信。(使用虚拟网卡8)
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。配置虚拟机NAT模式上网
2.1 虚拟机NAT模式上网的原理
当我们安装了VMware Workstation软件后就会为主机提供一块虚拟网卡VMware Network Adapter VMnet8,这块虚拟网卡是为了在NAT模式下主机连通虚拟机使用的。同时Vmware为主机提供DHCP服务和NAT服务,即虚拟的DHCP服务器和NAT服务器各一台,DHCP服务器为各虚拟机分配ip地址,NAT服务器将虚拟机对外网的访问转换成主机对外网的访问。
【注意】
⑴宿主主机的虚拟网卡VMnet8与其物理网卡是相互独立的,通过IP可以看出二者并不在同一网段, VMnet8仅用作主机连通虚拟机,虚拟机连接主机依然是通过虚拟NAT服务器完成的,而非Vmnet8。将虚拟网卡VMnet8禁用后不影响虚拟机访问外网和宿主主机,但是主机却不能连通虚拟机。
⑵虚拟NAT服务器相当于一个路由器的作用,将各虚拟机对外网的请求转换为主机对外网的请求,NAT服务器的ip地址就是各虚拟机的网关。一般来讲网关就是一台机器所连路由器的ip地址。
2.2 虚拟机配置NAT模式上网的步骤
step1 打开vmware,点击“编辑”下的“虚拟网络编辑器”,进行NAT和DHCP设置。由于主机和虚拟机是靠VMnet8通信的,因此虚拟机和VMnet8应该属于同一个子网,即子网ip相同。由主机下的ipconfig命令可得知VMnet8的子网ip
以上图为例,可得知VMnet8的子网ip为192.168.128.0。据此进行NAT设置
最后点击确定即完成了NAT设置。
step2 在虚拟机的设置里面为虚拟机添加“网络适配器”,并选择NAT模式上网
step3 修改网卡配置文件,命令为:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
以下是虚拟网卡VMnet8的子网IP为192.168.128.0时的一个配置示例:
DEVICE=eth0 NM_CONTROLLED=yes ONBOOT=yes TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.128.10 NETMASK=255.255.255.0 GATEWAY=192.168.128.2 DNS1=114.114.114.114
【注意】
⑴BOOTPROTO可设置为static或dhcp,当为static时表明该虚拟机采用IPADDR所指定的静态IP,永远不会改变(推荐)。若BOOTPROTO设置为dhcp即动态获取IP, 此时IPADDR也是可以设置的,只不过仅能设置为DHCP所规定的的地址段。
⑵设置IP地址时需注意,IP地址都是有网络地址(网段)和主机号两部分共同组成的,任意一网段下的主机号不能全为0或全为1,主机号全0表示网络地址,全1是广播地址。由NETMASK可知该网络为C类IP段,即IP最后一段表示主机号,所以最后一段不能为0或255。
编辑完成后:wq命令保存退出,如下命令重启网络服务:service network restart
用ping命令检查主机是否可以连通虚拟机,以及虚拟机是否可以ping通外网。
3.Host-only
当设置为Host-only上网时,虚拟机只能和主机进行通信,不可以上网。也不可以和其他机器进行通信。(即主机使用VMnet1与虚拟机通信)
