我正在使用pytun设置一个 TUN 并将到达它的数据包转发到使用 UDP 的另一台机器。令我不解的是,即使我已将 TUN 配置为具有 141 字节的 MTU,我仍在读取大小为 145 的数据包。请看下面的代码:
from pytun import TunTapDevice
tun = TunTapDevice(name="vpn")
tun.addr = '10.8.0.1'
tun.dstaddr = '10.8.0.2'
tun.netmask = '255.255.255.0'
tun.mtu = 141
tun.up()
assert len(tun.read(1000)) <= tun.mtu # <-- fails for some packets
我已经使用 . 验证了接口的实际 MTU ifconfig
。
我错过了什么吗?