虚拟机访问互联网的方法 -- 以RedHat系为例
Posted 搞IT的机械逃兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机访问互联网的方法 -- 以RedHat系为例相关的知识,希望对你有一定的参考价值。
在虚拟机的三种网络模式中(Host-Only、桥接、NAT),能够实现虚拟机访问互联网的只有桥接与NAT模式,而Host-only主能实现虚拟机与主机两者间的通信。
下面以RedHat系虚拟机系统为例,讲述了桥接与NAT两种方式下虚拟机访问互联网的实现方法:
1. 桥接模式
首先设置虚拟机静态IP。其一,可以用RedHat内置的setup命令调出相关参数设置界面;其二,可以在网络配置文件中直接修改(setup的配置最终也是同步在
该配置文件中)。需要注意的是,该静态IP应与主机IP在同一网段,掩码以及网关与主机保持一致。另外,需要区分主机的网络连接方式:有线or无线,以相应的
选择桥接网卡类型及配置虚拟机的网络参数。(网络配置文件路径:/etc/sysconfig/network-scripts/ifcog-eth0)
网络参数配置正确后,重启网络服务(service network restart),查看网络参数(ifconfig)便可以看到参数已按照修改同步。接着,对主机与虚拟机进行互ping:
主机通常可以正常ping通虚拟机,虚拟机若不能ping通主机则是由于主机的防火墙没有关闭,关闭之后一般便可以ping通了。
桥接模式下,虚拟机其实是独立于主机的,因此需要一个与主机IP同级的IP。由于我在实验中用的是校园网,每个用户是需要登录客户端来访问互联网的,根据
用户MAC地址以DHCP方式分配给每一个用户一个IP地址。这种情况下我的虚拟机显然是不能上网的,事实上当我用虚拟机ping网关是也是ping不同的,其实就相当于
我的虚拟机被连接外网的路由器封锁在了局域网内,只能与局域网的用户通信。
综上,使用校园网的情况下,桥接模式只能实现虚拟机与主机或局域网内的客户机通信而不能访问外网。
2. NAT模式
NAT模式下,只要主机能够访问互联网,虚拟机就可以。我的网络参数配置情况是,在虚拟机网络编辑器的NAT模式下,设置子网IP、掩码与主机子网IP、掩码一致
(子网IP即为主机IP与掩码相与&的结果)。NAT设置项中,设置虚拟机网关为主机IP,在DHCP选项中可以根据子网IP设置主机分配的动态IP的范围。实验中我使用了DHCP
的方式配置虚拟机IP。同样可以用setup工具或在配置文件(/etc/sysconfig/network-scripts/ifcog-eth0)中直接配置IP网络模式为DHCP。
我的 /etc/sysconfig/network-scripts/ifcog-eth0 网络配置文件内容如下:
DEVICE=eth0
BOOTPROTO=dhcp <- 该行用于配置IP方式,‘=‘右边的参数必须小写,这里设置为dhcp方式,参数none表示手动设置的方式
HWADDR=00:0c:29:38:3b:ac
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID="a9654486-8d9b-409d-b35e-99a5d5b91667"
#Host With Wire Mode
#IPADDR=10.136.1.220
#NETMASK=255.255.240.0
#GATEWAY=10.136.0.1
#DNS1=172.16.7.10
IPV6INIT=no
USERCTL=no
网络参数配置完成,重启网络服务(service network restart),这样,主机与虚拟机便可以互相ping通。然而,主机ping虚拟机时可能会存在ping不通的情况,
这可能是由于主机网络连接里面的虚拟适配器VMware Network Adapter VMnet8在捣鬼。前面我们已经设置了DHCP的模式配置虚拟机IP,因此,同样需要将VMnet8
的IPv4配置为DHCP方式。
经过上述的相关配置后,虚拟机以NAT网络模式访问互联网便得以实现。
以上是关于虚拟机访问互联网的方法 -- 以RedHat系为例的主要内容,如果未能解决你的问题,请参考以下文章
(针对新手)如何用VMware虚拟机安装RedHat Linux系统?(超级详细)