![对家庭网络上所有设备的数据流进行精细控制,并由 ISP 强制实施带宽限制](https://linux22.com/image/1276590/%E5%AF%B9%E5%AE%B6%E5%BA%AD%E7%BD%91%E7%BB%9C%E4%B8%8A%E6%89%80%E6%9C%89%E8%AE%BE%E5%A4%87%E7%9A%84%E6%95%B0%E6%8D%AE%E6%B5%81%E8%BF%9B%E8%A1%8C%E7%B2%BE%E7%BB%86%E6%8E%A7%E5%88%B6%EF%BC%8C%E5%B9%B6%E7%94%B1%20ISP%20%E5%BC%BA%E5%88%B6%E5%AE%9E%E6%96%BD%E5%B8%A6%E5%AE%BD%E9%99%90%E5%88%B6.png)
互联网服务提供商正在逐渐削弱网络中立性并实施带宽限制。大多数用户需要相信其 ISP 会报告准确的带宽消耗率,而且大多数用户无法控制其家庭网络上许多设备产生的流量。
我希望对离开和进入我的网络的数据进行精细的控制,查看有关尝试流量的报告,创建全面的日志,并轻松配置服务以允许或拒绝可接受的流量或设备类型。
我希望能够在我的网络上运行 Ubuntu 服务器的虚拟机上配置此服务或应用程序。
例如,我想识别 PS3、Xbox、Wii 在尝试下载更新时生成的连接和数据类型,根据我的计划拒绝或允许,但始终允许在线游戏流量。我还想阻止特定网络聊天到某些广告服务器或其他 CDN。我见过 Firefox 插件可以重写 html 以避免下载庞大的视频广告。如果能为所有设备做到这一点就太棒了。
很多年前,我尝试过 Ubuntu 上的 IP 表、防火墙和代理。但是,我要么学得不够,要么就是不记得它们中的任何一个单独为这个迫在眉睫的问题提供了一个很好的全面解决方案。它们尤其不适合普通用户。我想听听大家对目前情况的一些建议。我应该将这三种方法结合起来使用,还是有更好或更简单的解决方案?
答案1
除非有记录,否则您将必须嗅探大量流量来确定每个设备的活动/端口/协议,尤其是游戏系统等“黑匣子”设备。
这将是一份全职工作——一次更新就可能完全改变网络活动模式,从而破坏你的系统。这是一份全职工作。相信我,我每个月要花很多时间监控和调整规则、调整警报等,而这些工作针对的是一个只有六台主机的安全数据中心。
答案2
设置好盒子后,您还可以使用 Etherape 来直观地显示流量和连接端点。您还可以按主机和协议进行过滤。http://etherape.sourceforge.net/
答案3
[ local network/wireless/hubs/PS3/etc ]---[firewall]--->to internet
将一台具有两个接口的 Linux 主机作为本地网络和互联网之间的防火墙。然后,您就可以完全监控和控制所有流量。(是的,两个接口不是绝对必要的,但设置和考虑起来要简单得多)。
您将需要使用 iptables 来控制(允许、拒绝)流量,并且您还需要使用 iptables 将所有本地流量伪装(NAT)到您的 ISP 为防火墙提供的(可能)单个 IP 地址。防火墙还需要打开 IP 转发。
pcap 和 linux 接口统计信息将成为您监控正在发生的事情的工具。MRTG 是一款出色的工具,可以生成漂亮的带宽使用图表,但如果您想知道谁在生成流量,使用 tcpdump 或 pcap 统计信息聚合工具之一则是最佳选择。
有大量教程教你如何设置这样的设置。我应该提供所有必要的关键字来帮助你。