What do I need to separate devices to its own no-internet network and still be able to communicate with within the house and outside? (Diagram provided)
Hello, I'm planning on creating a home server and getting some cameras.
I would like to have the server, cameras and all IOT devices be disconnected from the internet but still be able to access them within the house from different devices and maybe have limited access to them when outside.
Do I need a specific hardware for this? And what router would support this? I'm still in the planning phase but I'm looking for budget friendly solutions.
OpenWRT and Untangle are the most user-friendly Linux options for running on your own hardware, but most people in homelab use pfsense or opnsense which are based on FreeBSD.
This one of those questions I am overwhelmingly eqipped to answer, but only with the weird proprietary knowledge about software defined networking and microsegmentation that my job has endowed me with...
So I'll resist the urge to give you that overcomplicated answer and just say get a firewall like others have suggested.
I bought myself a mikrotik router to force myself to understand networking better. So I would really like to hear your over complicated answer that comes from professional needs. pretty please 🙂
I am most familar with HIP, but there are ways to isolate hosts so that they can only talk to what you want them to talk to in a distinctly different way than a firewall. You could have three hosts (A, B, & C) on the same subnet where A can talk to B & C, but B & C cannot talk to each other. Likewise, A and C could have access to an Internet gateway, while B does not.
So far HIP is the only protocol I have seen for microsegmentation that actually works in an intuitive way, but I suspect Wireguard could be used to the same effect with some creative engineering.
You’d put a router with firewall capabilities in place of that cloud on the right. The devices you don’t want to have internet access will be put into a different subnet than your normal home LAN on the left. You’ll then make a “Deny all” rule so that the devices on the right can’t leave their subnet, with the exception of any explicit allow rules that you make.
This, pretty much - except you can do it with one router, the internet access point/gateway router.
Set up DMZ that can only access internal network, then set up a VPN and use that to access DMZ. If you need to, you can make a pinhole for one service or another, but you shouldn't need to because they're exposed to the LAN, and the LAN is accessible via VPN.
I suppose "DMZ" isn't exactly the right term, there, because that's typically somewhat exposed externally, but.. ..same idea, just no external exposure.
If you have an AVM Fritz!Box home router you can simply create a new profile that disallows internet access and set the devices you want to "isolate" to that profile. They will be able to access the local network and be accessed by the local network just fine, but they won't have any outgoing (or incoming) connectivity.
I was attempting this, but TP link doesnt actually care to tag their different SSIDs to vlans and don't provide the configuration to, I only found that their guest may be tagged on some models. Just a word of caution, I think I'll have to use IP range filters to achieve this
Does the router creates the VLAN or the access points?
Also to achieve this I have to gave wiregaurd on a device connected to the internet right? I can't install it on my home server if I wanted it disconnected from the internet, correct?
I know vlans is the answer, but I don't know how to set it up. I really need to do this with my own network some day. There must be an OPNsense guide for this, I know it…
There's already some good answers here, just wanted to share my "solution"
I had a similar problem where I wanted some specific device to not have internet connection but still be on LAN. My lazy ass solution was to manually set the network settings with default gateway set to 0.0.0.0. With IPv6 it would be [::].
But this is not meant to be an advice. You may not even be able to manually set network settings on some of those IoT devices, and removing default gateway from DHCP server is not exactly an elegant solution. Perhaps you could set it to serve different settings based on MAC, but then the other solutions are perhaps simpler and better in some other way.
As I said, this is not an advice.
Put them all behind a firewall and configure it to block outgoing connections. Then forward the ports you need to the internal machines. Then only something connecting from the outside can talk to them. They won’t be able to initiate a connection.
(Keep in mind, this would also block things like DNS lookups, in case that’s important to you.)
I havent even bothered with it yet but my router has individual settings for internet access for devices. You can even set them in homeassistant. A other idea might be pihole since it works as dns in my home. But that also makes a lot of it absurd because the phone home function on a lot of these is blocked by pihole anyway.
My router's admin console, OOTB, gives me the option to either deny individual devices (based on MAC, etc.) access to the external internet, or create a second (or third, etc.) WiFi network that, itself, is not connected to the outside.
If you want an OoTB solution you can get a Cloud Gateway from Ubiquiti (the ultra is like $200 I think) and use its vlan feature though you may need another switch.
Otherwise, if you've got unlimited time to tinker, proxmox or pfsense are ok options.
I personally run the UDM SE and I highly recommend this approach if you don't want to roll it yourself.