My company provides hosting/colocation for customer servers. This sometimes requires a VPN for the customers’ main office and their traveling users.
When a customer needs a VPN for direct, secure access to their server we configure it on a VLAN to keep it isolated from the rest of our internal networks.
Right now I’ve got things functioning with a standard PPTP configuration, but this is less than ideal. The hosts on the customer side can contact the server, but the server can not initiate communication the other direction to do things like capture network printers.
I can’t use simple routes for obvious reasons. I wouldn’t want everyone who uses my Mikrotik as a gateway to have a route in every customer’s home office. The second problem is that, typically, the offices tend to use the private subnet 192.168.1.0/24 internally, but I can’t route the same subnet to multiple places in ordinary circumstances.
I have tried marking outgoing traffic from my VLANs using a prerouting Mangle rule, but I can’t assign an IP-based route for the remote subnet.

chain=prerouting action=mark-routing new-routing-mark=customer1-vpn passthrough=yes dst-address=192.168.1.0/24 in-interface=VLAN10
add comment=“” disabled=no distance=1 dst-address=192.168.1.0/24 gateway= routing-mark=customer1-vpn scope=28 target-scope=24
When I make the gateway for the route an interface, such as , the route works as expected and passes traffic. The problem with this implementation is that when the interface goes down the route on my Mikrotik loses the gateway, when the interface comes back online the route definition does not pick it up, I have to manually edit the route and set the gateway to again for it to work.
add comment=“” disabled=no distance=1 dst-address=192.168.1.0/24 gateway=10.10.10.2 routing-mark=customer1-vpn scope=28 target-scope=24
I configured the VPN so that Customer1-Office always receives the IP 10.10.10.2, I have verified that it receives the correct IP. When I try to configure a route to use that IP as a gateway instead of the interface name the route does not work. My Mikrotik can ping 10.10.10.2 from the terminal, but in the Route List it reports “10.10.10.2 on customer1-vpn unreachable”
I have explored the possibility of using VRF to solve this problem, but have not been able to come up with a configuration that works in this scenario. The examples I’ve found all seem to assume that I have control of at least two routers in between the two end points (for a total of 4 routers). What I need is a solution that will allow me to perform all configuration on my Mikrotik, without touching any routers between it and the customer’s firewall.
I’m sure there’s an elegant solution, but I’m stuck. Does anybody know how to solve this issue?