Как использовать функцию ip6tables для дефрагментации фрагмента пакета ipv6? - PullRequest
0 голосов
/ 29 ноября 2018

Я использую следующие команды ip6tables для приема пакета ipv6, ip6tables -I INPUT 1 -p udp --dport 9999 -j ACCEPT

Однако если целевой пакет является фрагментированным пакетом, может быть получен только первый фрагмент, другой фрагмент пакета ipv6 будет отброшен.AFAIK, фрагментированные пакеты IPv4 будут повторно собраны перед входом в цепочку LOCAL_IN, поэтому есть ли команды для получения того же результата, что и iptables.Кстати, версия ядра: 3.4.39 заранее спасибо.

1 Ответ

0 голосов
/ 01 декабря 2018

Моя версия ядра v3.4.39, после прочтения исходного кода, оказывается, что эта версия не поддерживает повторную сборку фрагментированного пакета IPv6 перед входом в локальные цепочки netfilter, кроме того, модуль ipv6-conntrack выполняет повторную сборку фрагментов, но только conntrackМодуль может использовать собранный пакет.Я нашел патч, который исправил это: [* netfilter: протолкнуть reasm skb вместо оригинального фрагмента skbs *] (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6aafeef03b9d9ecf255f3a80ed85ee070260e1ae)

...