this post was submitted on 11 Nov 2023
104 points (92.6% liked)

Selfhosted

39257 readers
195 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
104
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
 

I'm connected via a 4G modem. Got this setup about 3 years ago. In the beginning it was enough to look for the public IP (what's my IP). The modem showed some sort of private ip in the ui. I'm running stuff at home (Homeassistant, Gitea,) and bought a domain and pointed it to my home IP via Cloudflare. After some time I've noticed my modem shows the public IP also internally. For about 2 years now it ran flawlessly, the IP changed from time to time, but not really more than once in several weeks. For about a week all stopped working and the modem shows IP 100.xxxx and outside 85.something I guess I'm behind NAT now. Normal port forwarding on the modem is useless now. Is it possible to open the ports via UPNP? I've tried via miniupnp from my Ubuntu server, but it just throws an error.

upnpc -a ifconfig enp1s0| grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1 22 22 TCP

Can I use this to somehow open the ports via UPNP on my modem and bypass the blocking? I can't even OpenVPN to my modem anymore.

EDIT: i also run AdguardHome, that I use as Private DNS on my Android phone

UPDATE: everything except Adguard Home used as Private DND on my Android works! I've used this: https://github.com/mochman/Bypass_CGNAT/wiki/Oracle-Cloud-(Automatic-Installer-Script) - free Oracle VPS + automated well described script. Even HTTPS works fine!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 10 months ago (2 children)

How does the data throughput compare to cloudflare or wireguard?

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago)

I'm the grandparent commenter, not the parent commenter, but for my very limited use, it's not noticeable, but I'm also typically just giving a remote machine access to a local web service. I'm not trying to tunnel anything bulk (or where latency is critical, which I'd think might be a larger issue).

The one thing I can say, though, without digging up numbers: ssh is fundamentally TCP-based. It forces ordering on anything it transports. While there are ways to cram UDP through an SSH tunnel, that's gonna impose an unwanted constraint. if you want to provide access to anything that natively runs on UDP, I'd probably look into a UDP-based VPN -- like Wireguard -- that doesn't do that.

[–] [email protected] 2 points 10 months ago

Haven't done any comparisons, but I'm using this in cases where my throughput isn't too important. I can stream my webcam over it in HD, establish an rdp connection, ssh back through, and control web interfaces like octoprint. It's acceptable.

The big advantage is that a $2/month vps gets a static IP, therefore I don't have to worry about a VPN provider changing the IP or blocking ports.

Tunneling an encrypted connection through an encrypted connection is pretty much always a bad idea but when you're evading CGnat or other network blocks, sometimes it's the best we can conjure up on a whim.