Debian不要通过L2TPv3转发多于mtu的l2tp虚拟接口

R3 – R1 – 互联网 – R90

R3:ip addr 10.123.0.3
R1:

sudo ip l2tp add tunnel tunnel_id 699 peer_tunnel_id 699 encap udp local 5.254.174.8 remote 5.254.174.90 udp_sport 699 udp_dport 699 sudo ip l2tp add session tunnel_id 699 session_id 699 peer_session_id 699 sudo ip link set l2tpeth0 up mtu 1446 sudo ip link add brvlan699 type bridge sudo ip link set l2tpeth0 master brvlan699 sudo vconfig add eth1 699 sudo ip link set eth1.699 master brvlan699 sudo ip link set brvlan699 up sudo ip a add 10.123.0.1/24 dev brvlan699 

R90:

 ip l2tp add tunnel tunnel_id 699 peer_tunnel_id 699 encap udp local 5.254.174.90 remote 5.254.174.8 udp_sport 699 udp_dport 699 ip l2tp add session tunnel_id 699 session_id 699 peer_session_id 699 ip link set l2tpeth0 up mtu 1446 ip link add brvlan699 type bridge ip link set l2tpeth0 master brvlan699 vconfig add eth1 699 ip link set eth1.699 master brvlan699 ip link set brvlan699 up ip a add 10.123.0.90/24 dev brvlan699 

所以我们有R1 10.123.0.1,R90 10.123.0.90,R3 10.123.0.3
每个主机可以ping每一个。 但R3-> R90或R90-> R3只能ping最大的ICMP报文大小1446作为mtu l2tpeth0接口。
为什么它不分片和发送更多的数据包? R1可以通过隧道发送甚至15000B的ICMP到R3或R90,而通过R1端到端只能ping 1446,更多的是超时。 如何优化mtu和mss值与这个隧道与内部vlan,以及如何使其工作更大的数据包与碎片?

http://wiki.openwrt.org/doc/howto/pseudowire

那里有你的东西:

L2TPv3的网桥包含具有不同MTU3的设备。 此外,由于连接桥接,不会发生路由,MTU也不会被路由器自动调整。 局域网内的所有设备通常使用1500的MTU,L2TPv3设备的MTU约为1400,由于隧道本身不能分片,所有大于MTU的报文都会丢失。 (…)为了解决桥接防火墙和使用TCP MSS Clamping的问题。 网桥防火墙意味着在数据包通过网桥时使用iptables规则。 通常情况下,这不应该起作用,因为一个网桥只能在第2层工作。但是,如果在内核中启用网桥防火墙,网桥可以在第2层以及第3层工作。