如何使用 TEE 克隆 MASQUERADE 目標的輸出?

如何使用 TEE 克隆 MASQUERADE 目標的輸出?

Netfilter 的擴充手冊頁指出:

MASQUERADE:此目標僅在nat表中有效,在POSTROUTING鏈中有效

Q:如何克隆輸出目標MASQUERADETEE目標?

如果您查看netfilter/iptables下圖,您會注意到這nat.POSTROUTING是封包發送到出站介面之前要評估的最後一個鏈。沒有raw.POSTROUTING鏈條,...還是有?

在此輸入影像描述 另請參閱

PS當資料流入時,在and介面以相同的順序處理和表格的
原理是什麼?manglenatoutboundinbound相反的方向透過這些介面(出口和入口)?

答案1

據我所知,由於不可能iptables規則執行後nat/後路由,這是由提供的最後一個鉤子iptables,無法使用iptables捕獲 NAT 後的資料包。


但這在使用時是可能的nftables,自從鉤子優先權是使用者定義的NFFT重複語句是直接替換iptables'球座。混合是可以的nftablesiptables只要它們不都進行 NAT(nat 資源很特殊,不能在它們之間正確共享)iptablesnftables)。使用nftables 上的 iptables的版本iptables也會起作用(刷新規則集時應小心),當然僅使用NFFT因為一切都會有效。

這是現成的NFFT具有 NATed LAN 的路由器上的規則集乙太網路1其 WAN 端位於以太坊2,將副本傳送到 LAN 端的 192.168.0.3。就像描述的那樣OP的其他問題。放入某個名為forwireshark.nft並使用以下命令“加載” nft -f forwireshark.nft

table ip forwireshark {
        chain postnat {
                type filter hook postrouting priority 250; policy accept;
                oif eth2 counter dup to 192.168.0.3 device eth1
        }
}

這裡重要的是值 250 被選為高於iptables'NF_IP_PRI_NAT_SRC(100)

以下是當 ping 主機ping -c1 8.8.8.8在一段時間不活動後執行的操作時,通常會收到wireshark主機的資訊(請注意來自「錯誤」IP的奇怪ARP 請求,在某些系統上預設情況下可能不會接受該請求):

root@ns-wireshark:~# tcpdump -e -n -s0 -p -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:06:03.074142 82:01:54:27:4d:d7 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.1 tell 192.168.0.2, length 28
21:06:03.074301 9a:80:fb:e6:6a:0a > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.3 tell 140.82.118.4, length 28
21:06:03.074343 7e:0a:6c:12:00:61 > 9a:80:fb:e6:6a:0a, ethertype ARP (0x0806), length 42: Reply 192.168.0.3 is-at 7e:0a:6c:12:00:61, length 28
21:06:03.074387 9a:80:fb:e6:6a:0a > 7e:0a:6c:12:00:61, ethertype IPv4 (0x0800), length 98: 140.82.118.4 > 8.8.8.8: ICMP echo request, id 1633, seq 1, length 64

我不知道順序的理由重整/後期佈線nat/後路由。無論如何,這是一部分iptables' 的局限性,因為在nftables,除了相當於粉碎/輸出這是一個特殊的輸入路線用於重新路由的鉤子,所有其他等效用法碾壓是一部分類型過濾器: 確實沒有單獨的碾壓不再打字了。能夠選擇優先順序可以做更多的事情。

相關內容