You are not logged in.
Hey all,
Just recently started a project and I was curious if anyone knew of a pre-existing solution to the problem of having multiple machines to manage, and some being natted. Something like Hamachi? I was thinking of maybe home brewing something using reverse SSH tunnels, but it sounds like a pain. I know this can't be a new problem so there must be a solution out there somewhere. Any tips would be appreciated!
Edit - Also forgot to mention I can run a VPS, which might help as a mid-way between the client and servers.
Last edited by Fingel (2012-02-06 18:23:22)
Offline
Router port forwarding, ssh port forwarding, I would forward some ports in the router, makes for less hassle.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
Router port forwarding, ssh port forwarding, I would forward some ports in the router, makes for less hassle.
Well the problem is I don't have control over the networks the machines will be behind. I guess I didn't mention that. Port forwarding is not an option.
Offline
Even if you can't administer the network, if you have to manage some machines behind nat, then someone will have to give you direct access to at least one of the machines I'd say.
I'll leave it to more experienced users to propose more options.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
I think you could use a reverse SSH tunnel for that. I've never used this myself though.
Last edited by rwd (2012-02-11 20:56:07)
Offline
Assuming that you have access to at least one not natted machine you can consider setup VPN, but doing it for limited time and/or less than 10 servers would be an overkill. Just stick with SSH tunnels, it's not that hard. You would be surprised how complicated setups and combinations of SSH tunnels ppl tend to use every day and it's just works ![]()
Offline
It kind of depends on whether you have control over the routers/computers that are doing the NATing. It is really pretty easy to make a reverse ssh tunnel triggered of off an email.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
He could put up an OpenVPN server on the VPS and have one of the NATed boxes connect to it as a client, then setup a NAT on the NATTED machine's tunnel endpoint. That way he could ssh into any of the hosts behind the nat from the VPS
.
Hurricane Electric Certified IPv6 Sage
CPU: Core i7-2600 @ 4.0Ghz | RAM: 16GB (4x4GB) | GFX: AMD Radeon R9 290 4096MB VRAM | HDD: 1x 120GB SATA3 Corsair SSD (~500MB/s RW), 1x SATA2 250GB, 1x SATA2 320GB, 1x 180GB SATA3 Intel SSD
*EDIT* Replaced Nvidia GTX 570 for a AMD Radeon R9 290, and added an extra SSD 180GB
Offline
The best solution is probably an OpenVPN-server on your VPS, and then configure the rest of the machines to connect to it. Set it up to use some common port on your VPS(like 443) in case the natted machines connect through a firewall
Make sure you're allowed to do it by asking the administrators of the networks first.
RTFM or GTFO
hax0r.se
Offline
Thanks for the advice guys. I think I'll go with ssh tunnels and a bunch of scripting. As the machines come online they will "check in" periodically using HTTP to the control server. The response will be the name of the machine(s) that are requested to set up a reverse SSH tunnel. I plan on writing a web interface for it, a dashboard showing all machines that have checked in and the ability to request a tunnel to be set up for them. I'll release the tool publicly and post back here if anyone is interested.
Of course, any other ideas or suggestions are welcome.
Offline
How about something like sslexplorer
http://sourceforge.net/projects/sslexplorer or its fork http://sourceforge.net/projects/openvpn-als
Unfortunately it's not maintained anymore after being bought out by barracuda, but the latest commuity version works really well and takes a lot of hassle out of manually configuring everything
A temporary file is just a pipe with an attitude and a will to live.
Offline