After having tried a lot of solutions from the internet.
I do it in this way: Block all internet outgoing bandwidth, but only allow it for process with specific gid, for example 'haveinternet' in below example.
Code:
sudo groupadd haveinternet
usermod -a -G haveinternet username
Code:
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m owner --gid-owner haveinternet -j ACCEPT
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp --dport 53 -j ACCEPT
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP
sudo firewall-cmd --reload
And then have a test:
Code:
sg haveinternet -c 'id'
sg haveinternet -c 'firefox'
sg haveinternet -c 'ping google.com'
Welcome everyone's comments.
Bookmarks