<p>A friend of mine told me there was a way to connect two private IPs without using a proxy server. The idea was that both computers connected to a public server and some how the server joined the private connections and won't use any more bandwidth.</p>

<p>Is this true? How's this technique named?</p>

[{'answer_id': 44179, 'author': 'Chris Upchurch', 'author_id': 2600, 'author_profile': 'https://Stackoverflow.com/users/2600', 'pm_score': 0, 'selected': False, 'text': '<p>This is true.  It\'s the way <a href="https://www.copilot.com/" rel="nofollow noreferrer">FogCreek Copilot</a> works</p>\n\n<p>Take a look at item 2 on Joel\'s <a href="http://www.joelonsoftware.com/items/2007/01/26.html" rel="nofollow noreferrer">Copilot 2.0 post</a>.</p>\n'}, {'answer_id': 44187, 'author': 'Guy', 'author_id': 1463, 'author_profile': 'https://Stackoverflow.com/users/1463', 'pm_score': 0, 'selected': False, 'text': "<p>Your friend might be referring to VIP's (Virtual IP's). From my understanding a VIP is usually controlled by a piece of hardware like a router and then redirects to one of your 2 private IP's. We use this with a cluster of machines behind a VIP. I'm not a network guy so that's pretty much the extent of my knowledge.</p>\n"}, {'answer_id': 44200, 'author': 'Jack M.', 'author_id': 3421, 'author_profile': 'https://Stackoverflow.com/users/3421', 'pm_score': 0, 'selected': False, 'text': '<p>If you\'re looking at joining two private networks (two networks of machines behind a NAT), the best way to do this is with a <a href="http://en.wikipedia.org/wiki/Virtual_private_network" rel="nofollow noreferrer">VPN</a>.  There are many pieces of equipment available to accomplish this. </p>\n'}, {'answer_id': 44203, 'author': 'Steve Gury', 'author_id': 1578, 'author_profile': 'https://Stackoverflow.com/users/1578', 'pm_score': 3, 'selected': True, 'text': '<p>There is a technique called "<a href="http://en.wikipedia.org/wiki/Hole_punching" rel="nofollow noreferrer">Hole Punching</a>" that works well with "Cone" NAT (Cone is a technical familly of router). That\'s not an 100% sure technique, today, it works well with UDP on about 80% of the router.</p>\n\n<p>There is some implementations of library to realize Hole Punching: <a href="http://sourceforge.net/projects/stun/" rel="nofollow noreferrer">STUN</a> (<a href="http://en.wikipedia.org/wiki/STUN" rel="nofollow noreferrer">wikipedia</a>)</p>\n'}, {'answer_id': 44231, 'author': 'jj33', 'author_id': 430, 'author_profile': 'https://Stackoverflow.com/users/430', 'pm_score': 0, 'selected': False, 'text': "<p>I'm not sure it's what you're thinking of, but you could do something similar with ssh tunneling.  Let's say you wanted userA on 10.1.2.3/24 to connect a mysql server on userB's on 192.168.0.3/24.  There's no direct network connectivity between the two networks, but both machines can connect to serverA on the public internet.</p>\n\n<p>userB runs this command:</p>\n\n<pre><code>ssh -R localhost:13306:localhost:3306 username@serverA\n</code></pre>\n\n<p>userA runs this command:</p>\n\n<pre><code>ssh -L 3306:localhost:13306 username@serverA\n</code></pre>\n\n<p>Now userA can use whatever tool they please to connect to mysql on localhost and the cxn will be tunneled through serverA and to the mysql daemon running on localhost on userB's machine.</p>\n\n<p>(hopefully no typos, typed with one hand as I hold my two day old daughter =))</p>\n"}]
['https://Stackoverflow.com/questions/44177', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4269/']