Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.networking > #4315 > unrolled thread

Connect two machines under NAT

Started byMirko <mirkk@gmail.com>
First post2019-02-10 19:07 +0100
Last post2019-02-13 10:13 +0100
Articles 4 — 4 participants

Back to article view | Back to comp.os.linux.networking


Contents

  Connect two machines under NAT Mirko <mirkk@gmail.com> - 2019-02-10 19:07 +0100
    Re: Connect two machines under NAT Dan Purgert <dan@djph.net> - 2019-02-10 18:37 +0000
    Re: Connect two machines under NAT Grant Taylor <gtaylor@tnetconsulting.net> - 2019-02-10 13:11 -0700
    Re: Connect two machines under NAT Rob van der Putten <rob@sput.nl> - 2019-02-13 10:13 +0100

#4315 — Connect two machines under NAT

FromMirko <mirkk@gmail.com>
Date2019-02-10 19:07 +0100
SubjectConnect two machines under NAT
Message-ID<q3pqkq$scu$1@gioia.aioe.org>
Hello,

how connect two machines back a nat ?
How does they do it to establish a connection ?

For example skype and others istant messanger as whatsapp works
 like this.


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

[toc] | [next] | [standalone]


#4316

FromDan Purgert <dan@djph.net>
Date2019-02-10 18:37 +0000
Message-ID<slrnq60rqi.61d.dan@xps-linux.djph.net>
In reply to#4315
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Mirko wrote:
>
> Hello,
>
> how connect two machines back a nat ?
> How does they do it to establish a connection ?
>
> For example skype and others istant messanger as whatsapp works
>  like this.

You connect to a server on the internet that knows both endpoints public
IP addresses -- at least in the cited examples.

in other cases, you set up port-forwarding at the "server" end.

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEBcqaUD8uEzVNxUrujhHd8xJ5ooEFAlxgb1IACgkQjhHd8xJ5
ooEXyQgApYMlJIUa6WKGCuj5LsH3S/Pa/v09oMn2BVnQjmyU0+u4Cb0kdmT9Ikq0
wknIpL80Z3VehaHF849I1KBNEFp1/RN9/CpqVFd7n1B5PG0ifG+7UDzLCQR7sEzR
X8KihOqi9krFEQ3iibQ5KuwFS0Vq7XLnLC1Ny2pBUZXVpg3MBGJXRMtq8MddlYkZ
DkkaUs4C3ROYd9Y2qsluNPltqHnZD+GxDEFOewkft+HDIf5xNhzUa7+Ui3LcuWfO
A3x3SPBbXLy/n6vST1FjkmyRwE2qj1h3aIqyjbSdUuaPEysACv5TT85uXjZ+zh9f
9THXiqGzLlRCG7q2NBMByl4XtcTJ5g==
=ELrH
-----END PGP SIGNATURE-----

-- 
|_|O|_| 
|_|_|O| Github: https://github.com/dpurgert
|O|O|O| PGP: 05CA 9A50 3F2E 1335 4DC5  4AEE 8E11 DDF3 1279 A281

[toc] | [prev] | [next] | [standalone]


#4317

FromGrant Taylor <gtaylor@tnetconsulting.net>
Date2019-02-10 13:11 -0700
Message-ID<q3q0lu$ss2$1@tncsrv09.home.tnetconsulting.net>
In reply to#4315
On 2/10/19 11:07 AM, Mirko wrote:
> Hello,

Hi,

> how connect two machines back a nat ?

What type of NAT?  This makes a BIG difference.

The types of NAT can broadly be categorized by the type of restrictions 
that it places on traffic.  The restrictions are largely based on what 
requirements they place on the remote end.  This is usually applied to 
the remote IP and / or remote port (for a given transport protocol).

 From most lease restrictive (0) to most restrictive (2):

0)  Don't care about remote IP or remote port.
1)  Care about remote IP but don't care about remote port.
1)  Don't care about remote IP but do care about remote port.  (Not very 
common.)
2)  Care about remote IP and remote port.

Type 2 is the most problematic as it's quite difficult for things like 
Skype to set up end-to-end communications between two devices that are 
both behind (what I'm calling) type 2 NAT.  About the only way to do 
this is to brute force attempt to connect to all the ports on the remote 
IP and /hope/ that one of them matches type 2 NAT on both ends and 
allows communications.

Even this brute force method can be thwarted by local NATs altering the 
source port for each connection, thus making it quite difficult to get 
the same local IP and ports on both ends.  This is further compounded by 
the fact that clients behind NATs usually don't have direct knowledge of 
the IP they will appear to be from on the other side of the NAT.

> How does they do it to establish a connection ?

That depends on the type of NAT.

> For example skype and others istant messanger as whatsapp works like this.

Even Skype has problems with some types of NAT and needs external 
solutions to enable communications.  Skype has what (I think) are called 
"Super Nodes" that can bridge traffic between two endpoints that can't 
establish direct communications, usually because of trouble with NAT or 
a firewall.

There are also the industry standard solutions to help with this, namely 
STUN and TURN.

Finally, each layer of NAT compounds this problem.  I might speculate 
that the difficult of the problem is a given $VALUE raised to the power 
of the $NUMBER of NATs:

DIFFICULTY = $VALUE ^ $NUMBER

I hope that gives some insight.  Please feel free to ask follow up 
questions or pick apart what I've said.  I enjoy friendly discussions 
where all parties learn something.  :-)



-- 
Grant. . . .
unix || die

[toc] | [prev] | [next] | [standalone]


#4318

FromRob van der Putten <rob@sput.nl>
Date2019-02-13 10:13 +0100
Message-ID<5c63dfb1$0$22350$e4fe514c@news.xs4all.nl>
In reply to#4315
Hi there


On 10/02/2019 19:07, Mirko wrote:

> how connect two machines back a nat ?
> How does they do it to establish a connection ?
> 
> For example skype and others istant messanger as whatsapp works
>   like this.

Get IPv6.
If you really need to use IPv4, tunnel IPv4 in IPv6.


Regards,
Rob

[toc] | [prev] | [standalone]


Back to top | Article view | comp.os.linux.networking


csiph-web