오징어 설정에 DNS 문제가 있습니다. 또한 dns_nameservers
DNS 서버를 가리키기 위해 squid.conf의 지시문을 사용해 보았습니다 . www.example.com은 인터넷으로 나가야 하지만 foo.example.com은 내부 도메인으로 가야 하는 시나리오가 있습니다. 내 클라이언트에서 foo.example.com을 ping하려고 하면 올바른 IP를 선택하지만 브라우저에 다음 오류가 표시됩니다.
Unable to determine IP address from hostname foo.example.com
The DNS server returned:
Name Error: The domain name does not exist
내 클라이언트가 올바른 IP를 가리키고 있다는 것을 알고 있지만(ping이 잘 작동하기 때문에) squid가 공개 example.com에 연결을 시도하는 이유가 궁금합니다.
답변1
내가 읽은 문서에 따르면 Squid는 기본적으로 /etc/resolv.conf 파일에서 이름 서버를 선택한다고 합니다. 그러나 그것은 나에게 효과가 없었습니다. OS(Debian) 자체에서 IP를 해결할 수 있었지만 오징어가 불평을 했습니다. 다음과 같이 변경하여 작동하게 했습니다:
/etc/nsswitch.conf:
hosts: files dns
/etc/hosts:
<ip_of_server> foo.example.com
나는 아직도 squid가 /etc/resolv.conf에서 이름 서버를 선택하지 못하는 이유를 알아내려고 노력 중입니다.
답변2
클라이언트는 어떤 DNS 서버를 사용하고 있습니까? 클라이언트가 문제를 올바르게 해결할 수 있다는 사실은 오징어에 거의 영향을 미치지 않습니다.
프록시를 사용할 때 서버는 DNS 확인을 수행하므로 클라이언트의 DNS 확인은 중요하지 않습니다. 단지 프록시의 주소를 확인할 수 있으면 됩니다.
오징어 서버에서 foo.example.com을 핑할 수 있습니까? 그렇지 않은 경우 클라이언트와 서버는 서로 다른 DNS 서버를 사용해야 합니다. 그렇지 않으면 해당 영역에 대해 서로 다른 보기가 제공됩니다.