Dual Home with bosh issues (asymmetric routing)


Shaozhen Ding
 

Micro Bosh allows users to make the micrbosh dual home by injecting a
deployment_network section in manifest file.

Then micro bosh has two network cards sitting on two different network.

E.g. network 1 with ip 192.168.32.12 (vCenter)
network 2 with ip 192.168.100.1 (deployment IP)

However when I deploy the my deployment in the network 3. I found some
timeout issue.

I found that in network 3 I can not ping the deployment IP (192.168.100.1)

Dig into this:

this issue comes from
https://my.stonesoft.com/support/document.do?docid=1377 called as
asymmetric routing.

do a route -n in microbosh:

Destination Gateway Genmask Flags Metric Ref Use
Iface

0.0.0.0 192.168.32.1 0.0.0.0 UG 0 0 0
eth0

192.168.32.0 0.0.0.0 255.255.240.0 U 0 0 0
eth0

192.168.96.0 0.0.0.0 255.255.240.0 U 0 0 0
eth1

The problem comes as

The network packet (ICMP) comes from the third network (E.g. 192.168.200.2)
to ping 192.168.100.1. When micro bosh echo back it will use ip
192.168.32.12, since eth0 is the default gateway.....


when router seeing src 192.168.100.1 and comes back from 192.168.32.12 ->
mismatch!!!!, then it drops the packet.

Many routers would disallow asymmetric routing. Linux router could disallow
this by enable net.ipv4.conf.all.rp_filter=1


By adding a static route to microbosh. E.g. route add 192.168.200.2 dev
eth1, which force the traffic to use the second NIC. Then ping from
192.168.200.2 works

Join {cf-bosh@lists.cloudfoundry.org to automatically receive all group messages.