Microsoft Remote Desktop Client Configuration
Basically you have to enable port forwarding. Most routers do that, even ones provided by the cable companies.

Briefly the computer you want to get to needs a static IP address (or a DHCP one that doesn't change) within your network. If it stays at 10.0.1.9 that is fine. Then on your router forward any RDP (Windows) requests on port 3389 to the IP address of your computer (10.0.1.9).

While you are in the router doing all the port-forwarding, get the WAN IP address of the router. That is what you will plug into your RDP or VNC clicent when connecting remotely. Note that that WAN IP address is DHCP and depending on your ISP may change at a moments notice. In practice my external IP almost never changed (TWC, Comcast, U-Verse)... YMMV

With Linux you will need to install and configure VNC and forward the VNC port numbers (5800 and 5900) to that computer. Apple's remote desktop is actually VNC but you might have better results with a dedicated VNC client.

Microsoft has an article about just this here