Linux: network: IPv6: ESP: UDP checksum error 一例
文章目录
- 问题
- 分析
- 解决方法
问题
最近遇到一个问题,操作系统的内核版本是:3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
使用的是virtio-net虚拟网卡,设置网卡的MTU-1500,配置IP6的地址,用ESP加密UDP包,如果UDP内部数据的len是1451,发出去的包会被分片,而且发出去的包里UDP包头的checksum值是错误的。
src=2:d🅰️1::1
dst=2:d🅰️1::6
ip xfrm state add src ${src} dst ${dst} proto esp spi 3586130179 sel src ${src} dst ${dst} sport 52812 dport 5201 reqid 3586130179 mode transport aead ‘rfc4543(gcm(aes))’ 0xf8b16521344de6dacb9b44522f107e4c9b4d34c0 128
ip xfrm policy add src ${src} dst ${dst} sport 52812 dport 5201 dir out tmpl src ${src} dst ${dst} proto esp reqid 3586130179 mode transport