首先说明一下,如果采用默认的桥接网络,把domU和dom0设在同一个网段,dom0和所有的domU都连接在eth0这个默认网桥上(dom0的网卡被虚拟成peth0),dom0和domU是可以连通的,ping,ftp,telnet都可以。
但项目的要求是虚拟机之间要有一定的拓扑,因此,我选择了vlan方式,简单的说就是创建多个网桥,分别连在dom0网卡的都个vlan接口上,实现对拓扑vlan的划分。如果才有这种方式,一旦domU和dom0划分在不同的网段上(peth0代表dom0的网卡,默认连载eth0上),则,dom0和domU之间是ping不通的,但有的时候我们需要这种连通性,比如ftp或ssh等,本文要解决的正是这个问题。
根据前几篇blog的介绍,我们已经搭建好了vlan
我所使用的拓扑是vm02(IP=10.0.1.20),vm03(IP=10.0.1.30)->xenbr11;vm04(IP=10.0.0.40),vm05(IP=10.0.0.30)->xenbr33;即vm02和vm03一个网段,vm04和vm05一个网段
dom0的ip是10.0.0.1,但和vm04,vm05不是一个网桥,因此ping不同
现在我们要让dom0ping同vm02,我的做法如下:
1)在dom0上 echo “1” > /proc/sys/net/ipv4/ip_forwoad,打开转发功能。(这步貌似没用,但我确实先这样尝试了)
2)在dom0上 iptables -F 清空iptables,保证任何数据包不会被iptables防火墙拦截
3)利用http://blog.csdn.net/w4521wang/archive/2010/12/22/6092005.aspx一文中所建立的ubuntu连接网桥eth0(dom0所在的默认网桥)和xenbr33(vm02所在的网桥),两块网卡的ip分别设为10.0.0.253和10.0.1.253
4)修改dom0的网卡配置文件/etc/sysconfig/ifg-eth0,将GateWay改为10.0.0.253(即ubuntu的网卡ip),vm02的拨人网关设为10.0.1.253.
5)service network restart重启网络服务。
测试:
dom0和vm02可以相互ping通,用vnc viewer远程连接也可以。
ps:方法可能有点笨,有点土,慢慢来吧