我设置了一个 netfilter 规则,使用统计模块的随机模式和一些 NAT 规则来平衡 DNS 请求。该部分运行良好,但是当 DNS 客户端从同一源端口发送其所有请求时,所有 DNS 请求都被平衡到同一后端服务器。
我假设发生这种情况是因为连接跟踪将所有 UDP 数据包识别为同一 UDP 连接的一部分。我找不到一个简单的解决方法,有吗?
在没有的情况下,我将不得不编写一些代码来让事情按照我的意愿行事。这样做的正确方法是什么?
我的第一个想法是创建类似于 ip_conntrack_ftp 的东西,它使用 ip source/dest 以及 DNS 序列号来识别 DNS 连接。