Closed sun363587351 closed 2 days ago
你的意思是在INPUT链里,-j到了自定义的INPUT_direct链,然后在INPUT_direct链中产生了丢包,然后没有跟踪到INPUT_direct这个链吗?
你的意思是在INPUT链里,-j到了自定义的INPUT_direct链,然后在INPUT_direct链中产生了丢包,然后没有跟踪到INPUT_direct这个链吗?
是的 就是这种自定义链 在k8s环境大量存在
请问此issue有考虑吗
有考虑的。。。最近有点忙,还要再等一等
请问相关优化好久考虑一下
你好,我看了下内核代码,这块无法实现。内核是在ipt_do_table或者nft_do_chain来处理链上的规则的。如果存在规则jump到自定义的chain,那么内核还是会在当前函数中进行处理。而nettrace是通过跟踪内核函数来实现的,因此对于nettrace来说,它看不到自定义链的处理过程,因此无法进行跟踪。
好的 感谢 明白了
你可以使用系统自带的功能来跟踪报文在iptables中的处理过程,用法为:
iptables -t raw -I PREROUTING -p icmp -j TRACE
nft monitor
在进行数据包追踪过程发现,可以列出原始的默认的链表信息,但是对于自定义的链表丢弃数据包的时候没有了详细信息,例如可以追踪到INPUT链,但是时间丢弃数据包是在INPUT链下面的INPUT_direct链,输出没有显示到INPUT_direct.