Можно ли перенаправить запросы DNS (tcp/udp) на прокси-сервер Squid в непрозрачном режиме (3128) с помощью iptables? (Поймет ли это прокси-сервер Squid и обработает ли его?)
пример правила для перенаправления TCP 53 (может быть и другое похожее):
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 53 -j REDIRECT --to-port 3128
пример правила для перенаправления udp 53 (может быть и другое похожее):
Примечание: Squid «слушает» высокий порт udp. пример: 36352, команда: netstat -tlunp | grep squid
ссылка:http://linuxplayer.org/2012/02/why-squid-listen-on-high-udp-port-number
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p udp --dport 53 -j REDIRECT --to-port 36352
PD: Это всего лишь примеры директив squid, связанных с DNS. Я не утверждаю, что они служат моим целям:
positive_dns_ttl
negative_dns_ttl
dns_nameservers 8.8.8.8 8.8.4.4
udp_incoming_address
Если это невозможно сделать, я принимаю альтернативы.
решение1
Squid не является DNS-прокси и не принимает DNS-запросы.
Если взглянуть на документацию по выделенным вами директивам, то становится ясно, что они предназначены для внутренних настроек и не имеют ничего общего с внешним клиентским доступом:
В ответ на ваше последнее предложение/вопрос: не существует альтернативных способов направить DNS-трафик на прокси-сервер Squid, поскольку Squid не проксирует DNS-трафик.
дальнейшее чтение
- Может ли Squid пересылать DNS-запросы на DNS-сервер?
- Настройка явного прокси-сервера Squid — конфигурация DNS
- Squid Proxy: DNS-запросы
Я думал об этом еще немного и пытался угадать проблему, которую вы на самом деле хотите решить. Вы понимаете, что хотя Squid не проксирует DNS-запросы, все стандартные DNS-серверы делают это? Примеры, которые я могу привести, включают Dnsmasq и Bind.