Routing

IP 轉發和流量整形

  • April 19, 2012

有沒有辦法將數據包從網路 A 轉發到網路 B(就像路由器一樣)而不更改源 IP 地址(反之亦然,從網路 B 到網路 A)並且還執行流量整形規則?

該解決方案應該在 FreeBSD 中實現。

我在 FreeBSD 中搜尋了流量整形並找到了 ALTQ,但我不確定是否可以使用 ALTQ 轉發數據包transparently

如果可能的話,那麼我很可能可以使用 Squid 伺服器(用於記憶體和更重要的記錄使用者的下載/上傳)和 ALTQ(或其他東西)來管理他們的頻寬。所以我的網路架構將是:

Internet <==> SquidServer <==> TrafficshapingServer <==> LocalNetwork

但是如果 TrafficShaping 用他的 IP 地址替換數據包的 SourceIP,Squid 的日誌就變得毫無用處了。因為 Squid 不知道哪個數據包來自哪個 IP 地址(所有 Squid 看到的都是 TrafficShaping IPAddress)

當然,路由器通常不會更改源/目標 IP 地址。只有 NATting 路由器才能做到這一點。所以,不要使用 NAT,一切都會正常工作。

我不熟悉它,但我敢打賭,您所指的 TrafficShaper 主要是為了保證流量通過正確的路徑返回。否則你很可能會遇到非同步路由問題,這會導致失敗。

您可能想要研究的一件事是在 squid 伺服器上插入一個X-Forwarded-For標頭。這實際上是在代理環境中跟踪源的一種更可靠的方法,因為它將數據插入到實際數據中,而不是依賴於 IP 標頭資訊。

引用自:https://serverfault.com/questions/85542