Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This custom cable modem my ISP gave to me does not support forwarding an external port to a different internal port. (For example, I can't forward an incoming connection on port 80 to port 3389 on my main box and and an incoming connection on port 21 to port 3389 on my old box. I need to do this to avoid port blocking.)

I know I could go around this by changing the port of RDP on my machines but I can't because I already have an HTTP server which must run on 80 for internal testing purposes.

I could not find any software updates, I could not get any support from my ISP and I could not find any better cable modems. (Cable modems are very uncommmon compared to ADSL modems.)

So is there any way I can go around this limitation?

share|improve this question
Can you put your own router and switch in between your computers and the modem? – Shane Wealti Feb 2 '12 at 22:43
How will that work? I don't know how to setup such a network. I have a Linksys WAG160N which was my old ADSL modem. Could that work? – AlicanC Feb 2 '12 at 23:04
shane is kind of right.. If you put something in the middle, the thing should be a Plain Router, not a Modem/Router device(i.e. not a router with modem built in). A plain Router instead of an adsl modem built in, has an ethernet socket labelled WAN, and that's where you use a cat5 cable to connect your modem to it. – barlop Feb 2 '12 at 23:23
Actually you can possibly use an adsl router for that. You use a cat5 cable to connect the modem to a regular port on your modem/router. – barlop Feb 2 '12 at 23:25
My old ADSL modem doesn't have it. (Because why would I connect another modem to it right? :P) So should I get something like Linksys E1200? – AlicanC Feb 2 '12 at 23:29
up vote 1 down vote accepted

Use one computer as a port-translating relay. Configure the router to forward all required ports (unchanged) to that computer.

Use something like socat to bounce the connection over to a different port on the other computer as needed.


 socat TCP4-LISTEN:80 TCP4:otherpc:3389

Update: Grawity points out below that using Windows you can do something like

netsh>interface portproxy
netsh interface portproxy>add v4tov4 listenport=80 connectaddress= connectport=3389 protocol=tcp

See Microsoft Technet

share|improve this answer
FWIW, Windows has such a feature built in -- via netsh interface portproxy IIRC. – grawity Feb 2 '12 at 23:56
Looks like a great short-time solution since I'm worried about performance and the power bill of running a computer 24/7 to make everything else work. – AlicanC Feb 3 '12 at 0:27
you can run it on a really small netbook.. or similar embedded system that uses like 10watts.. – ppumkin Feb 3 '12 at 11:22
… like on a 3.5W (5V x 700 mA) $25 Raspberry pi B maybe? – RedGrittyBrick Feb 3 '12 at 18:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .