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?

link|improve this question
Can you put your own router and switch in between your computers and the modem? – Shane Wealti Feb 2 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 at 23:04
1  
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 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 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 at 23:29
show 2 more comments
feedback

1 Answer

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.

example

 socat TCP4-LISTEN:80 TCP4:otherpc:3389

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

c:\>netsh
netsh>interface portproxy
netsh interface portproxy>add v4tov4 listenport=80 connectaddress=192.168.0.100 connectport=3389 protocol=tcp

See Microsoft Technet

link|improve this answer
1  
FWIW, Windows has such a feature built in -- via netsh interface portproxy IIRC. – grawity Feb 2 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 at 0:27
you can run it on a really small netbook.. or similar embedded system that uses like 10watts.. – ppumkin Feb 3 at 11:22
1  
… like on a 3.5W (5V x 700 mA) $25 Raspberry pi B maybe? – RedGrittyBrick Feb 3 at 18:18
feedback

Your Answer

 
or
required, but never shown

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