It's difficult to me to explain in words, so I made diagrams.
In short, I want this to work:
Basically I want to be able to connect from my laptop [A] to my desktop [B] via ssh, and run terminal program over OpenVPN connection, let's say IRC client for example.
So far I have working sshd, OpenVPN tunnel, and port forwarding on my router, but seems like port is closed (or not being forwarded), I get connection timeout.
I also tried without VPN and that failed as well.
When [B] runs without OpenVPN it accepts connections to External IP, when it runs with OpenVPN it doesn't.
I have no idea what is wrong.
Strangely (for me) this is working ok:
I can connect from [A] to [B]
[A]$ ssh [B].local_IP,
and connect from [B](over VPN) to [B](WAN IP)
[B]$ ssh [B].WAN_IP.
I hope this makes sense. In this configuration port forwarding seems to work, also sshd working locally; in previous configuration port forwarding is not working(?).
I thought it should be easy, but it's not. Searching google is futile.
My router is Belkin F5D8636-4 v1 (01), potential candidate for causing trouble, but I would rather exclude every other possibility before buying new one.
I stumbled upon this post, but the answer doesn't work for me. After fiddling with policy routing I had some success, however it created some other problems, and I learned I have no comprehension of routing tables :(
I believe however, the solution is in policy routing.
Any advice appreciated.