有没有办法强制IP数据包碎片进入tun0之前,然后强制重装在tun设备的另一端?
我有一些我无法控制的IPSecstream量,它需要1500 MTU,并且只能在tun设备上丢弃。
我想可能会将stream量封装到TCPstream中,然后将stream重新组装成数据包 – 但是由于各种原因绝不是如何工作的。 所以我想知道是否有办法强制在Linux操作系统级别的至less一些匹配的数据包碎片和重组?
你有没有尝试过
ip link set mtu xxx dev tun0
xxx是你认为合适的吗?
编辑 :
你可能想看看这个 :这家伙有一个类似于你的问题,
一段时间后我也有同样的问题。 我的上行链路不通过tcp-packets whith = = 20的长度超过1496字节。 我通过在所有outgo = ing = 20个TCP数据包中清除DF位来解决这个问题。 Linux默认情况下不允许清除Df-bit,而且我写了small = 20内核模块和补丁以清除DF位的iptables。
使用:在传出数据包上清除DF:
iptables -t mangle -A POSTROUTING -j DF --clear
对传入数据包的干净的DF:
iptables -t mangle -A PREROUTING -j DF --clear
而且还有其他的iptables选项。
他的代码的参考是死的,但你可以尝试写他,[email protected]。