因为我需要在 docker 容器的传输层中使用 esp,所以我想禁用 docker 容器中的 tcp 校验和验证。有什么办法可以实现吗?
如果没有,我是否可以在软件包被丢弃之前将其交给自定义 netfilter 模块以更正校验和?例如,为了更正传出的软件包,我使用了:
sudo iptables -t mangle -A POSTROUTING -p tcp -j NFQUEUE
然后在 esp 加密发生之前简单地编写一个自定义钩子来纠正校验和。
但是,我对收到的包裹也进行了同样的尝试:
sudo iptables -t mangle -A PREROUTING -p tcp -j NFQUEUE
并且从未看到任何包到达 NFQUEUE,因此我推测它们在到达队列之前就被丢弃了,因为校验和不正确。有什么方法可以防止这种情况发生吗?