根据客户端IP使用不同的DNS与Squid

根据客户端IP使用不同的DNS与Squid

我有一个网络,其策略是某些客户端必须使用 openDNS 进行页面过滤,而某些客户端可以使用任何 DNS(例如 Google DNS)。我使用 Squid 以透明模式连接所有互联网。Squid 允许为所有请求定义 dns_nameservers,但有没有办法根据客户端的 IP 定义不同的 DNS 服务器?或者有没有除了 Squid 之外的合理方法,可以强制某些客户端使用 openDNS,而某些客户端使用 Google DNS,而无需过多改动客户端配置?我对某些客户端的访问权限受到限制。

答案1

每个客户端都配有 DNSMasq 的 DNS 服务器对于已经回答过的问题(或标记为重复,因为 dnsmasq 答案实际上与 squid 没有任何关系。)

使用 dnsmasq 作为 DHCP 服务器,为不同的客户端设置特定范围,例如:

dhcp-host=00:00:00:00:00:01,set:DNS1,192.168.0.1
dhcp-host=00:00:00:00:00:02,set:DNS1,192.168.0.2
dhcp-host=00:00:00:00:01:01,set:DNS2,192.168.0.11
dhcp-host=00:00:00:00:01:02,set:DNS2,192.168.0.12
dhcp-option=tag:DNS1,option:dns-server,8.8.8.8
dhcp-option=tag:DNS2,option:dns-server,8.8.4.4

相关内容