Squid und DNS Fehlermeldung

Post Reply
Message
Author
User avatar
heinrich
Posts: 219
Joined: 22. Sep 1999 11:22
Location: N49.137 E8.544

Squid und DNS Fehlermeldung

#1 Post by heinrich »

In unregelmässigen Abständen kann SQUID eine DNS nicht auflösen. Wenn man den Host der von SQUID nicht aufgelöst werden kann auf dem Server aber anpingt oder per dnslookup abfragt kann diese sehr wohl aufgelöst werden. Nur eben wenn jemand aus dem LAN über SQUID ins Internet geht kommt halt nur eine Fehlermeldung im Browser <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">

Daraufhin habe ich in der /etc/squid.conf die dns-optionen eingeschaltet in der Hoffnung dass das Problem verschwindet:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
...
# TAG: cache_dns_program
# Specify the location of the executable for dnslookup process.
#
cache_dns_program /usr/sbin/dnsserver

# TAG: dns_children
# The number of processes spawn to service DNS name lookups.
# For heavily loaded caches on large servers, you should
# probably increase this value to at least 10. The maximum
# is 32. The default is 5.
#
# You must have at least one dnsserver process.
#
#dns_children 5

# TAG: dns_retransmit_interval
# Initial retransmit interval for DNS queries. The interval is
# doubled each time all configured DNS servers have been tried.
#
...
</font><hr></pre></blockquote>

aber jetzt kommt beim Stoppen von SQUID die Fehlermeldung:

<blockquote><hr>
router:/etc # /etc/init.d/squid start
Starting WWW-proxy squid [done]
router:/etc # /etc/init.d/squid stop
Shutting down WWW-proxy squid 2002/02/10 21:42:44 | parseConfigFile: line 610 unrecognized: 'cache_dns_program /usr/sbin/dnsserver' [done]
router:/etc # /etc/init.d/squid start
Starting WWW-proxy squid [done]
router:/etc #
<hr></blockquote>

Warum kommt hier "parseConfigFile: line 610 unrecognized" ? Die Zeile scheint korrekt eingetragen zu sein. Auch in diversen Internet-Webseiten zum Thema SQUID wird die Zeile in der Art eingetragen ?!

Kann ich die Fehlermeldung ignorieren -- oder ist das gar keine Fehlermeldung ?

Löst diese Option auch das Problem mit dem fehlgeschlagenen DNS-Lookup oder habe ich da ein anderes Problem ?

Ach ja:
SuSE GNU/Linux 7.3 Prof.
+ lokaler DNS (incl. forwarding auf Provider DNS-Server bei Auflöseprob's)
It just works.

gewitter
Posts: 1354
Joined: 09. Apr 2001 9:03

Re: Squid und DNS Fehlermeldung

#2 Post by gewitter »

"cache_dns_program /usr/sbin/named"

wenn schon, dann auch einen existierenden dns angeben. poste doch mal deine named.conf

User avatar
heinrich
Posts: 219
Joined: 22. Sep 1999 11:22
Location: N49.137 E8.544

Re: Squid und DNS Fehlermeldung

#3 Post by heinrich »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
# FILE: /etc/squid.conf
http_port 3128
cache_mem 8 MB
maximum_object_size 4096 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
cache_dir ufs /var/squid/cache 100 16 256
cache_access_log /var/squid/logs/access.log
cache_log /var/squid/logs/cache.log
cache_store_log /var/squid/logs/store.log
pid_filename /var/run/squid.pid
ftp_user Squid@
#
# TAG: cache_dns_program
# Specify the location of the executable for dnslookup process.
#
# cache_dns_program /usr/sbin/dnsserver <--- das hier mag der SQUID scheinbar gar nicht ??
#
redirect_program /usr/bin/squidGuard
redirect_children 5
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
negative_ttl 5 minutes
positive_dns_ttl 6 hours
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
icp_access allow all
miss_access allow all



# FILE: /etc/named.conf

options {
directory "/var/named";
forwarders { 194.246.96.79; };
listen-on port 53 { 127.0.0.1; 192.168.0.250; };
listen-on-v6 { any; };
allow-query { 127.0/16; 192.168.0/24; };
notify no;
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "." in {
type hint;
file "root.hint";
};
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret hYYmKOoO98aJ1X2xoCdw2g==;
};
zone "0.168.192.in-addr.arpa" in {
type master;
file "192.168.0.zone";
allow-update { key DHCP_UPDATER; };
};
zone "linux.home" in {
type master;
file "linux.home.zone";
allow-update { key DHCP_UPDATER; };
};
</font><hr></pre></blockquote>
It just works.

User avatar
heinrich
Posts: 219
Joined: 22. Sep 1999 11:22
Location: N49.137 E8.544

Re: Squid und DNS Fehlermeldung

#4 Post by heinrich »

> wenn schon, dann auch einen existierenden dns angeben
Ich /habe/ einen existierenden DNS angegeben !

Wenn Squid eine DNS nicht auflösen kann und ich dann nslookup aufrufe wird die DNS sehr wohl aufgelöst -- nur scheint Squid ab und zu zu "vergessen" dass man zur DNS Auflösung den DNS-Server befragen sollte ?!

Wie gesagt habe ich gedacht dass ich mit der Anweisung
cache_dns_program /usr/sbin/dnsserver
in der /etc/squid.conf den SQUID dazu bringen kann auf jeden Fall den DNS zu befragen. Aber scheinbar mag mein SQUID genau diesen Eintrag nicht in seiner Config (parseConfigFile: line 610 unrecognized: 'cache_dns_program /usr/sbin/dnsserver') obwohl er genau so in der Beispiel-Squid.conf drin steht. Das Programm /usr/sbin/dnsserver ist auch in genau jenem Pfad verfügbar.
It just works.

barnie

Re: Squid und DNS Fehlermeldung

#5 Post by barnie »

Hallo!

Ich habe ein ganz ähnliches Problem: Bei mir liegt es vermutlicht daran, dass die Verbindung mit dem Internet automatisch aufgebaut wird, wenn Traffic nach draußen will. Dann steht, vermute ich, als Absender IP-Adresse noch die Pseudo-Adresse für ippp0 im Paket. Der fremde Nameserver erhält die Anfrage und versucht zu antworten; da aber die 192.168.X.X Adressen, zu denen auch diese Pseudo-Adresse in der Regel gehört, im Internet nicht durchgeroutet werden geht das Antwort Paket verloren. Ich konnte in Bezug auf Squid keine Probleme ausmachen; im Gegenteil ... wenn Squid einen Namen mal kennt, dann funktionieren dessen Zugriffe nach draußen auch bei vorher geschlossener Verbindung sofort, weil der Kernel die Absender-Adresse auf die richtige verbiegt (lässt sich an entsprechenden syslog Einträgen belegen). Bei den Nameserveranfragen tut er allerdings nicht ... die gehen dann verloren.
Fazit:
Offensichtlicht benutzt BIND eine grundsätzlich andere Methode, um Pakete ans Internet zu schicken, als Squid. Verstehen muss man das nicht (Vielleicht ist ja auch alles ganz anders. Meine Vermutung basiert nur auf Indizien)

Wenn du auch mit automatischer Verbindung arbeitest, dann probier doch mal etwas:
Warte mal bis die Verbindung sich beendet hat und frage dann auf dem Server mit "nslookup www.irgedwas.de" mal nach einer Adresse, die der Nameserver vermutlich nicht im Cache hat, also eine, die du in den letzten Tagen noch nicht probiert hast. Wenn nach einigen Sekunden "host/domain nicht gefunden" kommt, dann haben wir das gleiche Problem.

Bei mir hilft im Moment nur viel Geduld beim Eingeben von Internet-Adressen irgendwann versucht es BIND dann erneut und greift dabei auf die bestehende Verbindung zu, was dann natürlich funktioniert.

Post Reply