cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei Zhou (JIRA)" <>
Subject [jira] [Commented] (CLOUDSTACK-9770) Virtual router / Network regression since with public interface eth2
Date Fri, 03 Feb 2017 08:02:51 GMT


Wei Zhou commented on CLOUDSTACK-9770:

seems like to typo

try this patch:
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/ b/systemvm/patches/debian/config/opt/cloud/bin/cs/
index c280555..7596d86 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/
@@ -528,6 +528,7 @@ class CsIP:
                 # add 'defaul via gateway' rule in the device specific routing table
                 if "gateway" in self.address and self.address["gateway"] != "None":
                     route.add_route(, self.address["gateway"])
+                route.add_network_route(, str(self.address["network"]))

                 if self.get_type() in ["public"]:
                     CsRule("from " + str(self.address["network"]))

> Virtual router / Network regression since with public interface eth2
> ----------------------------------------------------------------------------
>                 Key: CLOUDSTACK-9770
>                 URL:
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: Virtual Router
>    Affects Versions:,,
>         Environment: CloudStack with advanced network installation
>            Reporter: Milamber
>            Priority: Critical
>              Labels: regresion
>             Fix For: Future
> I found a (possible) bug introduce by CLOUDSTACK-9339 [1] (Pull Request PR1659 [2]) on
CloudStack Advanced network installation.
> Since this changes (9339), the public network's route on eth2 (public interface) in VR
is missing.
> Before on VR, we have sometimes like:
> ip route show table Table_eth2
> dev eth2  table Table_eth2  scope link
> default via dev eth2
> ...
> where is the public network and the default gateway.
> After with the ip route command shows only:
> default via dev eth2  proto static
> throw  proto static
> throw  proto static
> (missing route for public network)
> The changes 9339 introduce the iptables connmark to add 0x2 mark on ip packets from internal
VMs IP and an ip rule to use the Table_eth2 network table for these ip packets.
> So if another machine into the public network try to reach a virtual machine inside CloudStack
using their public IP, the packets's travel is:
> source_machine--> VR (de-NAT) --> VM_inside_CS --> VR (NAT+using Table_eth2)
--> default_public_gateway --> source machine
> The issue is if the default_public_gateway refuse to forward IP packets with the source
IP and destination IP in the same network (often when the gateway is a firewall), then the
connection between a machine into public network is not possible with all VM behind the CS
virtual router.
> The correct network path for the packet must be:
> source_machine--> VR (de-nat) --> VM_inside_CS --> VR (NAT+using Table_eth2)
--> source machine (directly because on public network)
> To fix the issue (workaround), just execute this command on the virtual router:
>  ip route add dev eth2 table Table_eth2212.217.2.0/24
> Please note: this issue isn't visible on CloudStack upgrade installation from anterior
version of until you decide to restart with clean up the network in CS.
> What is the best way to fix this bug?
> Thanks
> [1]
> [2]

This message was sent by Atlassian JIRA

View raw message