Any way to block all DNS queries and whitelist some? This goes beyond the scope of URL filtering.
Say if I was an unfortunate Adobe user who required Windows. So, I only want to run Windows as a production machine and keep it isolated from the Internet as much as I can (and avoid MS and their shady updates along with it). But to use those shady Adobe apps, I am required to have a consistent Internet connection to periodically validate my shady ‘subscription’. So, I need to whitelist some of Adobe’s domains to make it work.
How would I make this work with IPfire? I am curious to see if this is possible.
EDIT:
I would also like to point out that I am doing this with two virtual machines with a NAT network in virtual box as a test.
In my internal network I use Pi-hole IP for the clients and than let Pi-hole use IP-fire as dns.
Than I can blacklist or whitelist what and when I need it.
Well, for now, I am just doing this all with two virtual machines that are configured with a NAT network. IPFire is the DHCP for the client to get an IP address. But I use regular NAT for the IPfire VM to get to the Internet.
So, one VM is IPfire and the other being my Windows client where I want to block literally everything except for Adobe’s shady stuff.
Something like.
Rule 1
Source “pc” NAT destination “Adobe ip” could be network group.
Rule 2
Source “pc” NAT destination " Any " drop
Could add ports or service group to Rule 1 @jon has some other post that use firewall rules that are more sophisticated.
Using RPZ and ASN. Which is very cool.
But not through the WUI.
I’d much rather avoid specifying a single IP address. Mainly because IP addresses do change. The apps themselves would use DNS as a means to validate with Adobe’s servers most likely.
That’s where what @jon did above is so amazing.
You could allow traffic to a specific Domain.
And block everything else from that client.
It’s just not built-in.
As I said, the machine is only going to be a production machine. So, massive overkill is what I want. Don’t worry. This is just something I’m testing in a virtual machine. Because maybe I could use a Raspberry Pi later on for a single machine to keep the machine completely isolated and then only allow certain things to be accessible.
In this test case, I just need it to call home to Adobe’s crap servers to validate a ‘subscription’ nothing else. Or, I could use something else that I want to whitelist.