使用tc过滤器...匹配时是否可以匹配多个IP地址?

使用tc过滤器...匹配时是否可以匹配多个IP地址?

我想要match4 个 IP 地址作为使用时的src其他 4 个 IP 地址作为dsttc filter

我确实知道我可以使用子网,match但不幸的是我的地址没有形成子网,而是有不同的 IP 地址。

我有一个工作脚本,其中 1 个 IP 地址为src1 个 IP 地址为dst

export IF=enp0s8
export IP1=10.1.2.11
export IP2=10.1.2.15

tc qdisc del dev $IF root

tc qdisc add dev $IF root handle 1:0 htb
tc class add dev $IF parent 1:0 classid 1:1 htb rate 20mbit 

tc filter add dev $IF protocol ip parent 1:0 prio 1 u32 match ip dst $IP1/32 match ip src $IP2/32 flowid 1:1
tc filter add dev $IF protocol ip parent 1:0 prio 1 u32 match ip dst $IP2/32 match ip src $IP1/32 flowid 1:1

因为我有 4 个src和 4 个dstIP 地址,所以我可以通过添加总共 32 行来完成任务,tc filter...但我不确定是否有更有效的方法。

我尝试用谷歌搜索match语法但没有成功。作为猜测,我尝试过但没有成功:

export IPGROUP1=10.1.2.11, 10.1.2.12, 10.1.2.13, 10.1.2.14
export IPGROUP2=10.1.2.15, 10.1.2.16, 10.1.2.17, 10.1.2.18

tc filter add dev $IF protocol ip parent 1:0 prio 1 u32 match ip dst $IPGROUP1 match ip src $IPGROUP2 flowid 1:1
tc filter add dev $IF protocol ip parent 1:0 prio 1 u32 match ip dst $IPGROUP2 match ip src $IPGROUP1 flowid 1:1

相关内容