I am trying to create routing rules over a Mikrotik SSTP VPN, I have disabled the default route on windows so it doesnt push all the traffic over the VPN.
We do want to route some traffic to certain websites over the VPN, how would we do this? I have read that RIP might work? I dont want to have to add the routes manually on the laptops.
Unfortunately, routing for VPNs is not as easy as you’d expect it to be. You’d think that it’s something everyone needs and therefore must work great, but no. In short, interoperability sucks.
But using RIP is an interesting idea and quick test says that it does work with Windows SSTP client and RIP Listener service installed. Downside is that it’s not installed by default and I’m not sure if there’s any way to limit it only to SSTP interface.
You can advertise static routes via dhcp options, but not from ROS. I succeeded with that in StrongSwan + dhcpd in ubuntu linux. I mean, you can advertise those through pure dhcp traffic, but you can’t push bootp protocol over ipsec tunnel or pptp in ROS.
I don’t normally use RIP either, so I don’t have much experience with it. You need to select interface(s) and network range on which it should operate and select what routes should be distributed (static, connected, …). Network would be what’s used by VPN clients. Interfaces may be tricky, it doesn’t seem possible to target dynamic ones, so you would either need to make them static or use bridged config (at least I hope it works, it’s in PPP profile, but I don’t think I’ve ever used it). If you want only specific routes, it’s possible using prefix list.
DHCP options written in dhcp packets, so you can’t push those to vpn client in ROS. Sad as it is.
It will work only if you have layer 2 VPN between relay and host. Before the packets pass relay, they should touch it from layer 2. And after the relay they should touch the server with relay source IP address as unicast packets.