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