TGTGInsighttelegram intelligenceLIVE / telegram public index
Post content
Post content
我感觉这类 “bug” 根因是内核这些功能才一开始没考虑到现代 SDN 的玩法。 比如 skb_scrub 在 5.10 还无条件在 veth_xmit 的时候清空 mark,这是没考虑在 bpf 时代有人会把一对 veth 放在同一 netns。在史前做这种事毫无意义。 比如 iptables nat POSTROUTING 只对 skb 执行一次,在古代毫无问题,但是现在可能会出现一个 skb 多次 host forwarding,就坏掉了。 比如 tproxy server 生产的流量如果直接路由走了,万事大吉,但是 Z 世代居然把流量路由给本地 veth 然后再走一次 host forwarding,这在 sysctl_tcp_early_demux=1 的情况下会被设置上 skb->sk 导致通不过 ip_forward() 检查。 还一个比一个难查,吐了。