![如何通过 3G/4G/Tethering 仅路由部分网络流量?](https://linux22.com/image/1452184/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%203G%2F4G%2FTethering%20%E4%BB%85%E8%B7%AF%E7%94%B1%E9%83%A8%E5%88%86%E7%BD%91%E7%BB%9C%E6%B5%81%E9%87%8F%EF%BC%9F.png)
最近我一直处于茫茫无边的境地,我唯一的选择就是使用我的 3G/LTE 加密狗或将手机绑定。问题是后台任务和更新的数量以及所有消耗我带宽的东西。所以,我在想是否有办法防止这种情况发生。我想到的一个想法是设置某种代理/本地路由服务器,我可以在真正需要使用的应用程序(如浏览器)中配置它。为了其他应用程序,我似乎处于离线状态。
我不想考虑终止后台任务和/或停止自动更新,因为每次需要时这样做会很麻烦。
有可能实现这样的事吗?还有其他选择吗?
编辑:我正在使用 xubuntu(基于 xfce 的 ubuntu 版本)
答案1
我建议使用(软件)防火墙,只允许某些传出流量。根据使用的防火墙,您可以允许某些应用程序或 IP 地址。您使用的是哪个发行版?
答案2
如果这是一台 Windows 机器,那么有一个很好的方法可以在几分钟内完成此操作,因为无需额外软件即可进行可执行级别的阻止。
您需要将 Windows 防火墙设置为高级模式。首先禁用所有现有的出站规则。进入出站规则并创建一个新的基于程序的规则。选择所有程序,然后在下一页上选择阻止。然后为您的浏览器制定允许流量的规则。您也可以通过端口执行此操作,例如仅允许端口 80、8080、443 等上的出站流量。
编辑:对于 Linux,除非您想添加一些我不知道的包,否则您将需要基于端口的包。如下所示:
iptables -A OUTPUT -m state –state ESTABLISHED -j ACCEPT
iptables -A OUTPUT --dport 80 -j ACCEPT
iptables -A OUTPUT --dport 8080 -j ACCEPT
iptables -A OUTPUT --dport 443 -j ACCEPT
<and so on>
iptables -A OUTPUT -j REJECT