News for hackers. Stuff that matters.
Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @08:36PM (#33648681)
This is huge. One of the last major missing features from Tailscale IMO. I maintain a list of tunneling solutions[0]. Personally, I think the future of p2p networking and selfhosting may be through tunneled, SNI-routed TLS connections (exactly what Tailscale just announced). It solves IP exhaustion, NAT, and IP privacy at the cost of an extra hop and no UDP.

The big question is going to be pricing. The current top player in this space is Cloudflare Tunnel, which is a loss-leader product that technically forbids selfhosting anything other than HTML sites.

Selfhosting media can use tons of bandwidth. Any service that doesn't charge per GB is incentivized to limit your speeds.

[0]: https://github.com/anderspitman/awesome-tunneling

Re:Tailscale Funnel by api on Thursday November 17, 2022 @09:08PM (#33648930)
So basically that would mean a cloudflare for P2P, though maintaining data privacy at least.

It’s better than no P2P but IPv6 solves exhaustion and NAT without the performance hit or protocol limitations and with no extra third party intermediary in the way.

BTW this maintains data privacy but you can still tell a whole whole lot from metadata.

On the flip side it would prevent the kind of “griefing” with DDOS that happens every once in a while with self hosted and P2P things. It’s not that common unless you are engaging with certain communities but it is an inherent Internet architectural flaw that this kind of works around (at a cost).

Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @10:23PM (#33649668)
I envision something more decentralized than Cloudflare[0]. I think you could have local companies in every major city that would own a block of IP addresses and provide tunneling services with SNI routing for people in the same region. They can also provide more expensive services like DDoS protection and caching for popular sites or even on-demand when your mom blog goes viral.

> It’s better than no P2P but IPv6 solves exhaustion and NAT without the performance hit or protocol limitations and with no extra third party intermediary in the way.

I just don't see ISPs ever implementing IPv6 without governments forcing them to. It enables p2p which increases upload bandwidth requirements and cuts into their bottom line. And even if we get IPv6 you still need the ability to open firewall ports in a way the average user can understand. Not hard technically but that's another standard that everyone is going to have to agree on and implement.

[0]: Which I know you can appreciate. "Decentralize until it hurts; centralize until it works" is still one of my mottoes.

Re:Tailscale Funnel by Spooky23 on Thursday November 17, 2022 @11:28PM (#33650301)
Have you used a smartphone? Most mobile networks are IPv6 enabled.
Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @11:43PM (#33650437)
I just tried turning off wifi on my phone. After googling what is my ip and pinging the IPv6 address from another IPv6 device, it doesn't work. Whether it's a firewall/NAT/whatever is irrelevant. IPv6 as deployed does not provide p2p.

PS - typing the IPv6 address was super annoying and error prone compared to IPv4.

Re:Tailscale Funnel by api on Friday November 18, 2022 @08:29AM (#33654287)
Your mobile network is probably still V6 at the core. They're either giving you V4 at the endpoint or your phone is hiding V6 from you. Android or iOS? Apple stuff is V6 native now. Android's gonna be mixed.

Depends on the carrier network though. I am on Spectrum (Verizon network) in Ohio and get V6 with CGN for V4. My wired ISP provides dual stack.

Re:Tailscale Funnel by anderspitman on Friday November 18, 2022 @09:46AM (#33655449)
Can you ping directly to your phone from another device, or access a webserver on it? That would be awesome.
Re:Tailscale Funnel by api on Friday November 18, 2022 @10:49AM (#33656449)
Never tried but I somehow doubt it. Standard issue UDP hole punching absolutely does work though.

You still usually need hole punching with IPv6 if there's any kind of firewall in the way, but unlike IPv4 with NAT it's virtually 100% successful. Even if IPv6 NAT is deployed there's usually a 1:1 internal/external IP mapping making hole punching 100% successful.

Re:Tailscale Funnel by Spooky23 on Friday November 18, 2022 @02:44PM (#33660927)
Phone data traffic is proxied or NATted for qos and other purposes, even with IPv6.

It works better outbound than the old model though. I use iSH to get a Linux shell and with a mini Bluetooth keyboard I work on some hobby projects on the train from my iPhone.

Re:Tailscale Funnel by ftth_finland on Friday November 18, 2022 @02:26AM (#33651454)
There is no ISP conspiracy to not implement IPv6.

The hard truth is that implementing IPv6 costs money and customers are not willing to pay for it.

Re:Tailscale Funnel by anderspitman on Friday November 18, 2022 @10:14AM (#33655865)
Doesn't need to be a conspiracy, just misaligned incentives. That said, I do agree that customers aren't clamoring for upload bandwidth and p2p, because the software for selfhosting is still way too complicated and insecure for the average user to set up and run. It's a chicken/egg problem, and IMO the software needs to get better first (which is what I'm working on).
Re:Tailscale Funnel by api on Friday November 18, 2022 @08:23AM (#33654194)
All of the home ISPs I've used in the past 10 years have IPv6. I know a few don't, including some surprising ones such as new FTTH, but they all say it's "coming."

Once you wire fiber upstream bandwidth doesn't matter that much. ISPs are directly peered into the core of the Internet and pay bulk peering bandwidth pricing not cloud bandwidth pricing. Cloud bandwidth pricing is completely insane, like 10000% markup or more in many cases, and the fact that they charge more for outbound is just a strategy to make data flow into their cloud but not out. Bandwidth is actually dirt cheap or companies like Cloudflare could never exist.

The main reason they drag their feet on IPv6 is that there's no strong forcing function and dual stack adds complexity. When they're on a deadline to ship they punt on it. They are starting to get complaints from gamers though. Gamers tend to be the top home users that drive early adoption of all kinds of things.

Edit: another funny thing is that most ISP/telecom stuff these days is IPv6 at the core. If they're not doing it at the edge for new stuff it means they've just got it off and are running IPv4 over IPv6 within their network most of the time. This is even more true for mobile networks, some of which are IPv6 only and the phone does 4to6.

The rollout is still happening... slloooooooowly... The Internet is huge and it takes forever to do a major upgrade like this. I wish they'd have just made IP 48 or 64 bit with an easier upgrade path, but that's water under the bridge now.

Re:Tailscale Funnel by anderspitman on Friday November 18, 2022 @09:45AM (#33655434)
This is hopeful. I agree there's a good chance we'll all be running on IPv6 eventually. I just don't see it happening in the next 10 years unless the gamers can get us there. Personally, I'm hoping to see a selfhosting revolution in the next 5 years, and I think that's going to happen over tunnels and overlay networks.
Re:Tailscale Funnel by api on Friday November 18, 2022 @10:20AM (#33655949)
It'll happen over overlay networks for other reasons, like the Internet being a dark forest hellscape where anything public gets attacked.

Overlay networks are probably the future. IPv6 lets them be fully P2P and more decentralized.

Edit: one more piece of detail about upstream bandwidth at home. 30-40mbps/sec up is a DOCSIS cable system limit. That's the only reason for that really. Cable was never designed to be bidirectional and the stuff they do with modulation to get shared upstream is heroic. It's also related to why cablemodems tend to use a lot of power. They have to blast spread spectrum pretty loud to get it to the CO. Fiber will save energy.

Re:Tailscale Funnel by ithkuil on Sunday November 20, 2022 @11:14AM (#33682101)
None of my ISPs ever had IPv6 support.
Re:Tailscale Funnel by tjoff on Thursday November 17, 2022 @09:45PM (#33649271)
> It solves IP exhaustion, NAT, and IP privacy at the cost of an extra hop and no UDP.

That is awfully expensive for something ipv6 already solves minus the privacy part. I don't see how it can be considered "huge". A slight convenience maybe?

Also, routing everything through a 3rd party is a massive downside.

Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @10:14PM (#33649571)
IPv6 the technology solves it, IPv6 as it exists in the real world does not. Even if we got 100% IPv6 adoption overnight, you would still not have a universally adopted API for punching holes through router firewalls for p2p applications.
Re:Tailscale Funnel by Spivak on Thursday November 17, 2022 @11:01PM (#33650076)
Yep, and such a thing would never be allowed anyway because what network administrator will look at “yes random client devices can punch holes in my network from the outside to your not very securely assigned address” and rightfully say nope.

Here’s the attack:

- You want to get to A

- And you’re on a device B that has access to hole-punch-as-a-service but no direct access to A. Good network administrator / sysadmin!

- Attack NDP (ie ARP spoofing but IPv6 flavored) to trick the firewall just for a moment that you’re A [1] and request the port be opened to your evil server C on the public internet.

- Oops.

Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @11:09PM (#33650139)
Yep, tunneling is way more secure than direct p2p. Especially if you run the service inside some sort of sandbox/container/VM which is possible on all major OSes these days.
Re:Tailscale Funnel by aidenn0 on Friday November 18, 2022 @02:14AM (#33651388)
SSL?
Re:Tailscale Funnel by ikiris on Thursday November 17, 2022 @11:01PM (#33650077)
... you mean like UPnP?
Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @11:07PM (#33650119)
The first google result for "upnp adoption" is from 2012. The second is from 2022 and recommends you turn it off for security reasons.

EDIT: I agree we definitely need something like UPnP, or maybe even UPnP itself, but it's another adoption problem currently.

Re:Tailscale Funnel by _carbyau_ on Thursday November 17, 2022 @11:44PM (#33650447)
UPnP needs management. I'd like to be able to set rules about what ports can be opened by UPnP, from where, by whom, with or without a notification in email/logs/alerts etc.
Re:Tailscale Funnel by counttheforks on Friday November 18, 2022 @01:12AM (#33651016)
Pretty much every consumer router has UPnP enabled by default.
Re:Tailscale Funnel by bboygravity on Friday November 18, 2022 @01:10AM (#33651006)
How does Syncthing solve this?

AFAIK it doesn't use third party servers and it seems to get through any router just fine...

Re:Tailscale Funnel by melony on Friday November 18, 2022 @01:28AM (#33651085)
Re:Tailscale Funnel by mkl on Friday November 18, 2022 @02:01AM (#33651308)
It uses third party (community-provided) relay servers: https://docs.syncthing.net/users/strelaysrv.html

This can have quite an effect on sync speed. I set it up for my dad and initially his PC and laptop were syncing incredibly slowly. It turned out they both thought his home network was a public one, so everything was going out to a relay server and back.

Re:Tailscale Funnel by preben on Friday November 18, 2022 @05:07AM (#33652662)
WebRTC solves this via signalling servers. Data channels are peer-to-peer and traverse NAT.
Re:Tailscale Funnel by anderspitman on Friday November 18, 2022 @09:43AM (#33655402)
As others have mentioned, NAT traversal and relays. Tailscale has the best article on NAT traversal I'm aware of: https://tailscale.com/blog/how-nat-traversal-works/
Re:Tailscale Funnel by bradfitz on Thursday November 17, 2022 @10:05PM (#33649485)
We love IPv6 at Tailscale! It's just not pervasive yet, so we do what we gotta do.
Re:Tailscale Funnel by 0x6c6f6c on Thursday November 17, 2022 @10:11PM (#33649540)
Where do they say you can't host anything besides HTML sites? Their docs even showcase various use cases for Tunnels besides that
Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @10:16PM (#33649599)
Re:Tailscale Funnel by tsujamin on Thursday November 17, 2022 @10:24PM (#33649682)
looool so I’m literally working on something like funnel (built on their tsnet package) as I type except for generic TCP/UDP listeners.

This explains so much of what I’ve seen added to their codebase recently

Re:Tailscale Funnel by lewisl9029 on Thursday November 17, 2022 @10:24PM (#33649685)
Agreed, this is awesome! I've been using Cloudflare Tunnel for local dev, but the fact that it seems to be coupled to their CDN product with no way to permanently turn off the CDN functionality has caused quite a few headaches lately (though it's possible to turn off temporarily using "Development Mode").

Would love to give this a try, though from the post it's not clear if we could use our own custom domains instead of the provided ts.net ones? This is a necessity for my use case where I need to be able to handle wildcard subdomains.

Re:Tailscale Funnel by systemvoltage on Thursday November 17, 2022 @10:39PM (#33649848)
Where do you see Cloudflare Tunnel T&C? Their help documentation seems to promote Tunnel/Access apps in every possible scenario:

> Our connector, cloudflared, was designed to be lightweight and flexible enough to be effectively deployed on Raspberry Pi, your laptop or a server running your data center. Tunnel does not programmatically enforce any throughput limitations.

> If you are hosting a Tunnel in GCP, AWS, or Azure you can view our deployment guides which are more prescriptive in assigning minimum system requirements.

https://developers.cloudflare.com/cloudflare-one/connections...

Re:Tailscale Funnel by anderspitman on Thursday November 17, 2022 @10:59PM (#33650056)
Yeah it's actually a bit difficult to find on google: https://www.cloudflare.com/terms/#28-limitation-on-serving-n...