Использование разных DNS с Squid на основе клиентского IP

У меня есть сеть с политикой, в которой некоторым клиентам приходится использовать openDNS для фильтрации страниц, а некоторым разрешен любой DNS (например, Google DNS). Я использую Squid в прозрачном режиме для всех подключений к интернету. Squid позволяет определять dns_nameservers для всех запросов, но есть ли способ определить разные DNS-серверы на основе IP-адреса клиента? Или есть ли какой-то разумный способ, кроме Squid, заставить некоторых клиентов использовать openDNS, а некоторые, например, использовать Google DNS, не затрагивая конфигурацию клиента? У меня ограниченный доступ к некоторым клиентам.

1 ответ

Решение

См. DNS-серверы для каждого клиента с DNSMasq для ответа на уже заданный вопрос (или пометьте его как дубликат, поскольку ответ 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
Другие вопросы по тегам