8.13.8. 配置端口选择覆盖
传输帧的物理端口通常由团队驱动程序的内核部分选择,与用户或系统管理员无关。
使用所选团队模式(teamd
运行程序)的策略选择输出端口。但默认情况下,将特定类别的传出流量定向到某些物理接口以实施略为复杂的策略会很有帮助。默认情况下,团队驱动程序是 multiqueue aware,并在驱动程序初始化时创建 16 个队列。如果需要更多或更少的队列,则可以使用 Netlink 属性 tx_queues 在创建团队驱动程序实例期间更改此值。
端口的队列 ID 可以通过端口配置选项
queue_id
设置,如下所示:
{ "queue_id": 3 }这些队列 ID 可与 tc 实用程序结合使用,以配置多队列队列强制和过滤器,以抑制要传输在特定端口设备上的某些流量。例如,如果使用上述配置并希望强制绑定到
192.168.1.100
的所有流量都使用 enp1s0 在团队的输出设备中,以以下格式以 root
身份发出命令:
~]# tc qdisc add dev team0 handle 1 root multiq ~]# tc filter add dev team0 protocol ip parent 1: prio 1 u32 match ip dst \ 192.168.1.100 action skbedit queue_mapping 3这种覆盖运行程序选择逻辑的机制以便绑定到特定端口的流量可以用于所有运行程序。