Linux tc 过滤器添加 - 错误 RTNETLINK 答案:不支持操作

Linux tc 过滤器添加 - 错误 RTNETLINK 答案:不支持操作

我正在进行网络模拟以在特定端口上创建一些流量,并尝试注入网络延迟。我正在使用 linux tc 实用程序来执行此操作。所以我是 tc 命令的新手,非常感谢您的帮助。

我尝试使用 tc filter 命令添加过滤器,它给出了“RTNETLINK 答案:不支持操作我们与内核对话时出错”

以下是我按特定顺序运行的命令,

  1. sudo /sbin/tc qdisc show

     qdisc mq 0: dev eth0 root 
     qdisc pfifo_fast 0: dev eth0 parent :1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
    
  2. 然后我使用以下命令添加延迟,

    sudo /sbin/tc qdisc add dev eth0 parent :1 netem delay 100ms

  3. 现在我可以看到并列出延迟

    sudo /sbin/tc qdisc show

     `qdisc mq 0: dev eth0 root `
     `qdisc netem 8006: dev eth0 parent :1 limit 1000 delay 100.0ms`
    
  4. 接下来我运行以下命令将过滤器添加到端口 7000

    sudo /sbin/tc filter add dev eth0 parent :1 protocol ip u32 match ip sport 7000 0xffff flowid 1:2

    RTNETLINK answers: Operation not supported We have an error talking to the kernel

  5. 您能帮我了解如何添加过滤器以匹配端口吗?

  6. 有没有办法不匹配,比如有没有办法在过滤器命令中排除特定端口

谢谢

相关内容