netfilter: bridge: forward IPv6 fragmented packets
Issue
IPv6 断片化パケットが、netfilter ip6_tables がロードされている Ethernet ブリッジには転送されません。以下は再現手順になります。
1) 以下のような単純なブリッジを作成します。
modprobe br_netfilter
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth2
ifconfig eth0 up
ifconfig eth2 up
ifconfig br0 up
2) ブリッジの片方に IPv6 アドレスを設定したホストを配置します。
ホスト A で IPv6 アドレスを設定:
ip -6 addr add fd01:2345:6789:1::1/64 dev eth0
ホスト B で IPv6 アドレスを設定:
ip -6 addr add fd01:2345:6789:1::2/64 dev eth0
3) 以下の ping コマンドを、MTU より大きなパケットを持つ host A で実行します。
ping6 -s 4000 fd01:2345:6789:1::2
4) 少し待ってから、ブリッジで、たとえば "ip6tables -t nat -nvL
" コマンドを実行します。
"ip6tables -t nat -nvL
" のコマンドを実行するまでは、IPv6 断片化パケットがブリッジを適切に通ります。このコマンドが実行(つまり、netfilter モジュールがロード)されると直に 、IPv6 断片化パケットがブリッジを通らなくなります。(ping の出力で反応がなくなります。)
Environment
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux OpenStack
- kernel
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.