GitHub user remibergsma opened a pull request: https://github.com/apache/cloudstack/pull/693
Fix site-to-site VPN feature This is work done together with @Jayapal on fixing the site2site VPN. The first part was done in PR #690 by @Jayapal. On top of that, some other fixes were needed and those are added in this PR. It made sense to make a new PR which includes all fixes so we can actually test it. The original PR #690 is already merged into this one, so can be closed. Since the commit ids are kept the same, merging this will close both. I closely compared the 4.4/4.5 implementation with the new 4.6 one. I did not only make it work, but also added some security improvements (some of which were also in 4.4/4.5). I noticed the pre shared key was being logged, so removed that as well. This is how I tested and verified it: https://github.com/schubergphilis/MCT-shared/tree/master/helper_scripts/cloudstack/vpn_tests When I have some time available, I'll write a Marvin test for it that we can include in the repo. It now works(tm) with one manual step due to CLOUDSTACK-8685: We need a default gateway before site-to-site VPN will actually work. It will connect, but not forward packets. The reason for this, is due to the iptables setup. VM1 has router1 as gateway, but router1 does not know the route to VM2 so it will give up. With a default gateway, the packets are about to be forwarded to the default gateway but when they reach eth1 the public nic, iptables kicks in, does some magic and forwards it through the ipsec tunnel. So, you need a default gw set to upstream. Workaround for now is setting the route manually: ``route add default gw 1.2.3.4`` or ``ip route add default via 1.2.3.4`` In other words, we need to fix CLOUDSTACK-8685 soon, too. @Jayapal @snuf could you please review this? You can merge this pull request into a Git repository by running: $ git pull https://github.com/remibergsma/cloudstack s2svpn-fixes Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/693.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #693 ---- commit da9e757b8e48c54a4ecbd3bdb027b573ac5a3314 Author: Jayapal <jaya...@apache.org> Date: 2015-08-13T08:37:12Z CLOUDSTACK-8710: Fixed applying iptables rules for s2s vpn commit 382458317ead1ded0149b0fa43d41cd527d22e50 Author: Remi Bergsma <git...@remi.nl> Date: 2015-08-13T19:35:44Z CLOUDSTACK-8730: fix s2s iptables rules and ipsec config For site2site VPN to work, we need a default gateway to be set. See CLOUDSTACK-8685 commit 9b97719c5c7839215fa4ff4392995af28055f803 Author: Remi Bergsma <git...@remi.nl> Date: 2015-08-14T07:05:59Z tighten security of site-to-site VPN It was like this in 4.4 and 4.5 commit 4f8ab51f7f2a1d8b78e754981d92c3904408fb30 Author: Remi Bergsma <git...@remi.nl> Date: 2015-08-14T07:07:25Z do not log sensitive site-to-site VPN PSK Logging before: 2015-08-12 16:30:07,126 Searching for 192.168.23.6 and replacing with 192.168.23.6 192.168.23.5: PSK "preSharedKey" Logging after: 2015-08-12 16:30:07,126 Searching for 192.168.23.6 and replacing with 192.168.23.6 192.168.23.5: PSK "****" commit 7ddec661ca6d17fbf9ecbc0ee60e34d68f97a94d Author: Remi Bergsma <git...@remi.nl> Date: 2015-08-14T07:10:28Z Merge pull request #690 from jayapalu/vpn CLOUDSTACK-8710: Fixed applying iptables rules for s2s vpn @remibergsma @wilderrodrigues Moved applying iptables rules apply after vpn configuration so that vpn specific rules also get applied * pr/690: CLOUDSTACK-8710: Fixed applying iptables rules for s2s vpn This closes #690 Signed-off-by: Remi Bergsma <git...@remi.nl> ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---