iptables를 사용하여 불투명 모드(3128)에서 DNS(tcp/udp) 요청을 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 -trunp | 그렙 오징어
참조: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: 이것은 DNS와 관련된 오징어 지시어의 예일 뿐입니다. 나는 그들이 내 목적에 부합한다고 주장하지 않습니다.
positive_dns_ttl
negative_dns_ttl
dns_nameservers 8.8.8.8 8.8.4.4
udp_incoming_address
이것이 불가능할 경우 대안을 받아들입니다.
답변1
Squid는 DNS 프록시가 아니며 DNS 요청을 수락하지 않습니다.
강조한 지시어에 대한 문서를 보면 이것이 내부 설정을 위한 것이며 외부 클라이언트 액세스와 아무 관련이 없다는 것이 매우 분명합니다.
마지막 문장/질문에 대한 명시적인 응답에서는 Squid가 DNS 트래픽을 프록시하지 않기 때문에 DNS 트래픽을 Squid 프록시로 보내는 대체 방법이 없습니다.
추가 읽기
나는 이것에 대해 좀 더 생각해 왔고 실제로 해결하고 싶은 문제가 무엇인지 추측하려고 노력했습니다. Squid가 DNS 요청을 프록시하지 않지만 모든 표준 DNS 서버가 이를 수행한다는 것을 알고 계십니까? 제가 인용할 수 있는 예로는 Dnsmasq와 Bind가 있습니다.