I'm trying to setup a Linux server behind a Windows Hyper-V host that will help supply some of the services (SSH, HTTPS, etc). However getting RRAS configured for reverse NAT (port forwarding) turned out to be a non trivial task.

As a staring point, I tried forwarding port 22 (SSH) to the virtual machine. The virtual machine is on a public interface (i.e.: it also has a visible IP on the same network as the host). On RRAS management console I tried to add a rule, by adding "Local Area Connection" to NAT pool (Public Interface -> Enable Nat), and an incoming rule for port 22 -> :22. I also tried with the same port enabled on Windows Firewall (and not).

The NAT management page tells there are "1 mappings" and "30+ Outbound packets transleted". However all other counters (Inbound packets translated, and respective rejected ones) are always zero.

(I'm trying to access the server from an external machine). I can directly access the service if I give the VM's public IP, but not the host's one.

Is there a way to enable this on RRAS?

1 Answer 1


I think the Linux reply directly with the public interface, not through the hyper-v.

You need to be sure that the Linux default gateway is the hyper-v hosts.

I publish resource among 10 RRAS servers without issue, even on linux machine.

You need however symmetric routing.

If the linux must keep his direct wan connection, then you must play with IP address based routing, as RRAS doesn't hide the real remote IP.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.