
我想要記錄和監視通過網路中特定點的流量。因此,最終我希望透過我的網橋的所有流量都鏡像到正在偵聽發送到它的任何流量的另一個系統的 IP 位址。
我目前的設定大致是:
- 具有混雜模式監控介面設定的監控/日誌伺服器
- linux 橋接器位於我想要監控的網路點
- iptables 規則嘗試將流量鏡像到備用網關
iptables -t mangle -A PREROUTING -j TEE --gateway <monitoring ip>
iptables -t mangle -A POSTROUTING -j TEE --gateway <monitoring ip>
但到目前為止,我沒有看到任何流量通過任何介面流向監控 IP,除非我嘗試直接 ping 它(然後我可以看到網橋和監控連接埠上的流量)。
還有一個問題可能值得注意。我必須為監控連接埠的 ARP 解析添加靜態路由,因為由於某種原因它總是將管理連接埠的 MAC 作為位址。尚未確定為何網橋會在網路上沒有其他用戶端取得管理 MAC 位址時針對監控 IP 取得管理 MAC 位址。
任何建議將不勝感激,抱歉,如果我沒有提供足夠清晰的細節。
答案1
預設情況下,交換訊框不會透過 iptables 規則傳遞。若要變更此行為,您應該在橋接器上啟用 nf_call_iptables 選項(使用 ip 命令或透過 /proc 檔案系統)
ip link set dev br0 type bridge nf_call_iptables 1
若要限制監控流量,請在 iptables 規則中使用 --phys-dev 配對。