我想要match
4 个 IP 地址作为使用时的src
其他 4 个 IP 地址作为dst
tc filter
我确实知道我可以使用子网,match
但不幸的是我的地址没有形成子网,而是有不同的 IP 地址。
我有一个工作脚本,其中 1 个 IP 地址为src
1 个 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 个dst
IP 地址,所以我可以通过添加总共 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