vm with openvswitch+KVM can not access extranal network, can ping gateway
Cloudstack4.1.1
A: one kvm host ubuntu12.04 with openvswitch,
B: xen server6.0,
C: one kvm host centos with openvswitch
in cloudstack have two network.
Guestvlan301 Isolated 192.168.31.0/24 ,Egress rule, 0.0.0.0/0 all
Guestvlan300 Isolated 192.168.31.0/24 ,Egress rule, 0.0.0.0/0 all
①:vrouter301 run on Xen, Public IP Address 192.168.240.54 Guest IP
Address 192.168.31.1
vm in vlan301 ,can ping gateway 192.168.31.1 and can access
internet. vm can run on kvm or xen, both ok.
②:vronter300 run on Kvm with openvswitch, Public IP Address
192.168.240.53 Guest IP Address 192.168.30.1
vm in vlan300 ,can ping gateway 192.168.30.1, but can not access
internet. vrouter can access internet.
how to make vm under kvm+openvswitch to access outside network and internet
[root@centos-kvm01 libvirt]# ovs-vsctl show
7cb5f505-7ac1-4403-9f9d-101882ed7bad
Bridge kvmmgt
Port kvmmgt
Interface kvmmgt
type: internal
Port "eth0"
Interface "eth0"
Bridge "cloudbr0"
Port "cloudbr0"
Interface "cloudbr0"
type: internal
Port "eth1"
Interface "eth1" ## Eth1 uplink port is Esxi
vswitch in promiscuous mode, Xen server Eth1 uplink this too, can
work fine ; Kvm use native bridge work fine too.
Port "vnet3"
tag: 240
Interface "vnet3"
Port "vnet0"
tag: 301
Interface "vnet0"
Port "vnet1"
tag: 300
Interface "vnet1"
Port "vnet4"
tag: 240
Interface "vnet4"
Bridge "cloud0"
Port "cloud0"
Interface "cloud0"
type: internal
Port "vnet2"
Interface "vnet2"
Bridge storage
Port "eth2"
Interface "eth2"
Port storage
Interface storage
type: internal
ovs_version: "1.10.0"
i do the test,
one VM 192.168.30.90 run ping 192.168.123.1
vrouter 192.168.30.1(outside IP 192.168.240.53 vlan 240) run ping
www.google.com
[root@centos-kvm01 ~]# ovs-dpctl dump-flows |grep 30.90
in_port(9),eth(src=02:00:07:94:00:09,dst=02:00:3c:30:00:06),eth_type(0x0806),arp(sip=192.168.30.1,tip=192.168.30.90,op=2,sha=02:00:07:94:00:09,tha=02:00:3c:30:00:06),
packets:0, bytes:0, used:never, actions:push_vlan(vid=300,pcp=0),5
in_port(11),eth(src=06:28:b6:00:01:20,dst=00:50:56:97:5c:55),eth_type(0x0800),ipv4(src=192.168.30.90,dst=192.168.123.1,proto=1,tos=0,ttl=63,frag=no),icmp(type=8,code=0),
packets:5855, bytes:573790, used:0.810s,
actions:push_vlan(vid=240,pcp=0),5
in_port(5),eth(src=02:00:3c:30:00:06,dst=02:00:07:94:00:09),eth_type(0x8100),vlan(vid=300,pcp=0),encap(eth_type(0x0806),arp(sip=192.168.30.90,tip=192.168.30.1,op=1,sha=02:00:3c:30:00:06,tha=00:00:00:00:00:00)),
packets:0, bytes:0, used:never, actions:pop_vlan,9
in_port(5),eth(src=02:00:3c:30:00:06,dst=02:00:07:94:00:09),eth_type(0x8100),vlan(vid=300,pcp=0),encap(eth_type(0x0800),ipv4(src=192.168.30.90,dst=192.168.123.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)),
packets:5855, bytes:597210, used:0.809s, actions:pop_vlan,9
###### actions:push_vlan(vid=240,pcp=0),5 , this is maybe have
some problem !!!!!!! is it??
[root@centos-kvm01 ~]# ovs-dpctl dump-flows |grep 240.53
in_port(11),eth(src=06:28:b6:00:01:20,dst=00:50:56:97:5c:55),eth_type(0x0800),ipv4(src=192.168.240.53,dst=74.125.128.105,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0),
packets:6167, bytes:604366, used:0.486s,
actions:push_vlan(vid=240,pcp=0),5
in_port(5),eth(src=00:50:56:97:5c:55,dst=06:28:b6:00:01:20),eth_type(0x8100),vlan(vid=240,pcp=0),encap(eth_type(0x0806),arp(sip=192.168.240.1,tip=192.168.240.53,op=1,sha=00:50:56:97:5c:55,tha=00:00:00:00:00:00)),
packets:0, bytes:0, used:never, actions:pop_vlan,11
in_port(5),eth(src=00:50:56:97:5c:55,dst=06:28:b6:00:01:20),eth_type(0x8100),vlan(vid=240,pcp=0),encap(eth_type(0x0800),ipv4(src=74.125.128.105,dst=192.168.240.53,proto=1,tos=0,ttl=49,frag=no),icmp(type=0,code=0)),
packets:6059, bytes:618018, used:0.450s, actions:pop_vlan,11
in_port(11),eth(src=06:28:b6:00:01:20,dst=00:50:56:97:5c:55),eth_type(0x0806),arp(sip=192.168.240.53,tip=192.168.240.1,op=2,sha=06:28:b6:00:01:20,tha=00:50:56:97:5c:55),
packets:0, bytes:0, used:never, actions:push_vlan(vid=240,pcp=0),5