NAT Translation #11
-
What are your thoughts on NAT? I see you thought about it in the code a bit yet I am wondering how to connect two computers behind a NAT... There is no real discussion in your Wiki of this. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
Automatic management of router settings and connecting two computers behind a NAT is planned for the future. Right now if you want to connect two computers behind a NAT there are two options, as far as I can quickly come up with:
If you need more assistance let me know. |
Beta Was this translation helpful? Give feedback.
-
I haven't yet had the time to look into how STUN/TURN works in dept. At the very minimum I was thinking of adding automatic port forwarding configuration like https://github.com/miniupnp/miniupnp. However for anything we use, we would need to check how it might increase the attack surface for QuantumGate, for example, by adding to the traffic signature in some way so that traffic analyzers can more easily detect QuantumGate being used. One of the fundamental goals for QuantumGate is to try and make traffic analysis and probing attacks impossible or very difficult. |
Beta Was this translation helpful? Give feedback.
-
NAT traversal is so important for real-world use cases of this project, so you should prioritise this in you TODO list. Let this be your starting point: NAT bypass options: 1.Rape of NATs:
you need a server behind nat to establish a connection, and probably also to maintain it, but after the connection is established, p2p will go 2.IPv6: Can be tunneled over IPv4 using Teredo (build-in on Windows) or Miredo (on Linux). But these two protocols can only carry ipv6 traffic over IPv4 networks. They need something else to bypass NAT (Teredo can bypass nat out of the box using UPnP. Doesn't work in symmetric nat.) (I don't know anything about Miredo) 3.Special protocols. Google: IGD (UPnP), NAT-PMP (within Bonjour), STUN/TURN/ICE , NAT-T (IKE), RSIP, MIDCOM, SBC, ALG, ICM (STUN/TURN extension). please add if i missed something |
Beta Was this translation helpful? Give feedback.
Automatic management of router settings and connecting two computers behind a NAT is planned for the future. Right now if you want to connect two computers behind a NAT there are two options, as far as I can quickly come up with: