为什么 ufw 中不能允许特定软件(如 Firefox)使用互联网,但拒绝使用相同端口的其他软件(链接 Chrome)?Windows 中有此功能,为什么 ufw 没有?
答案1
您可以使用apparmor
它来拒绝某些应用程序的网络流量。首先您必须安装apparmor
并apparmor-utils
..
sudo apt-get install apparmor*
之后,您可以为您的应用程序生成配置文件...
sudo aa-genprof /usr/bin/google-chrome
下一步是将Networking
配置文件中的一部分更改为:
sudo nano /etc/apparmor.d/usr.bin.chromium-browser
audit deny network,
audit deny network inet stream,
deny network inet6 stream,
deny @{PROC}/[0-9]*/net/if_inet6 r,
deny @{PROC}/[0-9]*/net/ipv6_route r,
deny capability net_raw,
接下来,使用 apparmor_parser 检查配置并重新加载配置
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser
将此应用程序的模式从 更改complain
为enforce
即开启apparmor
。
sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser
第二种解决方案更简单,但并不完全符合您的要求
在网上冲浪我发现涓涓细流. 精致轻巧的应用程序带宽控制工具
安装它们
sudo apt-get install trickle
使用非常简单
trickle -d 1 firefox
此命令将允许firefox
以 1 kb/s 的速度下载
或者你可以添加trickle
到午餐器
您还可以为/etc/trickled.conf
每个服务创建永久控制。不针对带宽,而是针对流量优先级