EasyTier with frp Internal Network Traversal
Background
Foreign servers have high latency, which makes game streaming inconvenient; domestic servers have expensive bandwidth, which makes game streaming unaffordable. So I thought of using internal network traversal to open a public port…
Preparation
Any internal network traversal service will do — only a single port is needed. Here I use the public 1.1.1.1:12345 as an example.
⚠️ Note: For the local <IP:PORT> of the internal network traversal, be careful NOT to use 127.0.0.1 or localhost; you can use another internal address bound to your network interface, such as 192.168.1.23. Otherwise it will complain about a loopback address or something. Just use the port EasyTier listens on, which defaults to 11010.
The final result is:
| |
Steps
EasyTier CLI
Recommended method: After enabling internal network traversal locally, you don’t need to change anything. For other devices to connect to this device, just add a shared node config: -p "tcp://1.1.1.1:12345".
I also discovered a parameter that can be set locally: --mapped-listeners tcp://1.1.1.1:12345. In this case, other devices don’t need to add a shared node config; they seem to auto-detect this public address. However, this hasn’t been strictly verified, so I’ll leave it at that for now.
EasyTier GUI Client
After enabling internal network traversal locally, in the app: Network Mode — Standalone, then do the same as above. For other devices to connect to this device, just add a shared node config: tcp://1.1.1.1:12345.
I also found a setting: Advanced Settings — Listener Mapping, which seems to be the same feature as --mapped-listeners. However, I couldn’t get it to connect successfully; not sure whether it’s a configuration issue.