VMWare虚拟机简单模拟广域网配置
目的
使用3台VMware虚拟机组网,实现对广域网的模拟,即实现在不同网段的网路的互通。 其中,虚拟机中安装的是Red Hat 6 Server版。
内容总结
要这三台虚拟机(有两台在不同网段,一台同时在一个网段)互通,则 同时在两个网段的虚拟机 需要担任路由器的角色。其网络拓扑图如下:
步骤简介
- 装好一台虚拟机,下文简称"PC Middle"或者“PC M”。
- 克隆出另外两台,下文分别称"Client1"、“Client2”或者“PC A”、 “PC B”。
- 设置好各虚拟机对应到IP。
- 关闭防火墙。(可根据实际情况变通,只要能保证网路通畅)
- 开启 PC M 的路由功能。
- 在PC M上添加路由。[经证明,此步骤可以忽略,只要在设置网卡IP的时候的网关填对了(网关和PC M的IP一致,此时PC M其路由器的作用)]
步骤方法简介
设置IP方法
- 打开网卡0的配置文件
` gedit /etc/sysconfig/network-scripts/ifcfg-eth0 //eth0表示网卡0,eth1表示网卡1 - 修改配置文件。
- 将“BOOTPROTO”字段的“dhcp”改为“static”(即将动态获取IP设置为静态IP);
- 添加IPAddr=192.168.100.1
- 添加Mask=255.255.255.0
- 添加GateWay=192.168.100.1
- 保存并退出
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:67:A0:8F"
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes
- 待IP配置修改完成后,重启网络服务,即可
重启网络服务
` service network restart
关闭防火墙(临时的,重启电脑后会消失)
` service iptables stop
关闭防火墙(永久的,重启电脑后配置不会消失)
` chkconfig iptables off
开启中间PC的路由(临时的,重启网络服务后会消失)
` echo "1" > /proc/sys/net/ipv4/ip_forward
开启中间PC的路由(永久的,重启网络服务后不会消失)
` 将/etc/sysctl.conf中的“net.ipv4.ip_forword = 0”,
` 改成“net.ipv4.ip_forword = 1”
在中间PC添加路由
` route add -net 192.168.100.0/24 gw 192.168.100.1 //意思是网络号为192.168.100.0的数据包,通过IP地址为192.168.100.1的网卡发送出去
` route add -net 192.168.2.0/24 gw 192.168.2.1
检查路由配置信息为:
` 100.1的路由在eth1上
` 2.1的路由在eth0上
可能遇到的问题:
- 三台虚拟PC均采用nat联网模式,理论上讲只要他们联网的方式一样就行了,本文的连接方式应该是上不了外网的。
- 克隆后的虚拟机的网卡编号不是从eth0开始的问题(即 使用ifconfig查看网卡信息时出现的是eth1或者eth2,而没有eth0)
- 原因(据说跟udev有关,可以自行搜索,以下仅为个人理解)
- 虚拟机被克隆后,再次被启动时,VMware会重新为虚拟机的网卡生成一个的新的mac地址,而原来的那个mac地址仍然保存在虚拟机中,Linux会以为是你更换了网卡,由于eth0的网卡不存在了,但其设备信息还在,该mac仍被认为是网卡0的mac。新生成的mac只能是网卡1或者更高了。
- 解决方法:
- 删除 文件“/etc/udev/rules.d/70-persistent-net.rules ”中的关于eth0的描述信息
# PCI device 0x1022:0x2000 (pcnet32) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:67:a0:8f",
ATTR{type}=="1",KERNEL=="eth*", NAME="eth0"
- 修改 eth1为eth0
- 重启网络服务,即可