分类: LINUX
2009-09-09 09:38:44
安装好RedHat之后,系统一切正常,就是网络不通。回忆安装过程中,在编辑网络设置时,因为不知道该如何设置IP,所以勾选了使用DHCP配置,
其实当时对DHCP的概念一无所知,搜索了一下,关于DHCP的解释如下:
DHCP 是动态主机配置协议(Dynamic Host Configure Protocol)的缩写。一台DHCP服务器可以让管理员集中指派和指定全局的和子网特有的TCP/IP 参数(含IP 地址、网关、DNS服务器等)供整个网络使用。
客户机不需要手动配置TCP/IP;并且,当客户机断开与服务器的连接后,旧的IP地址将被释放以便重用,根据这个特性,比如你只拥有20 个合法的IP 地址,而你管理的机器有50 台,只要这50 台机器同时使用服务器DHCP服务的不超过20台,则你就不会产生IP 地址资源不足的情况。
大概也就是说,如果你的局域网提供了DHCP服务,那么你的桥接网络机器可以自动获得局域网的IP。那么既然勾选了DHCP自动配置的选项,如果把 真实的主机当作是局域网的主机,不管主机的IP是动态还是静态获得的,位于此局域网的虚拟机,应该可以通过DHCP服务器,自动获得此局域网的IP吧?
那么在这个由真实的主机和虚拟机构成的局域网中,主机和虚拟机之间又是通过什么方式进行网络连接的呢?
偶然的,打开网络连接属性中发现竟然多出了两个连接:
心里猜想,这多出来的两个连接VMware Network Adapter VMnet1和VMware Network Adapter VMnet8应该就是添加虚拟机时,由Vmware添加的两个虚拟网卡吧?
用ipconfig命令查看了一下新增加的网卡的属性可以发现,这两块网卡分别属于不同的子网:
意外发现两块网卡,却搞不清楚它们的用途,只能继续在VMware中找答案。值得欣慰的是,在Edit菜单的Virtual Network Editor选项中,看到了这样一些东西:
这意味着,这两块虚拟网卡,跟我们之前设置的虚拟机网络连接模式有关。切换至NAT选项卡:
由此,这两块新增网卡的作用大致有了一个了解:
“Ethernet adapter VMware Network Adapter VMnet8”用于本机与使用NAT网络模式的虚拟机相连,使用这种模式建立的虚拟机所于虚拟机的VMnet8子网内,在这个子网中,VMware提供了 DHCP服务让子网的虚拟机可以方便的获得IP地址。当然,也可以为处于此子网的虚拟机手动设置IP,不过一定要注意地址要VMnet8设定的网段内。这 时,真实主机将做为VMnet8的网关,也即虚拟网络VMnet8与现实局域网之间的路由器在两个网段间转发数据。VMnet8的特殊之处在于 VMware为这个网段默认启用了NAT服务。
“VMware Network Adapter VMnet1”这块网卡主要用于真实主机与处于host-only(主机模式)的虚拟机相连,处于这种模式的虚拟机位于VMware虚拟网络的 VMnet1子网内,这个子网除了IP段不同和没有提供NAT服务外,与VMnet8(NAT模式组成的虚拟子网)没有什么不同。我们完全可以激活 VMnet1子网的NAT服务,这样VMnet1就成为了另一个NAT模式的子网。如果在默认的不激活NAT的情况下,该子网的虚拟机将只能与 VMnet1网内的其它虚拟机以及真实主机通信,这就是“host-only”名称的由来。
其实,在VMware里最多可以有9个不同的虚拟子网(有三个在软件装好后已经启用了,它们是VMnet0,VMnet1,VMnet8)
了解了这两块网卡的作用,回过头来看看曾经在建立虚拟机中,所做的网络配置:
关于虚拟机中常用的三种网络连接也基本上有了一个清晰的解释:
Bridge模式(桥模式)
这种模式是在新建虚拟机的时候默认选择的,是将虚拟主机的虚拟网卡桥接到一个Host主机的物理网卡上面,实际上是将Host主机的物理网卡设置为混杂模
式,从而达到侦听多个IP的能力。在这种模式下,虚拟主机的虚拟网卡直接与Host主机的物理网卡所在的网络相连,可以理解为虚拟机和Host主机处于对
等的地位,在网络关系上是平等的,没有谁主谁次、谁前谁后之分。
NAT模式
这种模式下Host主机的“网络连接”中会出现了一个虚拟的网卡VMnet8(默认情况下)。如果你做过2000/2003的NAT服务器的实验就会理
解:Host主机上的VMnet8虚拟网卡就相当于连接到内网的网卡,Host主机上的物理网卡就相当于连接到外网的网卡,而虚拟机本身则相当于运行在内
网上的计算机,虚拟机内的虚拟网卡则独立于Virtual Ethernet
Switch(VMnet8)。在这种方式下,VMware自带的DHCP服务会默认地加载到Virtual Ethernet
Switch(VMnet8)上,这样虚拟机就可以使用DHCP服务。
Host-Only模式
这种模式是一种封闭的方式,适合在一个独立的环境中进行各种网络实验。这种方式下Host主机的“网络连接”中出现了一个虚拟的网卡VMnet1(默认情
况下)。和NAT唯一的不同的是:此种方式下,没有地址转换服务。因此这种情况下,虚拟机只能访问到主机,这也是Host-Only的名字的意义。
由于在安装RedHat的时候,选择的网络配置方式是由DHCP自动配置,因此,关掉虚拟机中的系统,点击“Edit virtual marchine setting”,设置Ethernet选项中,将Network connection的方式改为NAT
重新启动虚拟机,进入RedHat,打开Firefox浏览器,厚厚厚,果真可以上网了!
此时,虚拟机的IP为动态获取,即通过DHCP获得。虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。
当然,也可以尝试Host-only方式或Bridge方式。
对于跟我一样的PPPOE拨号上网用户:
Host-only方式解决方案:
“Ethernet”要选择“Host-only”方式
设置PPPOE连接属性,选择“高级”-->“允许其它网络用户通过此计算机的INTERNET连接来连接”;在“家庭网络”下拉框中,选择“VMware Network Adapter VMnet1”
VMware Network Adapter VMnet1虚拟网卡的IP会自动变为192.168.0.1;
进入vmware中,启动linux操作系统
用netconfig命令,将IP,设为192.168.0.X(与虚拟网卡在同一网段)
网关为192.168.0.1 即VMware Network Adapter VMnet1虚拟网卡的IP地址
DNS设置为ISP的DNS
Bridge方式解决方案:
“Ethernet”选择“Bridge”方式
宿主机中安装sygate或wingate之类的代理服务器;设置虚拟机的代理服务器为宿主机的IP即可
这种方式,虚拟机最接近一台真实的机器
对于局域网络连接用户
“Ethernet”要选择“Bridge”方式
使用这种方式时,虚拟机跟一台真实的机器一样,此时IP设置为局域网中另一个可用IP即可;
网关:局域网网关服务器的地址(或路由器的地址);
DNS:设置为ISP的DNS服务器地址