![使用 Linux 仅在现有网络上执行 QOS](https://linux22.com/image/615185/%E4%BD%BF%E7%94%A8%20Linux%20%E4%BB%85%E5%9C%A8%E7%8E%B0%E6%9C%89%E7%BD%91%E7%BB%9C%E4%B8%8A%E6%89%A7%E8%A1%8C%20QOS.png)
我有一个专有的 Web 过滤设备,它也可以用作 NAT 路由器。它的一个接口有公共 IP,另一个接口有私有 IP。所有本地客户端都连接到具有私有 IP 的接口,并通过 DHCP 获取 IP 地址。我不知道如何在 Web 过滤路由器上执行 QOS。因此,我想添加一个可以执行 QOS 的 Linux 机器。同时,我想保留 Web 过滤设备。实现此目的的唯一可能方法是进行双重 NAT:我将 Linux 机器的一个接口连接到 Web 过滤设备的 LAN 接口。并且我所有的本地客户端都连接到 Linux 机器的第二个接口。所以我的问题是,双重 NAT 是否有效?或者是否有其他设置可以实现此目的?
答案1
我认为双重 NAT 效率不高,而且你可以使用这个技巧。假设你的 Web 过滤设备的本地 IP 是 192.168.1.1,并且该 IP 是你客户端上的默认网关。你可以将其更改为 192.168.1.254,并将 192.168.1.1 设置为你的 Linux 机器。
在 Linux 机器上,您只需将 192.168.1.254 设置为默认网关。因此,Linux 机器上根本不需要 NAT。您可以根据需要应用 QOS 策略,而无需对客户端进行任何更改。
原样
local_clients(192.168.1.0/24) <-----> (192.168.1.1)web filtering device <-----> ISP
就像
local_clients(192.168.1.0/24) <-----> (192.168.1.1) linux box(192.168.2.1) <---->(192.168.2.2) web filtering device <-----> ISP
在 Linux 上,如果你的网络设备支持 8021.q,你需要 2 个网卡,或者你可以使用 VLAN