最近,我遇到了限制Internet访问到特定程序的问题。 有没有人可以推荐一个好的方法,而不使用任何特定的软件?
对我来说,解决办法恰到好处。
groupadd no-internet
grep no-internet /etc/group
useradd -g no-internet username
注意:如果你修改已经存在的用户,你应该运行: usermod -a -G no-internet userName
检查: sudo groups userName
nano /home/username/.local/bin/no-internet
chmod 755 /home/username/.local/bin/no-internet
#!/bin/bash
sg no-internet "$@"
iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
注意:不要忘记将更改永久化,所以重新启动后会自动应用 。 这样做取决于你的Linux发行版。
4.检查它,例如在Firefox上运行:
no-internet "firefox"
如果您想要例外,并允许程序访问本地networking :
iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
注:在产卵的情况下,将保持规则。 例如,如果您运行一个没有互联网规则的程序,该程序将打开浏览器窗口,但规则将被应用。