Hello folks!
I’ve recently set up on AWS an IPSec site-to-site VPN (Virtual Private Gateway, not the Transit Gateway) with my CCR2004 (v6.49.5).
AWS provide us with two tunnels per VPN connection so we can have redundancy on the connection. I’ve added both peers and its policies as you may see here:
8 A peer=peer-AWS-1,peer-AWS-2 tunnel=yes src-address=10.40.0.0/16 src-port=any
dst-address=172.30.0.0/16 dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp sa-src-address=y.y.y.y sa-dst-address=x.x.x.x
proposal=proposal-AWS ph2-count=1
9 A peer=peer-AWS-1,peer-AWS-2 tunnel=yes src-address=10.100.100.0/24 src-port=any
dst-address=172.30.0.0/16 dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp sa-src-address=y.y.y.y sa-dst-address=x.x.x.x
proposal=proposal-AWS ph2-count=1
10 A peer=peer-AWS-1,peer-AWS-2 tunnel=yes src-address=10.100.90.0/24 src-port=any
dst-address=172.30.0.0/16 dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp sa-src-address=y.y.y.y sa-dst-address=x.x.x.x
proposal=proposal-AWS ph2-count=1
11 A peer=peer-AWS-1,peer-AWS-2 tunnel=yes src-address=10.41.0.0/24 src-port=any
dst-address=172.30.0.0/16 dst-port=any protocol=all action=encrypt level=require
ipsec-protocols=esp sa-src-address=y.y.y.y sa-dst-address=x.x.x.x
proposal=proposal-AWS ph2-count=1
As you may see, each policy has the 2 peers which points to the VPN tunnels 1 and 2 respectively.
If I keep both peers enabled, the VPN doesn’t work with timeouts on the SA connections. After escalate it with AWS support, we were able to get the connection to work if I disable 1 of the peers in the peer tab. They told me that the reason it isn’t working is because AWS VPNs use asymmetric routing in order to have both tunnels up as AWS picks randomly which tunnel will receive response packets. I’ve searched and weren’t able to find what settings should I tweak in order to get the asymmetric routing enabled on MikroTik.
I found one article saying that asymmetric routing is enabled by default on MikroTik Routers and it may only be disabled by some settings made on IP > Settings. I’ve never touched that screen and have the default options:
/ip settings> print
ip-forward: yes
send-redirects: yes
accept-source-route: no
accept-redirects: no
secure-redirects: yes
rp-filter: no
tcp-syncookies: no
max-neighbor-entries: 8192
arp-timeout: 30s
icmp-rate-limit: 10
icmp-rate-mask: 0x1818
route-cache: yes
allow-fast-path: yes
ipv4-fast-path-active: no
ipv4-fast-path-packets: 0
ipv4-fast-path-bytes: 0
ipv4-fasttrack-active: no
ipv4-fasttrack-packets: 0
ipv4-fasttrack-bytes: 0
Can someone shed a light on what I need todo to make this work?
Thank you!
Best regards,
Gutemberg