Edit: Big thanks to everybody who shared their advice! :)
I'm very pleasantly surprised and will definitely explore all the options you guys provided, such as getting an additional router or configuring Tailscale. Again, big thanks to everyone!
Hi all, I've recently moved and now my ISP doesn't allow port forwarding for wired connections (wifi only), and my landlord does not allow changing ISPs. Now my home server is practically useless which makes me very sad.
Is there any easy way to still access device ports without port forwarding or buying a wifi card/dongle is my safest bet?
I knew they provided some "perks" to incentivize using their own router, like free support and compatibility with other junk they push to customers, but actively forcing users should be forbidden.
Yeah I have AT&T and had to set up IP passthrough on their router/gateway box. Basically it makes it so the ISP provided router acts as if it isn't there and my router gets to do whatever it wants.
If it's fiber, you don't need the modem. You'll still need it once every few months.
Things you'll need:
your own router
cheap 4 port switch (1gig pref)
Setup: Connect gpon (the little fiber converter box they installed on the wall near modem) wan to any port on 4port switch. Then from switch to gpon port of modem (usually red or green port). Make sure modem fully syncs. Once this happens, you can move the cable from the modem to your own routers wan port. Done! Allow router a few moments to sync as well.
Now, every once in a while they'll send a line refresh signal that will break this, or if a power outage occurs. In such case, you'll just plug back in their modem, move cable back to gpon port of modem, wait for sync. Move cable back to router.
Edit: (after thought) put all this equipment on a battery backup and you'll still have Internet during short power outages.
Canada here, ISP provides router. You can set in Bridge Mode to avoid using their router, but then you are supplying your own equipment, whioe running through their box.
I'm in US. My ISP Xfinity decided their users are too stupid to use router settings so they purged port forwarding settings from the router panel altogether. Now you have to use their mobile application which doesn't allow you to make port forwarding rules for a specific IP (because again, they think their user is an idiot that can't figure out IP numbers), instead it just gives you a list of devices and you have to select one to create a port forwarding rule. Wired devices are not on that list.
What you could do, is set your phone with a temporary static IP (like, manually set on the device if the router doesn't have static leases). Then port forward to your phone as you would for the server. Then, set the phone back to DHCP, and set the server as the same static IP you used.
Assuming the router isn't smart enough to try to follow your phone's IP, you'll effectively have forwarded for the server.
It may also do it based on DHCP provided names, rather than WiFi names. In that case, you should make sure the server uses DHCP and advertises a valid name. If it's already got a static IP, that would explain why it doesn't show up on the UI.
I'm surprised how many people suggest using a Cloudflare tunnel given one of the main points of self-hosting is to avoid using centralized systems.
If it's for your own personal use and regular internet users don't need to be able to access it, just use a VPN. Way more secure. Wireguard is great. I like Tailscale, which uses Wireguard but makes it very easy to configure a mesh network with it.
You should be able to place the Xfinity modem into bridge mode and use your own router. Alternatively you can buy your own cable modem and return the rented one to Xfinity. Just make sure the modem you buy is DOCSIS 3.1 or 4.0 since some stores are still selling older DOCSIS 3.0 modems at full price.
Cloudflare Tunnels also work really well and turnkey for CGNAT restricted networks though. I used to have and love a simple WireGuard setup but one day the ISP can just change their structure and then you need some kind of end run around those. Tailscale works but it’s also not really a pure selfhosted solution either. Eventually you need some kind of offsite relationship afaik whether it’s a VPS or cloudflare. And cloudflare Just Works.
Decent ISPs that use CGNAT should also have IPv6 available, which doesn't use NAT at all. In the case of CGNAT, I'd really recommend using IPv6 rather than hacking around CGNAT.
You can self-host Tailscale by using the open-source Headscale project.
It's a reverse proxy server that you install in both your server and a VM in the cloud, and it tunnels your server over the VM, like Cloudfare solution.
Look into cloudflare tunnels or tailscale funnel. Both let the wider public access a private server without port forwarding. If you want it private only, normal tailscale does that too, you might have some trouble if you want to use a custom domain though, since it's private.
CloudFlare tunnels are dead simple, BUT their terms of service say you can't stream video with them (so not for Plex). I hear people stream video with them anyway and they haven't gotten in trouble yet, for what it's worth.
I'm in US. My ISP Xfinity provides their own router and has decided their users are too stupid to use router settings so they purged port forwarding settings from the router firmware altogether. Now you have to use their mobile application which doesn't allow you to make port forwarding rules for a specific IP (because again, they think their user is an idiot that can't figure out IP numbers), instead it just gives you a list of devices and you have to select one to create a port forwarding rule. Wired devices are not on that list.
I'm pretty sure you can make them set the modem/router to bridge mode and run your own router. If it's cable, you can also buy your own non-router cable modem, then use whatever router you like behind it.
If the ISP allows port forwarding for wireless connections (as you said in your post) you just get yourself a WiFi router that can work in bridge mode.
Then you forward your ports (in the ISP router) to your bridge router and then you log into your bridge router and forward ports to your wired devices.
This assumes that the WiFi connection on the bridge router acts as WAN and performs NAT for its wired devices.
If the bridge router is really just a bridge then you should only have to forward ports on the ISP router.
Not what you're asking but since it's been covered well:
Buy your own cable modem and put your own firewall behind it. Not only will this save you money in the long run, you'll also have no issues with things like port forwarding. I use Comcast/Xfinity with a docsis3.1 cable modem + a decent firewall and it's a good way to go.
you cannot use a docsis cable modem behind an already 'running' connection, you need a cable to connect it to
also you need an isp that allows your modem to connect to (in docsis authentication is usually done via the mac address of the modem)
(cable is not an ethernet cable in this whole context but a specific type of 'tv' cable)
i'm not sure how you think 'buying a cable modem' would solve ops problems.
Mine did this to me few weeks back.
They can kiss my...
Read here. Free oracle VPS and wireguard. With the installer super easy!
Read here
https://lemmy.world/post/8121307
I don’t recommend Oracle at all if you value your sanity. Paying a couple bucks a month for DigitalOcean or Vultr (or probably almost anything else) is so worth it compared to dealing with that monstrosity
Also, I’ve experienced this, and I’ve heard reports of others having the same issue; Oracle might just randomly delete/disable your VPS
DigitalOcean and Vultr are relatively expensive... You can find plenty of VPS services for $15-30/year that'd be sufficient for this use case. LowEndTalk is a good resource for that.
Another option is hoppy wireguard connection to get you a static IP. Good for not having to setup a vps and multi users dobr have to connect them to a vpn since it would make the services public.