位置:海鸟网 > IT > linux/Unix >

vmware 配置实例与虚拟网络理解

vmware 配置实例与虚拟网络理解
看了一下,这个坛子里很多朋友用了vmware来操练linux,基本的模式是windows host + linux guest,这个方法对于演练linux的初学者来说不失为好方法,但对于真正天天使用linux的人,如果他/她想使用windows里的功能,比如语音视频聊天,大多数要采用下面讨论的方法: 

之一:模式Linux Host + windows (2000, Xp) guest 

一 适用人群: 
大部分时间工作于linux上,有时不得已要用windows里的功能,但机器不能重启(比如http服务在运行) 

二 优点: 
1。linux运行在硬件的native speed上而不是虚拟机 
2。发挥linux的稳定性 
3。可以使用linux防火墙来保护windows虚拟机,过滤(和监视)已知和未知的各种病毒(木马)。 
3。进行proxy/dhcp/dns/nat/ipfilter的实验,提高应用水平,或原型开发。 

三 具体配置 

1。安装vmware workstation 4.0/or 4.5. 
2. 如果vmware发行盘中没有对你的kernel的支持,需要编译新的模块。 
你需要安装kernel-source和gcc的编译器。 
执行: sudo vmware-config.pl 

编译以后配置网络,只要选host-only这种类型就行了, 
指定网络:(例如)10.1.1.0 
netmask: 255.255.255.0 
另外不要选择vmware的samba来进行文件共享。 


3。完成后,vmware服务应该已经启动,查一下网络接口 
/sbin/ifconfig 
应该应该有一个虚拟的接口: 
vmnet1 

4. 以普通用户执行 
vmware 
创建windows 2000/XP的guest虚拟机,注意,网络类型选host-only. 

5. 使用host里的dhcpd 
查一下进程 
ps -ef | grep vmware 
你会发现vmware 在虚拟的接口上启用了自己的dhcp服务,为了使用host里的dhcp服务,必须将其停掉。 
方法1:kill 掉这个进程 
方法2:编辑这个文件:/etc/init.d/vmware,找到这一行: 
vmware_start_hostonly "$vHubNr" 'vmnet'"$vHubNr" \ 
"$hostaddr" "$netmask" 'yes' "$samba" 
将'yes'换成'no',这样vmware服务启动时就不会加载自带的dhcp服务。 
重新启动vmware服务 
sudo /sbin/service vmware restart 


6. 配置iptables和dhcpd 
到现在,你已经得到了一个有多网络接口的机器和一个虚拟的内网,现在可以为这个虚拟的内网配置dhcp和防火墙了。 
dhcpd: 
编辑:/etc/sysconfig/dhcpd 
DHCPDARGS="eth1 vmnet1" 
eth1是原来的一个内网的网卡(如果有的话),vmnet1是虚拟内网的网卡。 
编辑:/etc/dhcpd.conf 
default-lease-time 259200; 
max-lease-time 518400; 

option domain-name "你的domain"; 
option domain-name-servers 你的DNS(用逗号分隔); 
ddns-update-style ad-hoc; 

subnet 10.1.1.0 netmask 255.255.255.0 { 
range 10.1.1.9 10.1.1.100; 
option broadcast-address 10.1.1.255; 
option routers 10.1.1.1; 
option netbios-name-servers 运行wins的服务器地址; 

subnet 10.1.2.0 netmask 255.255.255.0 { 
range 10.1.2.9 10.1.2.100; 
option broadcast-address 10.1.2.255; 
option routers 10.1.2.1; 
option netbios-name-servers 运行wins的服务器地址; 


上面的例子中vmnet1的address: 10.1.1.1,netmask: 255.255.255.0 
eth1(原来的内网网卡)10.1.2.1,netmask 255.255.255.0 

然后配置防火墙,打开ip forwad, NAT,参见其他帖子 

7. 配置虚拟的WindowsXP, 网络可以选择dhcp, 这样,IP 和网关以及DNS都直接获取.当然可以手工设置,以上为例,手工设置为: 
IP: 10.1.1.x 
DNS:your dns 
gateway 10.1.1.1 

完成: 
你现在就拥有了一个带有内网的linux,可以进行各种实验了,如samba, squid 等. 

总结: 
在vmware的使用手册中,直接连到外网 的方法是使用bridge,以上的方法是使用host-only这个方法,然后利用host的各种服务来建立一个完善的网络系统,这样,guest OS的网络连接就得到了完全的控制. 

体会: 
vmware作为一个虚拟机,不可避免的使用大量的资源,所以没事的时候不要开着虚拟机. 

如有兴趣,我可进一步将支持yahoo, msn, qq等的AIM的firewall 贴上来进行分析. 

英文没学好,中文写作退步不少,敬请谅解


************************************************************************



 

之二:vmware 网络配置实例二 windows host + linux guest



(yunqing(2005-03-24)按:很多朋友问到ping不通host的情况,请检查一下host里的防火墙设置,多数的windows xp sp2下的防火墙都设置成不响应) 
前言:前几天写了一个vmware的配置的一个案例,主要关于linux host+windows guest的情况(?t=367907&highlight=yunqing),适用于经常跑linux而把windows当成副业的朋友。发布以后反应不大,后来发现坛子里的朋友使windows host 来跑linux guest的居多 ,且有很多帖子谈到网络问题,自己想没有那么难吧,就试了一把,把过程写下来希望对网络有问题的朋友有所帮助。 
版权属yunqing所有,首发chinaunix.net,转贴引用请包含此行声明 

正文: 

本人使用的是vmware workstation 4.52,host机器运行的是windows Xp professional ,如果你还在使vmware workstation 4.0建议下载一个升级包,不过我想即使不做问题也不大。 

1。安装 vmware workstation,很简单,一路ok过去,相信大部分朋友已经装好。 

2。创建新的guest系统。选择类型。因为我以发生问题最多的redhat 9做试验,所以就选redhat linux,选custom,网络接口选hostonly(如果你已经安装好 了,用了nat或bridge也没有关系,在虚拟机的属性里改成hostonly就行了。) 

3。创建后启动虚拟机,插入安装rh9的第一张盘。选择定制安装,我只保留了gonme, X, 和graphical internet,节省安装空间和时间。 

4。安装过程很顺利,没有问题,完成后重新启动虚拟机,发现在更新fstab的时候挂了起来,估计是连接cdrom活软盘时候超时。kill掉虚拟机,更改设置,把光驱和软盘的autoconnect when power on清除掉。重启虚拟机,没有问题,进入最后设置,声卡,图形界面均没有问题。 

5。按照要求在虚拟机里安装vmware-tool,对鼠标和图形进行更好地支持。 
如果你在图形界面下,首先要切换到文本模式。 
右键点击桌面,打开一个終端 
在終端里: 
su 
#/sbin/telinit 3 
图形界面消失,敲回车几下,在文本方式下登录。 
在windows的vmware的窗口菜单中选vm->install vmware tools 
在虚拟机中: 
su 
mount /dev/cdrom /mnt/cdrom 
 cd /tmp 
  tar zxf /mnt/vmware-linux-tools.tar.gz 
  cd vmware-tools-distrib 
  ./vmware-install.pl 
  回答并设置屏幕分辨率,除了分辨率需要选择外,直接回车就行了。 
  返回到默认的图形界面(运行级别5) 
  /sbin/telinit 5 

  6.登录虚拟机,打开一个終端: 
  /sbin/ifconfig 
  发现eth0没有起来。 
  不要惊慌。 
  -------------以下是网络设置--------------- 
  7。到windows XP 中,查看所有的网络连接,你应该发现除了原有的网卡之外,又多了Vmnet1和Vmnet8。如果你看了一下说明书应该知道,vmnet1是hostonly的接口,而Vmnet8是使用NAT的网络接口。在这里我们既不想用VMWARE自带的DHCP也不想用他的