4 ms·
What I really want: to be able to open a port on my computer behind a NAT and have a way for people outside it to connect without using special software. Is th
by marcodiego 5y ago
What I really want: to be able to open a port on my computer behind a NAT and have a way for people outside it to connect without using special software.
Is there a solution yet?
- KarlKemp 5y agoCloudflare used to have a service that would allow you to connect any local port to your cloudflare-managed domain. But I can’t find it just now.
- erulabs 5y agoWell, without using any special software is tricky, but I’m building a startup that offers this sort of tunneling for home-hosting purposes. As for “special”-software-less, you might have to wait for IPV6 and a hosting-friendly ISP.
- wwn_se 5y agoJust forward the port?
- marcodiego 5y agoI think that is only possible if a have control of the NAT/router, right?
- npteljes 5y agoUPnP has a protocol to handle that, but the router needs to support it and have it enabled.
- marcodiego 5y agoThat allows only outgoing connections, right? I there a way for me, behind a NAT, to pass an address for someone to connect to a port open on my machine?
- DarylZero 5y agoNo, UPnP is for forwarding ports for incoming connections. NAT itself is for outgoing connections.
- marcodiego 5y agoI think I understand what is proposed, but I wouldn't be too hopeful an ISP would allow that.
- DarylZero 5y agoIt's not up to the ISP. It's on your router. And most consumer home routers support it, or else a newer alternative like NAT-PMP, but you have to have to enable it in the router settings via web browser interface. (You can also, in these settings, manually forward individual ports, or use DMZ to forward all ports to a single machine.) Some ISPs don't even give you a real IPv4 address though (they use CGNAT). THEN you have no hope.
- marcodiego 5y ago> Some ISPs don't even give you a real IPv4 address though (they use CGNAT). THEN you have no hope. That is the case with most people I know: not even the router has a "real ip". Don't know how things have improved with ipv6 though. Also, in my country, best plans you can get take an optical fiber to your house directly connected to an ISP provided router. You're fully locked out of doing anything with the router except powering it.
- DarylZero 5y agoIf you have control of any IP address anywhere (doesn't have to be on your router), you can forward a port. If you don't have any control of an IP address, you cannot be connected to through software that is not "special" (i.e., software that only uses IP to connect). As a matter of logic.
- Namret 5y agongrok (https://ngrok.com/ https://ngrok.com/) and localtunnel (https://localtunnel.me/ https://localtunnel.me/) come to mind.
- marcodiego 5y agoLocaltunnels is close to what I want. Just would like it to be in form of a service run by volunteers, so I can have confidence it will not be corrupted by the possibility of profit in the future.
- b112 5y agoA http(s) proxy, like squid?
- marcodiego 5y agoLike that, but in the form of a wide network of volunteers.
- DarylZero 5y agoYou're going to need special software or else these volunteers are just giving out free IP addresses, and the pool of free IP addresses inevitably will be too small for the number of users. (Unless it uses IPv6, in which case it can be done, but then only other IPv6 hosts can connect.) Meanwhile, you can pay for your own static IP hosted on a VPS for much less than you can get home internet. You can then forward that IP to your home server. However, even this cannot scale, it is just rationing through bidding on IP addresses. There are more human beings than IPv4 addresses, so you can't just share them and use "non-special" software. The non-special IPv4 protocol software only supports ~4 billion unique users. So we need "special" IPv6 software or else "special" software layered over IPv4.
- marcodiego 5y ago> You're going to need special software or else these volunteers are just giving out free IP addresses Yes... that's basically this. But even a single ipv4 volunteer could expose tens of thousands of ports. Depending on how such a service is desired, this could be enough. Ipv6 would, I think, only improve things. This is one thing I miss from my dial-up internet in the 90's: I could run a service on my computer, I could pass my ip to anyone, anywhere in the world and they could connect to my machine; a cheap computer using a telephone line. I miss that.
- DarylZero 5y agoYou can use non-standard ports for any protocol, but then they're inferior. A first-class address+port has to match the protocol, so only one real user per IP. EDIT: Also, a home internet connection cannot route thousands of streams simultaneously, so allowing thousands of users one port each does not make sense. It is always going to be cheaper and more performant to do any kind of forwarding on a rented server in a data center.
- npteljes 5y agoI think you either do it with the router, or with a service that's outside of your network, there are no other ways. This wiki article covers it all I think. https://en.wikipedia.org/wiki/NAT_traversal https://en.wikipedia.org/wiki/NAT_traversal
- marcodiego 5y agoHole punching and similar solutions need special software on both sides.
- DarylZero 5y agoOr you can rent a VPS with a static IP and forward the port from there. It is likely to cost less than 10% of your home internet bill to do this.
- anderspitman 5y agoIMO tunneling is the best solution today. I see below that you're looking for something different, but this list might still be useful: https://github.com/anderspitman/awesome-tunneling https://github.com/anderspitman/awesome-tunneling