vmware 配置实例-linux host + windows guest + firewall

类别:软件工程 点击:0 评论:0 推荐:
模式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的网络连接就得到了完全的控制.

本文地址:http://com.8s8s.com/it/it34362.htm