I think I want to use something like NPM, pfsense, blocky, unbound, authentik, fail2ban, and wireguard. either divided between free tier cloud hosts like GCP and oracle, and my VPS for less critical stuff like NAS access, or just put it all on the VPS if that’s easier. I’ve done an absolute boatload of research to try and educate myself, which I’ve not included here because this would make this already lengthy post even longer. That said I’m still very noobish with all of this and appreciate any advice!
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Did you ask your ISP to remove CGNAT? It worked for me
No, they’re extremely closed up. You have to buy an enterprise package for that
Same here, for my ISP it’s no extra charge, they just ask you why you’re opting out
I setup a VPN on Oracle free tier that I use to access my server. It can be difficult to sign up and the ARM instances are hard to get though.
My concern with using any cloud host would be streaming 4k plex videos over it. I have a feeling that would end up being pretty costly. I’d prefer this whole set up over the cloud but I chose VPS because it allows TBs of bandwidth included in the price which should be more than sufficient.
Oracle give 10TB of outbound bandwidth per month for free. Inbound bandwidth is free.
Oh wait, from my research, with oracle free tier, the bandwidth isn’t the issue, but the speed. It’s limited to 50mbps. I think that limits to like, 1080p no? Would be awesome if it worked for 4k
The ARM instances are gigabit. The AMD micro instances are 50 mbps. Most streaming services are in the 15-30 mbps range for 4K video.
Oh shit O_o. That could easily do everything I need my VPS to do but better. That sounds ideal, I’ll have to look into that.
For the ARM instances they’re a gigabit per OCPU, which you can get 4 of for free (assuming you’re lucky enough with availability), so you can theoretically get 4Gbps for free.
I got set up with one today! Huge thanks for the tip. I would’ve overlooked it because I didn’t know about the ampere instances. Ridiculously powerful. And the physical server is like, 4 hours from me.
I’m pretty sure I used this setup: https://golb.hplar.ch/2019/01/expose-server-vpn.html
VPS running wireguard server, proxies all traffic to/from my home server. Home server URL DNS records point to VPS static IP. Certbot runs with --no-checks flag to obtain letsencrypt cert.
Right on, thanks, I’m gonna give this a shot!
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
10 acronyms in this thread; the most compressed thread commented on today has 3 acronyms.
[Thread #220 for this sub, first seen 17th Oct 2023, 06:05] [FAQ] [Full list] [Contact] [Source code]
Just a few thoughts:
For the VPS I chose, the bandwidth limit is 2tb. That’s definitely more than enough! Unless there’s another way they can limit traffic aside from that.
Can you explain that further? Where in the chain would I put this? I’m guessing basically every device I’d want to communicate with the VPS would need an ssh key right? And I could set it up so only particular requests require ssh keys, in case I wanted my homepage to be accessible by anyone?
Thanks for the advice btw!
I think ideally this would all run on a cloud host. But would it be possible to stream plex without incurring massive charges?
You can skip fail2ban for SSH. I missed the important bit. Duh…
Never used Plex but had a good experience with Jellyfin.
What’s your setup for this? Can you give me basic bandwidth you use and charges?
Jellyfin is completely free. I only used it shortly in my LAN environment so I can’t give you any numbers. It should roughly be in the same ballpark as plex though.
ah, I was referring to streaming your media through a cloud hosting service.
I had a similar problem with my ISP’s CGNAT, and Zero-Tier One is what got around it for me.
is that just the free tier? I’ll have to test this out!
edit: no luck with zero tier. Has the same issue as tailscale but i don’t think they have relays in case it can’t make a connection. It’s just timing out.
Ipv6
Cgnats don’t exist in ipv6. Nat doesn’t exist in ipv6
What also could happen is your isp blocking some ports from outside its network as a security approach, but normally you can ask to free a range of port from the firewall.
My ISP doesn’t support IPv6.
CGNAT but no IPv6? Despicable
It’s Mexico. The ISPs incredibly worthless and corrupt
My condolences :(
Honestly, I cannt believe it.
Double or triple check it. The problem these days is to get a semifucntianl ipv4, they are expensive, scarce and full of problems.
Ipv6 on the contrary is abundant and all enterprise equipment fully support it since decades.
My isp doesn’t support ipv6 in my area (Verizon). They claim to be in the process of rolling it out, but it’s been years that they have been saying that, so idk. At least they don’t use CGNAT, so it isn’t a huge deal for me after I set up dynamic DNS.
I can totally believe it. Here in the Netherlands we still have providers that haven’t implemented IPv6. We’ve had one (Delta) finally starting their IPv6 rollout to fiber customers this year, not sure if they already finished it. Some providers are just slow AF unfortunately.
Truly incredible, shame on the.
Question then.
Are you experimenting some kind of connections problems?
I ask because I know some multiplayer games make a heavy use of the ipv6. Steam have some servers that are not reachable via ipv4, and don’t speak about vps…
Can’t answer that I’m afraid. My current provider fully supports IPv6 (and assigns a /48 😁 ), as did their predecessor, so my network has been dual-stack for years.
NAT certainly exists in IPV6, I use it on my home network for my nginx proxy VM. I cannot, for the life of me, figure out how to change the IP on the host so I do NAT on my router. 🤷♂️
This is not the Nat functionality as people associated with ipv4, and certainly it is not showing the drawback of allowing the communication only when the NATed client started the communication.
Even if they are alike they are not the same.
I reaffirm myself here. It is possible to have full ipv6 communication and providers do not have cgnats. It is your easiest and most uncomplicated solution with almost nothing to install to make it work.
And in addition, I have to say that I don’t see any benefit in using such functionality at home. If someone can illustrate me a use case I would be thankful
I use NAT on IPv6 so that I control which IP address is exposed. I’ve got /60 and all of my home devices are assigned unique IPs. What I like to do is set up a V6 address that uses the same numbers as my static V4 address and NAT that to my NGINX box, basically using the router assigned V6 as a “local” address.
Take wiht a bit (or a lot) of salt what I am gonna say. Because undoubtedly I am. Missing something here.
But if what you a already say is true probably you are not restricting anything. The recommended way to do so is with a firewall rule (probably in your router).
You are extending the subnet definition beyond the 16 bits. This can create problems and I doubt that your router will block anything if something crafted is received from Internet.
But of course, being the extremely big address space your are probably safe.
I any case, with a firewall rule in your router allowing only the proxy to go receive connections, you should be good and more standard conform
I already do use firewall rules, this is just an extra step I take to segment things which also serves to make it a bit easier for me to remember certain addresses. It is entirely unnecessary, but I like it this way.
Let’s say I have a static IPv4: 72.235.228.162
And IPv6 block: 2660:1100:45f0:c17:: /60
What I do is set up a Virtual IP in OPNSense and give it the address 2660:1100:45f0:c171:72:235:228:162
Then I set up the firewall rules for that IP.
Then I NAT 1:1 that IP to the NGINX VM’s IP and now the Internet doesn’t need to know about it.
Tailscale doesn’t work? Because that’s what I use to get around my isp cgnat
Nope, tailscale ping can’t establish a direct connection and trying to access the NAS is pretty much impossible.
Are you sure? Did you want to troubleshoot this or did you just want to give up?
I’ve got two synology nas connected to each other directly for hyper backup replications at clients because both units are on cgnat isps and there’s no public IP. And it just works.
Of course I didn’t just give up. I’d rather a free option than a paid one but thems the breaks. Good for you though, sounds like it just worked.
After I followed the instructions and having 15 years of system administration experience. Which I was willing to help but I guess you’d rather quip.
From my perspective unless there’s something that you’ve not yet disclosed, if wireguard can get to the public domain, like a vps, then tailscale would work. Since it’s mechanically doing the same thing, being wireguard with a gui and a vps hosted by tailscale.
If your ISP however is blocking ports and destinations maybe there are factors in play, usually ones that can be overcome. But your answer is to pay for mechanically the same thing. Which is fine, but I suspect there’s a knowledge gap.
Alright, thanks for the help!