Most active commenters
  • Fnoord(10)
  • alias_neo(6)
  • michaelmrose(6)
  • vvanders(4)

←back to thread

182 points whalabi | 38 comments | | HN request time: 1.029s | source | bottom
1. Fnoord ◴[] No.19208623[source]
I'm using Pi-Hole on an Ubiquiti router together with WireGuard and DNSSEC. My Synology NAS is backup (with regards to the DNS-based Pi-Hole blocking) taking the adblocking load off the router (there's no redundancy for WireGuard endpoint though). I don't (need) to use a RPi anymore. It works extremely well for me, and all my clients also get to connect to Nextcloud running on the Synology.

My setup does far more than just blocking ads, and works transparent as long as the client is connected through WireGuard (which works seamlessly over LTE and public WiFi).

That being said, I really like how Blokada and DNS66 are available in F-Droid [1] [2], and require minimal technical knowledge to set up. The more [ad blocking], the merrier.

As a backup measure I use Firefox with uBlock. The only machine I don't use uBlock is on Kali because I want to see the website exactly as it is being served.

[1] https://f-droid.org/packages/org.blokada.alarm/

[2] https://f-droid.org/en/packages/org.jak_linux.dns66/

replies(5): >>19208826 #>>19209399 #>>19209864 #>>19210109 #>>19214442 #
2. alias_neo ◴[] No.19208826[source]
It's interesting you've found the WireGuard experience to be "seamless".

I have a WireGuard VPN at home and experimented with always-on, on my Android phone. Unfortunately, my provider (EE, UK) throttles UDP traffic something rotten, and my normally great experience with 50/50Mb+ is severly limited to between 0 and 10 Mb making my phone almost unusable by normal standards.

Does your LTE provider not throttle this way, or have you found a way around this?

replies(4): >>19208897 #>>19209097 #>>19209166 #>>19209223 #
3. Fnoord ◴[] No.19208897[source]
On the 2 SIM cards I have (Vodafone NL and KPN NL) they don't throttle, as that's illegal, but the plans have data limits (after the limit they just disable 4G for you) and perhaps they do some QoS though. Public WiFi I mainly use Dutch railways (NS) in trains which uses T-Mobile NL. You (or well, anyone, AFAIK) cannot use that to watch on-demand movies though. But I just have that kind of material synced up locally. Same with audio (albeit through Spotify Premium). So with most of my video and audio synced up locally (and the same's true with regards to recent Nextcloud pictures) I end up with mainly traditional websites or apps or an OS/application update or so.

That being said, have you attempted to discuss the issue with them? Have you considered a non-default UDP port? Also, did you compare the usage with OpenVPN? I ran OpenVPN before, the roaming, network speed, and latency is quite terrible.

replies(2): >>19210360 #>>19210967 #
4. oarsinsync ◴[] No.19209097[source]
I'm using AnyConnect (ocserv backed) VPN, so it presents as TCP/443 and 'upgrades' to UDP/443. Or at least, in theory it's supposed to. I don't think it's actually upgrading to UDP/443 on EE 4G, but throughput speeds with or without the VPN have dropped to <3Mbps in Central London (or 35Mbps+ as soon as I go somewhere less dense) that day to day, I don't notice any impact from the VPN vs not-VPN anyway...
replies(1): >>19210952 #
5. fonosip ◴[] No.19209166[source]
A way around this could be to use split tunnel filtering VPN. Filter only DNS and route regular tcp traffic normally. We do this at https://ba.net/adblockvpn
6. dspillett ◴[] No.19209223[source]
> Unfortunately, my provider (EE, UK) throttles UDP traffic something rotten

Interesting. I've not noticed performance issues beyond those expected due to signal quality when using work's VPN over a tethered phone using EE. That VPN is using OpenVPN with a UDP transport. Then again it doesn't get used for anything with high throughput so perhaps they only throttle when it looks like bulk transfers are happening or the effect of the throttle just isn't apparent for my interactive use-cases.

> or have you found a way around this?

If they are throttling UDP for your use case then you could try a TCP based VPN (OpenVPN supports this), though there are potential issues with layering TCP inside TCP particularly on high-latency connections so this is not usually recommended. Might be worth a try to compare/contrast though.

I have a play with mine both ways when I finally get round to adding it to my current phone (mainly to use the network level ad-blocker running at home) and see if I can see a measurable difference with each variant.

replies(1): >>19211004 #
7. lostlogin ◴[] No.19209399[source]
> My Synology NAS is backup (with regards to the DNS-based Pi-Hole blocking)

Could you explain this a little further - is the Pihole also running on the Synology? Or is secondary DNS the Synology?

replies(1): >>19209665 #
8. Fnoord ◴[] No.19209665[source]
> Could you explain this a little further - is the Pihole also running on the Synology?

Yes

> Or is secondary DNS the Synology?

To be precise,

In LAN, the Synology NAS is the primary DNS (running PiHole on Docker), and the router the secondary. This is to reduce the load on the router. They're both using Quad9's servers on port 853 and using DNSSEC.

In WAN, which is only possible via WireGuard, the router is also the primary and only DNS. This is because I don't think it makes sense to add redundancy and additional latency here. If I'd need additional redundancy here, I'd also need an additional endpoint.

All outgoing DNS traffic going to port 53 (such as Google's) gets not coming from the Synology NAS gets forwarded to the router. Which is very little in my use case.

9. DFXLuna ◴[] No.19209864[source]
I've been considering setting up pihole on my home server for a while but I've always been worried that it would break a website for a non-technical family member while I wasn't there to fix it. How has your experience with website breakage been?

Also, how has your experience with wire guard been? I've been using my vpn's default client on all my individual devices out of convenience but after looking at the wire guard website I can see the appeal.

replies(2): >>19210073 #>>19210366 #
10. Fnoord ◴[] No.19210073[source]
My partner sometimes has a website which breaks, especially when she's shopping online. Which you could consider a Good Thing. For me, the website which breaks is AliExpress. Specifically, the pictures don't load. Quad9 by default also blocks porn websites. For me, that's intentional, but YMMV.

My experience with WireGuard has been fantastic. The configuration is straightforward (way less complex than OpenVPN), wg-quick(8) is ace, the macOS and Android UIs work very well. The performance is great (both throughput and latency, even of the userspace ports). You only need very minimal, basic knowledge about networking and public key cryptography.

I got some minor complaints. For example the VPN is gone on Android when the app gets updated, and there's no official Windows client (though I don't use Windows right now). The EdgeOS port is sometimes out-of-date but its made by a 3rd party. And, compared to ZeroTier (where I was coming from) I miss out on a nice website configuration, but I get back a CLI one.

11. pimeys ◴[] No.19210109[source]
I'm using Pi-Hole in a lxc-container on a Omnia Turris router, blokada for my Android phone with uBlock Origin, Firefox with uBlock Origin on every computer I own and the router encrypts all traffic with WireGuard to several different endpoints for the whole network. Having a bit too slow uplink to connect to the internal network from outside.

It starts to be really easy to setup all of this so that it just works.

replies(1): >>19213699 #
12. jeroenhd ◴[] No.19210360{3}[source]
In my experience, there are actually networks that throttle certain kinds of traffic. For example, on the WiFi on Blauwnet trains I can connect to my OpenVPN server but WireGuard just doesn't seem to make it through. I assume this is because of a combination of unknown ports + UDP + uncommon protocols.

I think the trick to bypass this kind of nonsense is to use port 443/1194/53 so QoS + firewall rules will still allow the VPN to pass through.

Haven't tested it yet, but in my experience non-default ports only make the problem worse. Most filtering/QoS services are pretty dumb and will just match source and destination ports; most firewalls will just plain ignore everything targeted at port 443 because the moment you start messing with HTTPS, you're in for a world of pain. Because WireGuard uses UDP, it's possible to listen on port 443 even if you're already hosting an HTTPS website. Sadly, you won't be able to use QUIC or HTTP3 if you do, but I don't think that's much of an issue these days.

replies(1): >>19210496 #
13. vvanders ◴[] No.19210366[source]
The only site I've seen break was Burrow ironically enough, couldn't get through the checkout flow which is pretty darn stupid for a purchased product.

Our solution is simple, we've got two SSIDs, one w/ PH, one without. They route to separate VLANs and each VLAN uses a different gateway+DHCP with pihole or standard DNS. Fixing a website that doesn't work is simple as hopping over on another SSID.

We're using UniFi gear for the wifi, they support 4 SSIDs(8 if you split 2.4/5Ghz) per access point and USG made it trivial to setup multiple gateways(now on pfSense but that's a whole nother discussion).

replies(1): >>19210469 #
14. michaelmrose ◴[] No.19210469{3}[source]
Regarding the web, browser based blocking still makes more sense. If I have 2 tabs one which works with adblock and one which does not I can simply click an icon to enable ads on the one. Changing networks seems like a pain in the neck.
replies(2): >>19210806 #>>19211871 #
15. Fnoord ◴[] No.19210496{4}[source]
> Sadly, you won't be able to use QUIC or HTTP3 if you do, but I don't think that's much of an issue these days.

Should still be possible. Xs4all had port 80 set up so that if you'd SSH to it, you'd get connected to their shell while with a browser (the normal modus operandi) you'd end up on their website. It worked very well in some of the more oppressive regimes where traffic to port 22 was blocked.

I also don't serve HTTP(S) content on my home connection. I only host WireGuard, that's part of the point.

replies(1): >>19211281 #
16. vvanders ◴[] No.19210806{4}[source]
On the flip side I've got 4 different devices across 3 operating systems, but putting it at the DNS layer it just works.

FWIW I've been running pihole for almost a year, aside from the issue with Burrow and some social media redirect links used to track(that I want to block) I've not had any other false positives.

replies(1): >>19210892 #
17. michaelmrose ◴[] No.19210892{5}[source]
Firefox + ublock origin works on mac/windows/linux/android/bsd/some more unusual OS

On almost any machine you could have save for ios.

replies(1): >>19211147 #
18. alias_neo ◴[] No.19210952{3}[source]
I'm also Central London for work, I typically get at least 30/20 in the office without VPN, and at times up to 50/30, a lot less than the 80/80 I used to get 3-4 years ago in the same spot. With WireGuard I get consistently between 0 and ~10 down. I ran some tests with the guys in WireGuard IRC which seemed to confirm that the issue is specifically EE limiting UDP whether by QoS or otherwise.
19. alias_neo ◴[] No.19210967{3}[source]
I ran some tests with the guys in WireGuard IRC which seemed to confirm that the issue is specifically EE limiting UDP whether by QoS or otherwise.

I haven't contacted EE about it or tested other VPNs yet. I want to run WireGuard for various reasons so switching to OpenVPN might confirm they issue but not solve my problems (I don't run the VPN for the reasons in the OP)

20. alias_neo ◴[] No.19211004{3}[source]
I don't run my VPN for ad-blocking (my phone is rooted), I use it for more traditional access reasons.

To copy and paste another reply I just made:

"I ran some tests with the guys in WireGuard IRC which seemed to confirm that the issue is specifically EE limiting UDP whether by QoS or otherwise."

I'll give OpenVPN a go over TCP once I have a chance to set it up and I might even consider contacting EE for info.

I would mind the fact that it limits my throughout to, at best 12Mb down, but when on WG it typically approaches 0 making my device unusable and I've already ruled out the rest of my network.

replies(1): >>19217310 #
21. vvanders ◴[] No.19211147{6}[source]
Yeah, and as much as I love Firefox, the android implementation just isn't up to the level to where I can use it as a daily driver.

I've got nothing against browser blockers, I just prefer something that works in a unified way as a network policy.

replies(1): >>19211412 #
22. alias_neo ◴[] No.19211281{5}[source]
Indeed this, I only host WireGuard and now you mention it, it'd only take me a second to switch the WireGuard port to 443 or something to test the port theory.
23. eropple ◴[] No.19211412{7}[source]
What's not up to par for you? Before I went back to iOS (where I use 1Blocker as a content blocker for Safari), Firefox for Android plus uBlock Origin did pretty well for me.
24. dfxm12 ◴[] No.19211871{4}[source]
I think pihole makes it reasonably easy to disable for some amount of time or until you switch it back on. I know "reasonable" has different meanings to different people though.

For example, I don't think changing networks is a pain in the neck. It's just 3 clicks on my android phone or 2 on Windows 10. This is compared to 3 clicks to turn off a browser based ad blocker.

replies(1): >>19212862 #
25. michaelmrose ◴[] No.19212862{5}[source]
I don't think this is a reasonable analysis.

It takes 3 clicks to disable adblocking for a particular site once ever. Click icon at top of window, click disable, click reload. This takes aprox 2 seconds once ever for each site. If you regularly use 7 sites that are annoying in this fashion you have invested 14 seconds.

By contrast lets discuss switching networks one of which uses dns to filter out ads. If you use one of these 7 sites 3 times per week you will incur a 6 second cost not just to click but to actually authenticate and start receiving data from the new net. That is 468 times in 3 years. This means that while I spent 14 seconds you spent 47 minutes.

This is on top of the 60 minutes you spent figuring out the complex solution that only works on your local network buying hardware, configuring hardware.

On net you will ultimately invest over 400x the time for a worse solution.

Using a solution that relies on a custom vpn is stupid in that it prevents you from using an actual vpn to increase your privacy.

Using custom dns even if there is an easy escape hatch to disable/enable it relatively quickly is STILL a global solution which implicitly requires turning it on and off manually and incurring a small time cost per operation.

In conclusion addressing ads via dns/routers wherein you intend to view some content that requires selectively disabling said feature is a complex and grossly ineffective solution. To avoid ads in apps don't install apps with ads. Browser addons remain the obvious choice. If your mobile platform doesn't allow someone to release such software for your platform use a different mobile platform. Namely ditch IOS for this and other reasons.

Solve fewer non problems.

replies(2): >>19213191 #>>19215623 #
26. vvanders ◴[] No.19213191{6}[source]
> If you regularly use 7 sites that are annoying in this fashion...

I've had one false positive across a year of using pi-hole, so this is a non-issue.

If you want to use an adblocker by all means go ahead, just don't go dumping all over everyone else because your usage doesn't line up with other people's.

replies(1): >>19222849 #
27. guilhas ◴[] No.19213699[source]
That router looks interesting
replies(1): >>19215606 #
28. nvr219 ◴[] No.19214442[source]
Your solution is 100 times too complicated for the people who need the most protection online.
replies(1): >>19215613 #
29. Fnoord ◴[] No.19215606{3}[source]
Aye, and the successor, currently in development, is modular [1]. I still recommend an APU2 from PC Engines as router though. Best bang for the buck, for now.

[1] https://mox.turris.cz/en/overview/

30. Fnoord ◴[] No.19215613[source]
Kinda, yes. It depends. All my partner needs is WireGuard installed and running. She doesn't need anything else installed, nor maintain it, nor even run Android. Either way, my solution isn't meant as the better option; it is meant as an alternative.
31. Fnoord ◴[] No.19215623{6}[source]
> It takes 3 clicks to disable adblocking for a particular site once ever. Click icon at top of window, click disable, click reload. This takes aprox 2 seconds once ever for each site. If you regularly use 7 sites that are annoying in this fashion you have invested 14 seconds.

Per browser/adblocker.

> If your mobile platform doesn't allow someone to release such software for your platform use a different mobile platform.

This isn't a feasible solution. Why not use DNS-based adblocking instead? It works for my Android TV...

replies(1): >>19222832 #
32. dspillett ◴[] No.19217310{4}[source]
Another possibility is that they are using naive port-based filters in their traffic shaping rules, and it thinks that any encrypted-looking packets not destined to one of a white-listed set of ports is torrent or other P2P traffic.

If you run the server side of the VPN as well as the client, you can test that possibility by trying other known ports (1194 that OpenVPN usually lives on, 433 if that isn't already directed elsewhere on the target address, ...).

replies(1): >>19261554 #
33. michaelmrose ◴[] No.19222832{7}[source]
ublock origin can sync between machines meaning once ever for an entire range of devices.
replies(1): >>19223967 #
34. michaelmrose ◴[] No.19222849{7}[source]
If you never ever need to selectively disable adblocking dns based solutions only suck in that they either work only in the lan, don't work with vpns, or require rooted devices to work. No downsides to be seen.
35. Fnoord ◴[] No.19223967{8}[source]
How does the sync work? What protocol?
replies(1): >>19228015 #
36. michaelmrose ◴[] No.19228015{9}[source]
Firefox optionally syncs a configurable list of things between installations. It uses firefox sync. All of this is opt in and encrypted so that mozilla can't read it.

https://hacks.mozilla.org/2018/11/firefox-sync-privacy/

replies(1): >>19228117 #
37. Fnoord ◴[] No.19228117{10}[source]
Cheers, I knew about Firefox Sync (I used Weave with Fennec on the N810 back in the days), I knew it syncs addons, but I did not know it syncs addon settings. I'm still unsure how it determines which settings to use.
38. alias_neo ◴[] No.19261554{5}[source]
I tested running on other known ports such as 443 and hit the same rate limit. I suspect they have some network-wide cap on UDP transfers.