![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/8286e071-7449-4413-a084-1eb5242e2cf4.png)
Yes, very much like torrents
Yes, very much like torrents
You freak…
It doesn’t always work. And I think it might be related to where you are in the world. For the first month when piped links started showing up, it straight up never started playing for me. It works alright now.
Yeah, I just included the DNS part for completion’s sake 🙂
I changed my local subnet to 10.1.2.0, because it’s much easier to type.
The client will look up your domain at whatever DNS it uses. It will return your public IP.
Client will send a packet with that as destination. It will reach the router which goes ‘I know! The call is coming from inside the house!’ and sends it to the server without modification.
The server gets it and sends a response, but the response is addressed back to client’s local IP.
Client gets the response, but that packet’s origin (in the header) is server’s local IP.
Client goes ‘wtf, I didn’t call you?!’ And drops the packet, still waiting for a response with your public IP as its origin.
This can be solved with the router modifying the appropriate traffic’s headers so that the headers match the expected, called NAT Loopback, or by using IPv6 global addresses.
It might also work running a local DNS server that returns your server’s local IP for a given domain, but that might yield certificate errors, and won’t work if devices ignore the DNS coming from DHCP.
I was using straight firewall rules for some years, but lost the template when the NAT Loopback checkbox started working (OpenWRT).
I recently had an issue that happens on one out of between ten thousand and a hundred thousand interactions between two embedded processors. Thank god for logging!
What about the third way?