Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel Linux Netfilter:在碎片整理之前将数据包排队到用户空间_Linux Kernel_Iptables_Netfilter_Ip Fragmentation - Fatal编程技术网

Linux kernel Linux Netfilter:在碎片整理之前将数据包排队到用户空间

Linux kernel Linux Netfilter:在碎片整理之前将数据包排队到用户空间,linux-kernel,iptables,netfilter,ip-fragmentation,Linux Kernel,Iptables,Netfilter,Ip Fragmentation,问题是:在碎片整理之前,如何使用netfilter NFQUEUE将数据包排队到用户空间 根据,nf\u碎片整理\u ipv4安装在nf\u INET\u PRE\u ROUTING(在iptables/nftables中称为PREROUTING)和nf\u INET\u LOCAL\u OUT(输出)中 因此,我尝试了以下反碎片整理nftables过滤器(原始:)用于NF\u INET\u LOCAL\u OUT,但仍然得到碎片整理的数据包 sudo nft add table filter

问题是:在碎片整理之前,如何使用netfilter NFQUEUE将数据包排队到用户空间

根据,
nf\u碎片整理\u ipv4
安装在
nf\u INET\u PRE\u ROUTING
(在iptables/nftables中称为PREROUTING)和
nf\u INET\u LOCAL\u OUT
(输出)中

因此,我尝试了以下反碎片整理nftables过滤器(原始:)用于
NF\u INET\u LOCAL\u OUT
,但仍然得到碎片整理的数据包

sudo nft add table filter
sudo nft add chain filter predefrag { type filter hook output priority -- -450 \; }
sudo nft add filter predefrag skuid nfqhooked counter queue num 42
在上面的过滤器中,
-450
表示在
NF\u IP\u PRI\u CONNTRACK\u DEFRAG=-400之前的优先级。i、 例如,过滤器应在
nf\u defrag\u ipv4
之前工作


我正在使用Linux 3.19(Ubuntu 15.04)和libnetfilter_queue.so.1,我自己解决了这个问题

我误解了netfilter处理的TCP重组实际上是由“TCP自动塞塞”处理的

现在,我只需将
0
写入
/proc/sys/net/ipv4/tcp\u自动标记
,就可以获得碎片化(即非软木塞)数据包


我自己刚决定

我误解了netfilter处理的TCP重组实际上是由“TCP自动塞塞”处理的

现在,我只需将
0
写入
/proc/sys/net/ipv4/tcp\u自动标记
,就可以获得碎片化(即非软木塞)数据包