I have a use case where I want to control (and audit) all network access by applications run on a Ubuntu desktop PC. Squid looked a great start - I've installed and configured it. Where web browsers are configured to use the proxy on localhost:3128, I get the auditing and access control I'm looking for.
The snag is that any application that is not configured to exclusively use localhost:3128 as proxy can still communicate as normal with both my LAN and the internet.
I've found various 'how-to' documents detailing how to configure hosts with multiple Ethernet cards to act as gateways - and to use Squid as a mandatory proxy... but my configuration is subtly different. I want to be confident that squid is the only application that communicates over the network. Is there a straightforward way to block all network access (inbound, and outbound - even including DNS - etc.) except via squid, on a single host with one Ethernet connection?