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