如何使用 TEE 克隆 MASQUERADE 目标的输出?

如何使用 TEE 克隆 MASQUERADE 目标的输出?

Netfilter 的扩展手册页指出:

MASQUERADE:该目标仅在nat表中有效,在POSTROUTING链中有效

问:如何克隆输出目标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,除了相当于粉碎/输出这是一个特殊的输入路线用于重新路由的钩子,所有其他等效用法碾压是一部分类型过滤器: 确实没有单独的碾压不再打字了。能够选择优先顺序可以做更多事情。

相关内容